From baffc32cff1228942f15e6d3cef2aa50e8a43e49 Mon Sep 17 00:00:00 2001 From: VitoAlbano Date: Wed, 3 Jun 2026 00:41:09 +0100 Subject: [PATCH] [ci:force] - Improved eslint plugin so it can be built with standard action --- .gitignore | 1 + lib/eslint-angular/main.js | 9 +-------- lib/eslint-angular/project.json | 11 ++--------- .../use-none-component-view-encapsulation.ts | 12 ++++++++---- lib/eslint-angular/tsconfig.lib.json | 6 +++--- package.json | 3 ++- pnpm-lock.yaml | 3 +++ 7 files changed, 20 insertions(+), 25 deletions(-) diff --git a/.gitignore b/.gitignore index eb43f5f811..3855bc25d8 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ nxcache .husky .cursor/rules/nx-rules.mdc .github/instructions/nx.instructions.md +lib/eslint-angular/dist/ diff --git a/lib/eslint-angular/main.js b/lib/eslint-angular/main.js index 7d0207540a..f843a90a90 100644 --- a/lib/eslint-angular/main.js +++ b/lib/eslint-angular/main.js @@ -1,8 +1 @@ -require('ts-node').register({ - compilerOptions: { - module: 'commonjs', - target: 'es2019', - }, -}); - -module.exports = require('./index.ts'); +module.exports = require('./dist/index.js'); diff --git a/lib/eslint-angular/project.json b/lib/eslint-angular/project.json index ec7f7c400a..1e82adb432 100644 --- a/lib/eslint-angular/project.json +++ b/lib/eslint-angular/project.json @@ -9,16 +9,9 @@ "executor": "@nx/js:tsc", "outputs": ["{options.outputPath}"], "options": { - "outputPath": "dist/libs/eslint-plugin-eslint-angular", + "outputPath": "lib/eslint-angular/dist", "main": "lib/eslint-angular/index.ts", - "tsConfig": "lib/eslint-angular/tsconfig.lib.prod.json" - }, - "configurations": { - "production": { - "optimization": true, - "sourceMap": false, - "extractLicenses": true - } + "tsConfig": "lib/eslint-angular/tsconfig.lib.json" } }, "lint": { diff --git a/lib/eslint-angular/src/rules/use-none-component-view-encapsulation/use-none-component-view-encapsulation.ts b/lib/eslint-angular/src/rules/use-none-component-view-encapsulation/use-none-component-view-encapsulation.ts index f8ebf71a26..c90eaf2371 100644 --- a/lib/eslint-angular/src/rules/use-none-component-view-encapsulation/use-none-component-view-encapsulation.ts +++ b/lib/eslint-angular/src/rules/use-none-component-view-encapsulation/use-none-component-view-encapsulation.ts @@ -41,7 +41,8 @@ const nodeToReport = (node: TSESTree.Node) => { if (!ASTUtils.isProperty(node)) { return node; } - return ASTUtils.isMemberExpression(node.value) ? node.value.property : node.value; + const propertyNode = node as TSESTree.Property; + return ASTUtils.isMemberExpression(propertyNode.value) ? propertyNode.value.property : propertyNode.value; }; /** @@ -88,9 +89,12 @@ export default createESLintRule({ moduleName: '@angular/core', node: node.parent }), - ASTUtils.isMemberExpression(node.value) - ? fixer.replaceText(node.value.property, 'None') - : fixer.replaceText(node.value, viewEncapsulationNone) + (() => { + const propValue = (node as TSESTree.Property).value; + return ASTUtils.isMemberExpression(propValue) + ? fixer.replaceText(propValue.property, 'None') + : fixer.replaceText(propValue, viewEncapsulationNone); + })() ].filter(isNotNullOrUndefined); } diff --git a/lib/eslint-angular/tsconfig.lib.json b/lib/eslint-angular/tsconfig.lib.json index 48bbd83c1e..a60877ae5b 100644 --- a/lib/eslint-angular/tsconfig.lib.json +++ b/lib/eslint-angular/tsconfig.lib.json @@ -1,9 +1,9 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "outDir": "../../dist/out-tsc", - "declarationMap": true + "outDir": "./dist", + "declaration": true }, - "exclude": ["src/test.ts", "**/*.spec.ts", "**/*.test.ts"], + "exclude": ["src/test.ts", "**/*.spec.ts", "**/*.test.ts", "dist"], "include": ["**/*.ts"] } diff --git a/package.json b/package.json index 0e8ecb42c8..647755ed01 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "author": "Hyland Software, Inc. and its affiliates", "scripts": { "preinstall": "npx only-allow pnpm", - "prepare": "husky && node scripts/post-install-check.mjs", + "prepare": "husky && nx run eslint-angular:build && node scripts/post-install-check.mjs", "add": "node scripts/safe-add.mjs", "bundle:js-api": "nx run js-api:bundle", "bundle:cli": "nx run cli:bundle", @@ -83,6 +83,7 @@ "@angular-eslint/eslint-plugin": "19.8.1", "@angular-eslint/eslint-plugin-template": "19.8.1", "@angular-eslint/template-parser": "19.8.1", + "@angular-eslint/utils": "19.8.1", "@angular/compiler-cli": "19.2.20", "@chromatic-com/storybook": "4.1.3", "@nx/angular": "22.7.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 76c748e9f7..9fc84322f1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -132,6 +132,9 @@ importers: '@angular-eslint/template-parser': specifier: 19.8.1 version: 19.8.1(eslint@8.57.1)(typescript@5.8.3) + '@angular-eslint/utils': + specifier: 19.8.1 + version: 19.8.1(@typescript-eslint/utils@8.59.4(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) '@angular/compiler-cli': specifier: 19.2.20 version: 19.2.20(@angular/compiler@19.2.20)(typescript@5.8.3)