From d21724cd8d2e84fa4fed1b2eac2f26f726c4ea56 Mon Sep 17 00:00:00 2001 From: Michael Cousins Date: Tue, 4 Apr 2023 16:01:35 -0400 Subject: [PATCH 1/4] Do not use `exports` field for TS config --- .gitignore | 1 + packages/eslint-config/package.json | 4 ++++ packages/eslint-config/tsconfig.json | 2 +- packages/prettier-config/package.json | 4 ++++ packages/prettier-config/tsconfig.json | 2 +- packages/typescript-config/README.md | 2 +- .../typescript-config/{tsconfig.base.json => base.json} | 0 packages/typescript-config/package.json | 9 +++++---- tsconfig.json | 2 +- 9 files changed, 18 insertions(+), 8 deletions(-) rename packages/typescript-config/{tsconfig.base.json => base.json} (100%) diff --git a/.gitignore b/.gitignore index 7dae698..06d80ab 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules pnpm-publish-summary.json *.d.cts +*.tgz diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 9193979..72e19ff 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -5,6 +5,10 @@ }, "version": "0.0.1", "description": "Common ESLint configuration for Viam projects.", + "files": [ + "**/*", + "!tsconfig.json" + ], "types": "./base.d.cts", "exports": { ".": { diff --git a/packages/eslint-config/tsconfig.json b/packages/eslint-config/tsconfig.json index 156f9a6..4349ad1 100644 --- a/packages/eslint-config/tsconfig.json +++ b/packages/eslint-config/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@viamrobotics/typescript-config", + "extends": "@viamrobotics/typescript-config/base.json", "compilerOptions": { "types": ["node"], "declaration": true, diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index 2bb0cdf..f57f90b 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -5,6 +5,10 @@ }, "version": "0.0.1", "description": "Common Prettier configuration for Viam projects.", + "files": [ + "**/*", + "!tsconfig.json" + ], "types": "./base.d.cts", "exports": { ".": { diff --git a/packages/prettier-config/tsconfig.json b/packages/prettier-config/tsconfig.json index 156f9a6..4349ad1 100644 --- a/packages/prettier-config/tsconfig.json +++ b/packages/prettier-config/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@viamrobotics/typescript-config", + "extends": "@viamrobotics/typescript-config/base.json", "compilerOptions": { "types": ["node"], "declaration": true, diff --git a/packages/typescript-config/README.md b/packages/typescript-config/README.md index 7de2544..c5694df 100644 --- a/packages/typescript-config/README.md +++ b/packages/typescript-config/README.md @@ -16,6 +16,6 @@ Use the [base config](./tsconfig.base.json) for generic TypeScript projects, inc ```json // tsconfig.json { - "extends": "@viamrobotics/typescript-config" + "extends": "@viamrobotics/typescript-config/base.json" } ``` diff --git a/packages/typescript-config/tsconfig.base.json b/packages/typescript-config/base.json similarity index 100% rename from packages/typescript-config/tsconfig.base.json rename to packages/typescript-config/base.json diff --git a/packages/typescript-config/package.json b/packages/typescript-config/package.json index a110be8..04ab24b 100644 --- a/packages/typescript-config/package.json +++ b/packages/typescript-config/package.json @@ -3,11 +3,12 @@ "publishConfig": { "access": "public" }, - "version": "0.0.1", + "version": "0.0.2", "description": "Common TypeScript configuration for Viam projects.", - "exports": { - ".": "./tsconfig.base.json" - }, + "files": [ + "**/*", + "!tsconfig.json" + ], "repository": { "type": "git", "url": "git+https://github.com/viamrobotics/js-config.git", diff --git a/tsconfig.json b/tsconfig.json index a681557..23a7d05 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@viamrobotics/typescript-config", + "extends": "@viamrobotics/typescript-config/base.json", "compilerOptions": { "types": ["node"], "noEmit": true From 78ba63cb06134898b7b97e214fba6b1c3e219093 Mon Sep 17 00:00:00 2001 From: Michael Cousins Date: Tue, 4 Apr 2023 17:02:41 -0400 Subject: [PATCH 2/4] fixup: modify some lint rules, too --- packages/eslint-config/base.cjs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/eslint-config/base.cjs b/packages/eslint-config/base.cjs index 486376f..9b7ef44 100644 --- a/packages/eslint-config/base.cjs +++ b/packages/eslint-config/base.cjs @@ -70,7 +70,6 @@ module.exports = { 'no-constructor-return': 'error', 'no-debugger': 'warn', 'no-div-regex': 'error', - 'no-duplicate-imports': 'error', 'no-else-return': 'error', 'no-empty-static-block': 'error', 'no-eval': 'error', @@ -110,7 +109,6 @@ module.exports = { 'no-unmodified-loop-condition': 'error', 'no-unused-expressions': 'error', 'no-unused-private-class-members': 'error', - 'no-use-before-define': 'error', 'no-useless-call': 'error', 'no-useless-computed-key': 'error', 'no-useless-concat': 'error', @@ -154,6 +152,16 @@ module.exports = { '@typescript-eslint/return-await': 'error', '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], + '@typescript-eslint/no-use-before-define': [ + 'warn', + { + functions: false, + classes: false, + variables: false, + allowNamedExports: true, + ignoreTypeReferences: true, + }, + ], // Extra import rules 'import/no-absolute-path': 'error', From c2dd41aff5e12df87e2a8cc0ce7459e897914dac Mon Sep 17 00:00:00 2001 From: Michael Cousins Date: Tue, 4 Apr 2023 17:09:26 -0400 Subject: [PATCH 3/4] fixup: bump eslint-config version --- packages/eslint-config/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 72e19ff..c2a7b96 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -3,7 +3,7 @@ "publishConfig": { "access": "public" }, - "version": "0.0.1", + "version": "0.0.2", "description": "Common ESLint configuration for Viam projects.", "files": [ "**/*", From aefec1891656647ce38120f109b3c26146dfb701 Mon Sep 17 00:00:00 2001 From: Michael Cousins Date: Tue, 4 Apr 2023 17:19:52 -0400 Subject: [PATCH 4/4] fixup: commonjs env for cjs files --- .eslintrc.cjs | 3 --- packages/eslint-config/base.cjs | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index db375d6..99dc4d1 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -3,9 +3,6 @@ module.exports = { root: true, extends: ['@viamrobotics/eslint-config'], - env: { - node: true, - }, parserOptions: { project: ['./tsconfig.json', './packages/*/tsconfig.json'], }, diff --git a/packages/eslint-config/base.cjs b/packages/eslint-config/base.cjs index 9b7ef44..fc37a8f 100644 --- a/packages/eslint-config/base.cjs +++ b/packages/eslint-config/base.cjs @@ -186,6 +186,9 @@ module.exports = { parserOptions: { sourceType: 'script', }, + env: { + commonjs: true, + }, rules: { '@typescript-eslint/no-var-requires': 'off', },