diff --git a/package.json b/package.json index fa3383c..b90ab8b 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "dependencies": { "@typescript-eslint/utils": "^8.18.1", "common-tags": "^1.8.2", - "decamelize": "^5.0.1", "tslib": "^2.8.1", "tsutils": "^3.21.0", "tsutils-etc": "^1.4.2" diff --git a/packages/eslint-plugin-rxjs/package.json b/packages/eslint-plugin-rxjs/package.json index acd0962..babcbf4 100644 --- a/packages/eslint-plugin-rxjs/package.json +++ b/packages/eslint-plugin-rxjs/package.json @@ -5,7 +5,7 @@ "@typescript-eslint/utils": "^8.13.0", "@typescript-eslint/rule-tester": "^8.13.0", "common-tags": "^1.8.2", - "decamelize": "^5.0.1", + "decamelize": "^6.0.0", "typescript": "~5.5.4", "tsutils": "^3.21.0", "tsutils-etc": "^1.4.2", diff --git a/packages/eslint-plugin-rxjs/project.json b/packages/eslint-plugin-rxjs/project.json index 85432a6..dabb6c7 100644 --- a/packages/eslint-plugin-rxjs/project.json +++ b/packages/eslint-plugin-rxjs/project.json @@ -16,7 +16,6 @@ "assets": [ "packages/eslint-plugin-rxjs/*.md" ], - "generatePackageJson": true, "format": [ "cjs" ], diff --git a/packages/eslint-plugin-rxjs/src/index.ts b/packages/eslint-plugin-rxjs/src/index.ts index 0ab37e6..d7d1f4a 100644 --- a/packages/eslint-plugin-rxjs/src/index.ts +++ b/packages/eslint-plugin-rxjs/src/index.ts @@ -47,7 +47,7 @@ const { name, version } = require('../package.json') as { version: string; }; -export const meta = { +const meta = { name, version, } satisfies Linter.PluginMeta; diff --git a/packages/eslint-plugin-rxjs/src/lib/rules/no-unsafe-switchmap.ts b/packages/eslint-plugin-rxjs/src/lib/rules/no-unsafe-switchmap.ts index 39c1369..516ed7e 100644 --- a/packages/eslint-plugin-rxjs/src/lib/rules/no-unsafe-switchmap.ts +++ b/packages/eslint-plugin-rxjs/src/lib/rules/no-unsafe-switchmap.ts @@ -1,6 +1,6 @@ import { TSESTree as es } from '@typescript-eslint/utils'; import { stripIndent } from 'common-tags'; -import decamelize from 'decamelize'; + import { getTypeServices, isCallExpression, @@ -96,6 +96,13 @@ export default ESLintUtils.RuleCreator(() => __filename)({ const { couldBeObservable } = getTypeServices(context); + function decamelize(str: string): string { + return str + .replace(/([a-z\d])([A-Z])/g, '$1_$2') + .replace(/([A-Z]+)([A-Z][a-z\d]+)/g, '$1_$2') + .toLowerCase(); + } + function shouldDisallow(args: es.Node[]): boolean { const names = args .map((arg) => { diff --git a/packages/eslint-plugin-rxjs/tsconfig.lib.json b/packages/eslint-plugin-rxjs/tsconfig.lib.json index eaa6d2c..982bd9b 100644 --- a/packages/eslint-plugin-rxjs/tsconfig.lib.json +++ b/packages/eslint-plugin-rxjs/tsconfig.lib.json @@ -5,7 +5,9 @@ "declaration": true, "types": ["node"], "module": "NodeNext", - "moduleResolution": "NodeNext" + "moduleResolution": "NodeNext", + "esModuleInterop": true, + "allowSyntheticDefaultImports": true }, "include": ["src/**/*.ts"], "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts", "src/lib/tests/**/*.ts"] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d375a21..52f1a3d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,9 +14,6 @@ importers: common-tags: specifier: ^1.8.2 version: 1.8.2 - decamelize: - specifier: ^5.0.1 - version: 5.0.1 tslib: specifier: ^2.8.1 version: 2.8.1 @@ -145,8 +142,8 @@ importers: specifier: ^1.8.2 version: 1.8.2 decamelize: - specifier: ^5.0.1 - version: 5.0.1 + specifier: ^6.0.0 + version: 6.0.0 tsutils: specifier: ^3.21.0 version: 3.21.0(typescript@5.5.4) @@ -3537,7 +3534,6 @@ packages: critters@0.0.24: resolution: {integrity: sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==} - deprecated: Ownership of Critters has moved to the Nuxt team, who will be maintaining the project going forward. If you'd like to keep using Critters, please switch to the actively-maintained fork at https://github.com/danielroe/beasties cron-parser@4.9.0: resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} @@ -3702,9 +3698,9 @@ packages: supports-color: optional: true - decamelize@5.0.1: - resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} - engines: {node: '>=10'} + decamelize@6.0.0: + resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dedent@1.5.3: resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} @@ -11942,7 +11938,7 @@ snapshots: dependencies: ms: 2.1.3 - decamelize@5.0.1: {} + decamelize@6.0.0: {} dedent@1.5.3: {}