SuiteScript 2.1: Compatible Build-Time and Runtime Libraries

For developers working within the SuiteScript environment, it is most efficient to start with a curated list of known compatible third-party libraries. These libraries have been tested and verified to work seamlessly within the SuiteScript ecosystem, ensuring that developers can integrate them into their projects with confidence. By choosing from a vetted selection, developers can save time, reduce the potential for integration issues, and ensure that the software they build is as reliable and efficient as possible.

Build-Time Compatible Libraries (devDependencies)

Build-time libraries, also known as development dependencies, are instrumental during the software development phase. These libraries are not included in the final production code but are essential for various pre-deployment tasks, aiding developers to compile, optimize, and package their SuiteCloud projects effectively.

Think of build-time libraries as your comprehensive developer toolkit, enabling a range of functions:

  • Minification: To enhance project size and performance, build-time libraries can minify your code. This process eliminates redundant characters and formatting, thereby reducing file size and improving load times without altering functionality. Examples of such libraries include Webpack, gulp-uglify, and ESBuild.
  • Dependency Management: Handling a multitude of dependencies in a project can be daunting. Package managers like npm can automate the process of installing, managing, and versioning required libraries to streamline the build process, thus ensuring a more efficient deployment.
  • Transpilation: For projects utilizing advanced JavaScript features that the runtime environment does not natively support, build-time libraries such as @babel/core are capable of transpiling the syntax into a version compatible with the target environment, enabling flawless execution.

Note: SuiteScript 2.1 supports the latest JavaScript features natively. However, should you opt to use TypeScript for its static typing and other advanced features, transpilation will be necessary to convert TypeScript into plain JavaScript syntax for execution.

Here are some benefits of using build-time compatible libraries:

  • Reduce runtime errors and improve the overall reliability of your project.
  • Reduce time spent troubleshooting integration problems.
  • Automate unit tests for specific parts of your SuiteScript functionality.

Here’s a list of build-time compatible libraries that specifically work with SuiteCloud projects:

Built for NS

Library

Description

Category

Yes

@oracle/suitecloud-unit-testing

Framework for writing unit tests for SuiteScript code

Testing

 

jest

Framework to simplify and automate the testing process

Testing

Yes

@hitc/netsuite-types

Types for SuiteScript objects and methods

Development

 

eslint

Linter for code quality and adherence to coding standards

Development

 

prettier

Code formatter for consistent style and readability

Development

 

typescript

Language with improved code organization and maintenance

Development

 

typedoc

TypeScript documentation generator

Documentation

 

webpack, webpack-cli

Module bundler to manage dependencies into a single file

Build Automation

 

babel

Compiler core and presets for modern code compatibility

Build Automation

 

gulp

Task runner for build automation

Build Automation

SuiteScript Runtime Compatible Libraries (Dependencies)

Runtime libraries are essential components in supporting software execution. They provide crucial functions for tasks like input/output operations, memory management, and interaction with hardware. These libraries ensure that software operates effectively and efficiently within its runtime environment. In SuiteScript, these libraries, also known as dependencies, are bundled in the final deployed script, and executed within the NetSuite environment. This eliminates the need for separate installations or configurations, simplifying the deployment process.

Here is a summary of the benefits when using runtime-compatible libraries:

  • Enhance software efficiency by providing optimized pre-compiled code.
  • Ensure stability through widespread testing and usage.
  • Expedite development by handling core functionalities, saving time, and reducing the risk of errors.

Here’s a list of run-time compatible libraries that are known to work with SuiteCloud projects:

Built for NS

Library

Description

Category

Yes

netsuite-fasttrack-toolkit-ss2

Framework for writing SuiteScript that scales

Development

 

d3.js

Data visualization framework for interactive data visualizations on the web

Data Visualization

 

bootstrap

Front-end framework with prestyled components and utilities

UI Framework

 

sweetalert2

Modals and alerts

UI Component

 

xlsx

Excel file manipulation

Utility

 

zod

Runtime validation for performant and convenient value validation

Utility

 

lodash

Efficient data manipulation (arrays, numbers, objects, strings, etc.)

Utility

 

luxon

Date and time manipulation (immutable)

Utility

 

jquery

DOM manipulation and event handling

Utility

 

underscore

Functions for common programming tasks

Utility

 

bignumber.js

Big numbers—arbitrary-precision decimal numbers

Utility

 

core-js

Standard library polyfills for modern features on older environments

Utility

 

glob

File path matching

Utility

 

immutable

Immutable data structures for JavaScript

Utility

Leave a comment

Your email address will not be published. Required fields are marked *