Like other JavaScript runtimes, Suite.js is designed for running JavaScript outside of a Web browser.

What makes Suite.js different is its NetSuite integration support.

It provides APIs for integrating with NetSuite via SuiteTalk REST, RESTlets (including SuiteAPI), and SuiteAnalytics Connect.

Suite.js is especially helpful when it comes to developing apps that automate batch-like, input/output intensive NetSuite processes.

For example, Suite.js has been used to develop:
• An app that uses SuiteAPI to generate and download PDFs of recent NetSuite sales orders, and then uploads the PDFs to an Amazon S3 bucket.
• An app that manages and monitors a large number of shipments that have been made to fulfill orders in NetSuite. It tracks the packages, and sends shipped and delivered notifications when applicable.
• An app that retrieves new orders that have been placed via a third-party ecommerce system, and loads the orders into NetSuite.
• An app that queries NetSuite to get current inventory levels and pricing for all active inventory items, uses that data to generate an Excel file, and then uploads that file to an FTP server so that customers can download it.

How It Works

Hello, NetSuite.

To use Suite.js, you run the app from the command line, and specify a JavaScript file that you'd like it to interpret.

Suppose that you have a file named "hello-netsuite.js" that contains the following JavaScript code.

writeln( "Hello, NetSuite." );

To interpret the file, you run this command.

./suitejs hello-netsuite.js

Suite.js will interpret the contents of the file and display the following output.

Hello, NetSuite.

To see a "real world" example of a Suite.js app, click here.

Technical Information

Suite.js is a cross-platform console application that can be run on macOS, Windows, and Linux-based computers.

Suite.js is written in Xojo (a popular rapid application development platform), and is powered by Duktape (an embeddable Javascript engine).

Suite.js supports ECMAScript E5/E5.1, and partially supports ECMAScript 2015 (E6) as well as ECMAScript 2016 (E7).

It also supports JavaScript modules based on the CommonJS modules specification.

Functional Overview

Suite.js supports ECMAScript E5/E5.1, and partially supports ECMAScript 2015 (E6) as well as ECMAScript 2016 (E7). It also extends JavaScript with functions and APIs that developers need, including:

• Amazon S3 integration

• Command line arguments

• Encoding (base64Encode, base64Decode)

• Encryption (sha256, sha512, md5)

• Environment variables

• Filesystem API (appendFile, readFile, writeFile, validateFile, validateFolder)

• Heredoc

• Includes

• Modules (via CommonJS)

• NetSuite integration (SuiteTalk REST, RESTlets, SuiteAPI, and SuiteAnalytics Connect)

• Regular expressions

• Source file encryption via AES-256.

Suite.js is coming soon.

Public beta testing is scheduled to begin in early July 2024.

© 2024 Tim Dietrich.