NetSuite SuiteScript v1/v2 linting rules for ESLint
npm i -D eslint eslint-plugin-suitescriptRequires eslint@>=9. Users on eslint@<9 (or .eslintrc.* configs with eslint@^9) should stay on eslint-plugin-suitescript@^1.
Create eslint.config.js (or eslint.config.mjs) in your project root:
import suitescript from 'eslint-plugin-suitescript';
export default [
...suitescript.configs.recommended,
// optional: enable SuiteScript 2.x globals (`log`, `util`)
...suitescript.configs.suitescript2,
// or 1.0 globals (`nlapi*`, `nlobj*`)
// ...suitescript.configs.suitescript1,
];Or wire rules manually:
import suitescript from 'eslint-plugin-suitescript';
export default [
{
plugins: { suitescript },
rules: {
'suitescript/script-type': 'error',
'suitescript/no-log-module': 'error',
},
},
];See the upgrade guide for details on upgrading the package to a new major version.
- suitescript/api-version: Enforces valid
@NApiVersiontag values - suitescript/entry-points: Enforces inclusion of at least one entry point based on
@NScriptType - suitescript/log-args: Enforces correct log arguments
- suitescript/module-vars: Enforces correct module identifiers for each configured module
- suitescript/no-invalid-modules: Enforces valid SuiteScript modules in
definearray - suitescript/no-log-module: Restricts loading of the N/log module in favor of global
log - suitescript/script-type: Enforces valid
@NScriptTypetag values
eslint-plugin-suitescript is licensed under the MIT License.