Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More than triple linter speed #1146

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
**/node_modules
node_modules/
**/*.js
**/*.cjs
**/build
**/build/**
**/generated
lunadefend/**/*
lunadefend/js/demo-apps/packages/react-front-end/cypress/integration/secure_components_spec.ts
Expand Down
18 changes: 11 additions & 7 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,15 @@ const hideErrorsInDev = process.env.HIDE_ERRORS_IN_DEV === 'true';
const productionError = hideErrorsInDev ? 'warn': 'error';
const productionWarn = hideErrorsInDev ? 'off': 'warn';

// Removing this doubles the performance of linting
const lunaDefendProjects = process.env.LINT_LUNADEFEND ? [
'lunadefend/js/sdks/packages/vue-sdk/tsconfig.json',
'lunadefend/js/sdks/tsconfig.json',
'lunadefend/js/demo-apps/packages/demo-back-end/tsconfig.json',
'lunadefend/js/demo-apps/packages/react-front-end/tsconfig.json',
'lunadefend/js/internal-infrastructure/metrics-server-backend/tsconfig.json',
'lunadefend/js/internal-infrastructure/s3-redirect-generator/tsconfig.json'
] : [];

module.exports = {
root: true,
Expand Down Expand Up @@ -51,15 +60,10 @@ module.exports = {
jsx: true
},
tsconfigRootDir: __dirname,
ecmaVersion: 12,
ecmaVersion: 16,
sourceType: 'module',
project: [
'lunadefend/js/sdks/packages/vue-sdk/tsconfig.json',
'lunadefend/js/sdks/tsconfig.json',
'lunadefend/js/demo-apps/packages/demo-back-end/tsconfig.json',
'lunadefend/js/demo-apps/packages/react-front-end/tsconfig.json',
'lunadefend/js/internal-infrastructure/metrics-server-backend/tsconfig.json',
'lunadefend/js/internal-infrastructure/s3-redirect-generator/tsconfig.json',
...lunaDefendProjects,
'lunatrace/bsl/common/tsconfig.json',
'lunatrace/bsl/frontend/tsconfig.json',
'lunatrace/bsl/backend-cdk/tsconfig.json',
Expand Down
2 changes: 1 addition & 1 deletion lunatrace/bsl/backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"engines": {
"node": ">=18.0.0"
},
"main": "build/server.js",
"main": "src/server.ts",
"types": "build/server.d.ts",
"scripts": {
"benchmark": "node --prof -r ts-node/register -r tsconfig-paths/register ./src/tests/dependency-tree.test.ts",
Expand Down
2 changes: 1 addition & 1 deletion lunatrace/bsl/common/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lunatrace/lunatrace-common",
"main": "build/main/index.js",
"main": "src/index.ts",
"typings": "build/main/index.d.ts",
"license": "BSL-LunaTrace",
"type": "commonjs",
Expand Down
4 changes: 4 additions & 0 deletions lunatrace/bsl/frontend/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@
"include": [
"src"
],
"exclude": [
"node_modules",
"src/api/generated.ts"
],
"references": [
{"path": "../common"}
]
Expand Down
2 changes: 1 addition & 1 deletion lunatrace/bsl/logger/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lunatrace/logger",
"main": "build/main/index.js",
"main": "src/index.ts",
"typings": "build/main/index.d.ts",
"license": "BSL-LunaTrace",
"type": "commonjs",
Expand Down
2 changes: 1 addition & 1 deletion lunatrace/npm-package-cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"homepage": "https://github.com/lunasec-io/lunasec",
"license": "Apache-2.0",
"main": "dist/index.js",
"main": "src/index.ts",
"typings": "build/main/index.d.ts",
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"description": "This monorepo holds the LunaSec SDKs, servers, and demo application.",
"devDependencies": {
"@jest/globals": "^29.4.1",
"@typescript-eslint/eslint-plugin": "^5.6.0",
"@typescript-eslint/parser": "^5.6.0",
"@typescript-eslint/eslint-plugin": "^5.54.0",
"@typescript-eslint/parser": "^5.54.0",
"@vue/eslint-config-prettier": "^6.0.0",
"@vue/eslint-config-typescript": "^9.1.0",
"eslint": "8.25.0",
Expand Down Expand Up @@ -73,7 +73,7 @@
"test:all": "yarn test:unit && yarn run test:e2e:local",
"lint:fix": "yarn run lint --fix",
"lint": "yarn run lint:basecommand .",
"lint:basecommand": "yarn run eslint --ext .js,.jsx,.ts,.tsx,.vue --quiet ./lunatrace",
"lint:basecommand": "yarn run eslint --cache --ext .js,.jsx,.ts,.tsx,.vue --quiet ./lunatrace",
"lint:lunatrace": "yarn run lint:basecommand ./lunatrace",
"version:release": "./tools/version-release.sh",
"compile:dev:infrastructure": "cd lunadefend/js/internal-infrastructure/s3-redirect-generator && yarn run compile",
Expand Down
139 changes: 137 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -17865,6 +17865,13 @@ __metadata:
languageName: node
linkType: hard

"@types/semver@npm:^7.3.12":
version: 7.3.13
resolution: "@types/semver@npm:7.3.13"
checksum: 00c0724d54757c2f4bc60b5032fe91cda6410e48689633d5f35ece8a0a66445e3e57fa1d6e07eb780f792e82ac542948ec4d0b76eb3484297b79bd18b8cf1cb0
languageName: node
linkType: hard

"@types/semver@npm:^7.3.9":
version: 7.3.9
resolution: "@types/semver@npm:7.3.9"
Expand Down Expand Up @@ -18341,6 +18348,30 @@ __metadata:
languageName: node
linkType: hard

"@typescript-eslint/eslint-plugin@npm:^5.54.0":
version: 5.54.0
resolution: "@typescript-eslint/eslint-plugin@npm:5.54.0"
dependencies:
"@typescript-eslint/scope-manager": 5.54.0
"@typescript-eslint/type-utils": 5.54.0
"@typescript-eslint/utils": 5.54.0
debug: ^4.3.4
grapheme-splitter: ^1.0.4
ignore: ^5.2.0
natural-compare-lite: ^1.4.0
regexpp: ^3.2.0
semver: ^7.3.7
tsutils: ^3.21.0
peerDependencies:
"@typescript-eslint/parser": ^5.0.0
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 4fdb520b8e0f6b9eb878206ddfa4212522f170d1507d7aba8a975159a198efa37af6d2d17982dd560317452d0748f2e2da5dd7347b172bc4446d1c5562ce2e94
languageName: node
linkType: hard

"@typescript-eslint/experimental-utils@npm:4.33.0, @typescript-eslint/experimental-utils@npm:^4.0.1, @typescript-eslint/experimental-utils@npm:^4.9.1":
version: 4.33.0
resolution: "@typescript-eslint/experimental-utils@npm:4.33.0"
Expand Down Expand Up @@ -18417,6 +18448,23 @@ __metadata:
languageName: node
linkType: hard

"@typescript-eslint/parser@npm:^5.54.0":
version: 5.54.0
resolution: "@typescript-eslint/parser@npm:5.54.0"
dependencies:
"@typescript-eslint/scope-manager": 5.54.0
"@typescript-eslint/types": 5.54.0
"@typescript-eslint/typescript-estree": 5.54.0
debug: ^4.3.4
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 368d6dd85be42c3f518f0ddeed23ecd1d3c9484a77ae291ee4e08e2703ed379bed613bde014cd8ab2a3e06e85dd8aef201112ae5e3d2a07deba29ae80bb1fe06
languageName: node
linkType: hard

"@typescript-eslint/scope-manager@npm:4.33.0":
version: 4.33.0
resolution: "@typescript-eslint/scope-manager@npm:4.33.0"
Expand All @@ -18437,6 +18485,16 @@ __metadata:
languageName: node
linkType: hard

"@typescript-eslint/scope-manager@npm:5.54.0":
version: 5.54.0
resolution: "@typescript-eslint/scope-manager@npm:5.54.0"
dependencies:
"@typescript-eslint/types": 5.54.0
"@typescript-eslint/visitor-keys": 5.54.0
checksum: e50f12396de0ddb94aab119bdd5f4769b80dd2c273e137fd25e5811e25114d7a3d3668cdb3c454aca9537e940744881d62a1fed2ec86f07f60533dc7382ae15c
languageName: node
linkType: hard

"@typescript-eslint/type-utils@npm:5.13.0":
version: 5.13.0
resolution: "@typescript-eslint/type-utils@npm:5.13.0"
Expand All @@ -18453,6 +18511,23 @@ __metadata:
languageName: node
linkType: hard

"@typescript-eslint/type-utils@npm:5.54.0":
version: 5.54.0
resolution: "@typescript-eslint/type-utils@npm:5.54.0"
dependencies:
"@typescript-eslint/typescript-estree": 5.54.0
"@typescript-eslint/utils": 5.54.0
debug: ^4.3.4
tsutils: ^3.21.0
peerDependencies:
eslint: "*"
peerDependenciesMeta:
typescript:
optional: true
checksum: 9cb5b52c7277bdf74b9ea3282fc40f41fda90ea4b1d33039044476e43cf05a766b1294e7d45f429594f2776828f7d17729cfa4ea027315f3df883e748ba57514
languageName: node
linkType: hard

"@typescript-eslint/types@npm:3.10.1":
version: 3.10.1
resolution: "@typescript-eslint/types@npm:3.10.1"
Expand All @@ -18474,6 +18549,13 @@ __metadata:
languageName: node
linkType: hard

"@typescript-eslint/types@npm:5.54.0":
version: 5.54.0
resolution: "@typescript-eslint/types@npm:5.54.0"
checksum: 0f66b1b93078f3afea6dfcd3d4e2f0abea4f60cd0c613c2cf13f85098e5bf786185484c9846ed80b6c4272de2c31a70c5a8aacb91314cf1b6da7dcb8855cb7ac
languageName: node
linkType: hard

"@typescript-eslint/typescript-estree@npm:3.10.1":
version: 3.10.1
resolution: "@typescript-eslint/typescript-estree@npm:3.10.1"
Expand Down Expand Up @@ -18529,6 +18611,24 @@ __metadata:
languageName: node
linkType: hard

"@typescript-eslint/typescript-estree@npm:5.54.0":
version: 5.54.0
resolution: "@typescript-eslint/typescript-estree@npm:5.54.0"
dependencies:
"@typescript-eslint/types": 5.54.0
"@typescript-eslint/visitor-keys": 5.54.0
debug: ^4.3.4
globby: ^11.1.0
is-glob: ^4.0.3
semver: ^7.3.7
tsutils: ^3.21.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 377c75c34c4f95b7ab6218c1d96a6db3ea6ed6727711b6a09354582fe0157861dc1b6fb9e3f7113cd09741f713735d59d5ab5845457f5733a4ebad7470bf600a
languageName: node
linkType: hard

"@typescript-eslint/utils@npm:5.13.0, @typescript-eslint/utils@npm:^5.10.2":
version: 5.13.0
resolution: "@typescript-eslint/utils@npm:5.13.0"
Expand All @@ -18545,6 +18645,24 @@ __metadata:
languageName: node
linkType: hard

"@typescript-eslint/utils@npm:5.54.0":
version: 5.54.0
resolution: "@typescript-eslint/utils@npm:5.54.0"
dependencies:
"@types/json-schema": ^7.0.9
"@types/semver": ^7.3.12
"@typescript-eslint/scope-manager": 5.54.0
"@typescript-eslint/types": 5.54.0
"@typescript-eslint/typescript-estree": 5.54.0
eslint-scope: ^5.1.1
eslint-utils: ^3.0.0
semver: ^7.3.7
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
checksum: b8f344fc2961c7af530b93e53d5a17b5084cdf550b381082e3fb7f349ef16e718d9eebde1b9fc2d8fc4ecf8d60d334b004359977247554265c1afc87323bed37
languageName: node
linkType: hard

"@typescript-eslint/visitor-keys@npm:3.10.1":
version: 3.10.1
resolution: "@typescript-eslint/visitor-keys@npm:3.10.1"
Expand Down Expand Up @@ -18574,6 +18692,16 @@ __metadata:
languageName: node
linkType: hard

"@typescript-eslint/visitor-keys@npm:5.54.0":
version: 5.54.0
resolution: "@typescript-eslint/visitor-keys@npm:5.54.0"
dependencies:
"@typescript-eslint/types": 5.54.0
eslint-visitor-keys: ^3.3.0
checksum: 17fc323c09e6272b603cdaec30a99916600fbbb737e1fbc8c1727a487753b4363cea112277fa43e0562bff34bdd1de9ad73ff9433118b1fd469b112fad0313ca
languageName: node
linkType: hard

"@vue/babel-helper-vue-jsx-merge-props@npm:^1.2.1":
version: 1.2.1
resolution: "@vue/babel-helper-vue-jsx-merge-props@npm:1.2.1"
Expand Down Expand Up @@ -40136,8 +40264,8 @@ __metadata:
resolution: "lunasec@workspace:."
dependencies:
"@jest/globals": ^29.4.1
"@typescript-eslint/eslint-plugin": ^5.6.0
"@typescript-eslint/parser": ^5.6.0
"@typescript-eslint/eslint-plugin": ^5.54.0
"@typescript-eslint/parser": ^5.54.0
"@vue/eslint-config-prettier": ^6.0.0
"@vue/eslint-config-typescript": ^9.1.0
eslint: 8.25.0
Expand Down Expand Up @@ -42403,6 +42531,13 @@ __metadata:
languageName: node
linkType: hard

"natural-compare-lite@npm:^1.4.0":
version: 1.4.0
resolution: "natural-compare-lite@npm:1.4.0"
checksum: 5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225
languageName: node
linkType: hard

"natural-compare@npm:^1.4.0":
version: 1.4.0
resolution: "natural-compare@npm:1.4.0"
Expand Down