diff --git a/packages/eslint-plugin-obsidian/package.json b/packages/eslint-plugin-obsidian/package.json index 64db8b01..05e75433 100644 --- a/packages/eslint-plugin-obsidian/package.json +++ b/packages/eslint-plugin-obsidian/package.json @@ -2,7 +2,7 @@ "name": "eslint-plugin-obsidian", "description": "ESLint rules for Obsidian", "main": "dist/index.js", - "version": "2.24.0-alpha.5", + "version": "2.25.0", "scripts": { "build": "npx tsc --project tsconfig.prod.json", "test": "npx jest", @@ -25,7 +25,7 @@ "@typescript-eslint/utils": "^7.18.0", "lodash": "^4.17.21", "ts-morph": "^25.0.1", - "ts-morph-extensions": "^2.24.0-alpha.5" + "ts-morph-extensions": "^2.25.0" }, "devDependencies": { "@babel/core": "7.26.10", diff --git a/packages/eslint-plugin-obsidian/src/dto/class.ts b/packages/eslint-plugin-obsidian/src/dto/class.ts index 8f67685a..e05e60ee 100644 --- a/packages/eslint-plugin-obsidian/src/dto/class.ts +++ b/packages/eslint-plugin-obsidian/src/dto/class.ts @@ -45,7 +45,7 @@ export class Clazz { return this.node.body.body; } - public getDecoratedMethods(decoratorName: string): Method[] { + public getDecoratedMethodsIgnoreCase(decoratorName: string): Method[] { return this.getMethods() .filter(method => method.isDecoratedWithIgnoreCase(decoratorName)); } diff --git a/packages/eslint-plugin-obsidian/src/rules/noCircularDependency/circularDependenciesDetector.ts b/packages/eslint-plugin-obsidian/src/rules/noCircularDependency/circularDependenciesDetector.ts index 25965d82..8a67e327 100644 --- a/packages/eslint-plugin-obsidian/src/rules/noCircularDependency/circularDependenciesDetector.ts +++ b/packages/eslint-plugin-obsidian/src/rules/noCircularDependency/circularDependenciesDetector.ts @@ -9,7 +9,7 @@ type DetectionResult = export class CircularDependenciesDetector { detect(clazz: Clazz): DetectionResult { - const providers = clazz.getDecoratedMethods('Provides'); + const providers = clazz.getDecoratedMethodsIgnoreCase('Provides'); const visited = new Set(); for (const provider of providers) { const result = this.isCircular( diff --git a/packages/eslint-plugin-obsidian/src/rules/unresolvedProviderDependencies/resolvedDependencyChecker.ts b/packages/eslint-plugin-obsidian/src/rules/unresolvedProviderDependencies/resolvedDependencyChecker.ts index d1157bf6..009e17ab 100644 --- a/packages/eslint-plugin-obsidian/src/rules/unresolvedProviderDependencies/resolvedDependencyChecker.ts +++ b/packages/eslint-plugin-obsidian/src/rules/unresolvedProviderDependencies/resolvedDependencyChecker.ts @@ -7,9 +7,9 @@ export class ResolvedDependencyChecker { public check(clazz: Clazz, dependencies: string[]): DependencyCheckResult { const unresolvedDependency = clazz - .getDecoratedMethods('Provides') + .getDecoratedMethodsIgnoreCase('Provides') .flatMap((method) => method.parameters) - .find((provider) => !dependencies.includes(provider.name)); + .find((dependency) => !dependencies.includes(dependency.name)); return this.getResult(unresolvedDependency); } diff --git a/packages/eslint-plugin-obsidian/tests/unresolvedProviderDependencies/fixtures/validGraphWithExternalSubgraph.ts b/packages/eslint-plugin-obsidian/tests/unresolvedProviderDependencies/fixtures/validGraphWithExternalSubgraph.ts index 29504c34..7f686588 100644 --- a/packages/eslint-plugin-obsidian/tests/unresolvedProviderDependencies/fixtures/validGraphWithExternalSubgraph.ts +++ b/packages/eslint-plugin-obsidian/tests/unresolvedProviderDependencies/fixtures/validGraphWithExternalSubgraph.ts @@ -5,7 +5,7 @@ import { ExternalGraphB } from 'external-lib-b'; @graph({ subgraphs: [ExternalGraphB] }) export default class GraphA extends ObjectGraph { @provides() - foo(complexExternalDepB: string): string { + foo(complexExternalDepB: string, _externalDependencyA: string): string { return 'foo' + complexExternalDepB; } } diff --git a/packages/react-obsidian/package.json b/packages/react-obsidian/package.json index 50450a90..44078116 100644 --- a/packages/react-obsidian/package.json +++ b/packages/react-obsidian/package.json @@ -1,6 +1,6 @@ { "name": "react-obsidian", - "version": "2.24.0-alpha.5", + "version": "2.25.0", "description": "Dependency injection framework for React and React Native applications", "scripts": { "prepack": "yarn lint && tsc --project tsconfig.prod.json", diff --git a/packages/swc-plugin-obsidian/Cargo.toml b/packages/swc-plugin-obsidian/Cargo.toml index a7989948..948b8d9d 100644 --- a/packages/swc-plugin-obsidian/Cargo.toml +++ b/packages/swc-plugin-obsidian/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "swc_plugin_obsidian" -version = "0.1.0" +version = "2.25.0" edition = "2021" [lib] diff --git a/packages/swc-plugin-obsidian/package.json b/packages/swc-plugin-obsidian/package.json index 9a5d724c..816f3450 100644 --- a/packages/swc-plugin-obsidian/package.json +++ b/packages/swc-plugin-obsidian/package.json @@ -1,6 +1,6 @@ { "name": "swc-plugin-obsidian", - "version": "2.24.0-alpha.5", + "version": "2.25.0", "description": "SWC plugin for Obsidian to be used with Vite or NextJS", "author": "Guy Carmeli", "main": "src/index.js", diff --git a/packages/ts-morph-extensions/package.json b/packages/ts-morph-extensions/package.json index a78150f8..947faeda 100644 --- a/packages/ts-morph-extensions/package.json +++ b/packages/ts-morph-extensions/package.json @@ -1,6 +1,6 @@ { "name": "ts-morph-extensions", - "version": "2.24.0-alpha.5", + "version": "2.25.0", "description": "Extensions and utilities for working with ts-morph projects and TypeScript configurations", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/ts-morph-extensions/src/dto/parameter.ts b/packages/ts-morph-extensions/src/dto/parameter.ts index 67d80c89..064acd28 100644 --- a/packages/ts-morph-extensions/src/dto/parameter.ts +++ b/packages/ts-morph-extensions/src/dto/parameter.ts @@ -5,7 +5,7 @@ export class Parameter { constructor(public readonly node: ParameterDeclaration) { } public get name() { - return this.node.getName(); + return this.node.getName().replace(/^_/, ''); } public isNotProvided(by: Provider[]): boolean { diff --git a/packages/vscode-language-server-obsidian/package.json b/packages/vscode-language-server-obsidian/package.json index ee9e007f..5475dab0 100644 --- a/packages/vscode-language-server-obsidian/package.json +++ b/packages/vscode-language-server-obsidian/package.json @@ -4,7 +4,7 @@ "description": "Intellisense support for Obsidian dependency injection framework", "publisher": "guycarmeli", "icon": "obsidian.png", - "version": "0.3.2", + "version": "1.0.0", "license": "ISC", "main": "./client/dist/extension.js", "scripts": { diff --git a/yarn.lock b/yarn.lock index 3486672e..4d004454 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9770,7 +9770,7 @@ __metadata: lodash: ^4.17.21 react-obsidian: "workspace:*" ts-morph: ^25.0.1 - ts-morph-extensions: ^2.24.0-alpha.5 + ts-morph-extensions: ^2.25.0 typescript: ^5.8.0 peerDependencies: eslint: 8.x.x @@ -18458,7 +18458,7 @@ __metadata: languageName: node linkType: hard -"ts-morph-extensions@^2.24.0-alpha.5, ts-morph-extensions@workspace:packages/ts-morph-extensions": +"ts-morph-extensions@^2.25.0, ts-morph-extensions@workspace:packages/ts-morph-extensions": version: 0.0.0-use.local resolution: "ts-morph-extensions@workspace:packages/ts-morph-extensions" dependencies: