170 lines
7.4 KiB
JSON
170 lines
7.4 KiB
JSON
{
|
|
"name": "sonarjs",
|
|
"version": "1.0.0",
|
|
"description": "SonarJS code analyzer",
|
|
"scripts": {
|
|
"format": "prettier --write .",
|
|
"check-format": "prettier --list-different .",
|
|
"build": "mvn clean && npm run bridge:build && npm run _:plugin:prepare-bridge && npm run plugin:build",
|
|
"build:cov": "mvn clean && npm run bridge:build:cov && npm run _:plugin:prepare-bridge && npm run plugin:build",
|
|
"build:fast": "npm run bridge:build:fast && npm run _:plugin:prepare-bridge && npm run plugin:build:fast",
|
|
"bf": "npm run build:fast",
|
|
"new-rule": "tsx tools/new-rule.mts",
|
|
"generate-meta": "tsx tools/generate-meta.ts",
|
|
"generate-java-rule-classes": "tsx tools/generate-java-rule-classes.ts",
|
|
"ruling": "tsx --tsconfig packages/tsconfig.test.json --test packages/ruling/projects/*.ruling.test.ts",
|
|
"ruling-sync": "rsync -avh packages/ruling/actual/jsts/ its/ruling/src/test/expected/jsts/ --delete",
|
|
"bridge:compile:ts5": "tsc -b packages && npm run _:bridge:copy-protofiles",
|
|
"bridge:compile": "tsgo -p packages/tsconfig.app.json && tsgo -p packages/tsconfig.test.json && npm run _:bridge:copy-protofiles",
|
|
"bridge:test": "tsx --tsconfig packages/tsconfig.test.json --test --test-concurrency=4 --test-reporter=spec --test-reporter-destination stdout \"packages/*/src/rules/*[!node_modules]/**/*.test.ts\" \"packages/**/tests/**/*.test.ts\"",
|
|
"bridge:test:js": "tsx tools/copy-test-resources.ts && node --test --enable-source-maps --test-concurrency=4 --test-reporter=spec --test-reporter-destination stdout \"lib/*/src/rules/*[!node_modules]/**/*.test.js\" \"lib/**/tests/**/*.test.js\"",
|
|
"bridge:test:cov": "cross-env 'NODE_OPTIONS=--import ./tools/nyc-esm-hook-loader.js' nyc npm run bridge:test:js",
|
|
"bridge:bundle": "node esbuild.mjs",
|
|
"bridge:build": "npm run bridge:build:fast && npm run bridge:test",
|
|
"bridge:build:cov": "npm run bridge:build:fast && npm run bridge:test:cov",
|
|
"bridge:build:fast": "npm run _:bridge:clear && npm run generate-meta && npm run bridge:compile",
|
|
"bbf": "npm run bridge:build:fast",
|
|
"plugin:build": "mvn install",
|
|
"plugin:build:fast": "mvn install -DskipTests",
|
|
"pbf": "npm run plugin:build:fast",
|
|
"prepare": "husky",
|
|
"precommit": "pretty-quick --staged",
|
|
"postinstall": "patch-package",
|
|
"count-rules": "tsx tools/count-rules.ts",
|
|
"_:bridge:copy-protofiles": "cpy --flat packages/jsts/src/parsers/estree.proto lib/jsts/src/parsers",
|
|
"_:bridge:clear": "rimraf --glob lib/*",
|
|
"_:plugin:prepare-bridge": "npm run bridge:bundle && npm pack --ignore-scripts && npm run _:plugin:copy-bridge",
|
|
"_:plugin:copy-bridge": "cpy sonarjs-1.0.0.tgz sonar-plugin/sonar-javascript-plugin/target/classes && cpy sonarjs-1.0.0.tgz sonar-plugin/standalone/target/classes",
|
|
"eslint-plugin:build": "npm ci && npm install --no-save builtin-modules@3.3.0 && npm run eslint-plugin:compile && cd lib && npm pack",
|
|
"eslint-plugin:compile": "npm run generate-meta && npm run _:bridge:clear && npm run eslint-plugin:check && npm run eslint-plugin:emit && npm run eslint-plugin:types && npm run eslint-plugin:package-json && npm run eslint-plugin:copy-assets && npm run eslint-docs",
|
|
"eslint-plugin:check": "tsc -p tsconfig-plugin.json --noEmit",
|
|
"eslint-plugin:emit": "tsc -p tsconfig-plugin.json --noCheck --module commonjs --moduleResolution node --outDir lib/cjs",
|
|
"eslint-plugin:types": "tsc -p tsconfig-plugin.json --declaration true --emitDeclarationOnly --outDir lib/types",
|
|
"eslint-plugin:package-json": "node generate-eslint-package-json.mjs",
|
|
"eslint-plugin:copy-assets": "cpy LICENSE.txt lib/ --rename LICENSE && cpy packages/jsts/src/rules/README.md lib/ --flat",
|
|
"eslint-docs": "rimraf --glob lib/docs/*.md && eslint-doc-generator lib --init-rule-docs && tsx tools/generate-external-rules-docs.ts",
|
|
"deploy-rule-data": "tsx tools/deploy-rule-data.ts",
|
|
"license-regeneration": "node license-management.mjs",
|
|
"docker:build": "npm run bridge:bundle && docker build -t sonarjs:latest .",
|
|
"docker:run": "docker run -p 3000:3000 sonarjs:latest"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/SonarSource/SonarJS.git"
|
|
},
|
|
"license": "LGPL-3.0-only",
|
|
"bugs": {
|
|
"url": "https://community.sonarsource.com/"
|
|
},
|
|
"homepage": "https://github.com/SonarSource/SonarJS#readme",
|
|
"engines": {
|
|
"node": "^20.12.0 || ^22.11.0 || ^24.0.0"
|
|
},
|
|
"type": "module",
|
|
"devDependencies": {
|
|
"@eslint/core": "1.0.0",
|
|
"@inquirer/prompts": "8.0.2",
|
|
"@istanbuljs/esm-loader-hook": "0.3.0",
|
|
"@types/babel__preset-env": "7.10.0",
|
|
"@types/bytes": "3.1.5",
|
|
"@types/estree": "1.0.8",
|
|
"@types/estree-jsx": "1.0.5",
|
|
"@types/express": "5.0.6",
|
|
"@types/functional-red-black-tree": "1.0.6",
|
|
"@types/lodash.merge": "4.6.9",
|
|
"@types/node": "22.19.1",
|
|
"@types/semver": "7.7.1",
|
|
"@types/tmp": "0.2.6",
|
|
"@types/ws": "8.18.1",
|
|
"cpy-cli": "6.0.0",
|
|
"cross-env": "10.1.0",
|
|
"dir-compare": "5.0.0",
|
|
"esbuild": "0.27.1",
|
|
"esbuild-plugin-copy": "2.1.1",
|
|
"esbuild-plugin-text-replace": "1.3.0",
|
|
"eslint-doc-generator": "2.3.0",
|
|
"esprima": "4.0.1",
|
|
"expect": "30.2.0",
|
|
"glob": "13.0.0",
|
|
"husky": "9.1.7",
|
|
"json-schema-to-ts": "3.1.1",
|
|
"knip": "5.71.0",
|
|
"license-checker": "25.0.1",
|
|
"memfs": "4.51.1",
|
|
"nyc": "17.1.0",
|
|
"prettier": "3.7.4",
|
|
"prettier-plugin-java": "2.7.7",
|
|
"pretty-quick": "4.2.2",
|
|
"rimraf": "6.1.2",
|
|
"tsx": "4.21.0",
|
|
"type-fest": "5.3.0"
|
|
},
|
|
"dependencies": {
|
|
"@angular-eslint/eslint-plugin": "21.0.0",
|
|
"@babel/core": "7.28.5",
|
|
"@babel/eslint-parser": "7.28.5",
|
|
"@babel/plugin-proposal-decorators": "7.28.0",
|
|
"@babel/preset-env": "7.28.5",
|
|
"@babel/preset-flow": "7.27.1",
|
|
"@babel/preset-react": "7.28.5",
|
|
"@eslint-community/regexpp": "4.12.2",
|
|
"@protobufjs/base64": "1.1.2",
|
|
"@stylistic/eslint-plugin": "5.6.1",
|
|
"@stylistic/stylelint-plugin": "4.0.0",
|
|
"@typescript-eslint/eslint-plugin": "8.48.1",
|
|
"@typescript-eslint/parser": "8.48.1",
|
|
"@typescript-eslint/type-utils": "8.48.1",
|
|
"@typescript-eslint/utils": "8.48.1",
|
|
"@typescript/native-preview": "7.0.0-dev.20250922.1",
|
|
"builtin-modules": "5.0.0",
|
|
"bytes": "3.1.2",
|
|
"color": "5.0.3",
|
|
"css-unit-converter": "1.1.2",
|
|
"eslint": "9.39.1",
|
|
"eslint-plugin-import": "2.32.0",
|
|
"eslint-plugin-jsx-a11y": "6.10.2",
|
|
"eslint-plugin-react": "7.37.5",
|
|
"eslint-plugin-react-hooks": "7.0.1",
|
|
"eslint-plugin-unicorn": "62.0.0",
|
|
"express": "5.2.1",
|
|
"functional-red-black-tree": "1.0.1",
|
|
"globals": "16.5.0",
|
|
"htmlparser2": "10.0.0",
|
|
"http-status-codes": "2.3.0",
|
|
"jsx-ast-utils-x": "0.1.0",
|
|
"lodash.merge": "4.6.2",
|
|
"minimatch": "10.1.1",
|
|
"patch-package": "8.0.1",
|
|
"postcss": "8.5.6",
|
|
"postcss-html": "1.8.0",
|
|
"postcss-less": "6.0.0",
|
|
"postcss-sass": "0.5.0",
|
|
"postcss-scss": "4.0.9",
|
|
"postcss-value-parser": "4.2.0",
|
|
"protobufjs": "7.5.4",
|
|
"scslre": "0.3.0",
|
|
"semver": "7.7.3",
|
|
"stylelint": "16.26.0",
|
|
"stylelint-config-html": "1.1.0",
|
|
"tmp": "0.2.5",
|
|
"typescript": "5.9.3",
|
|
"vue-eslint-parser": "10.2.0",
|
|
"ws": "8.18.3",
|
|
"yaml": "2.8.2"
|
|
},
|
|
"prettier": {
|
|
"printWidth": 100,
|
|
"trailingComma": "all",
|
|
"singleQuote": true,
|
|
"arrowParens": "avoid",
|
|
"endOfLine": "lf",
|
|
"plugins": [
|
|
"prettier-plugin-java"
|
|
]
|
|
},
|
|
"files": [
|
|
"bin/",
|
|
"licenses/"
|
|
]
|
|
}
|