@o3r/eslint-config 13.2.0-prerelease.31 → 13.2.0-prerelease.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/eslint-config",
3
- "version": "13.2.0-prerelease.31",
3
+ "version": "13.2.0-prerelease.34",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -37,7 +37,7 @@
37
37
  "build:builders": "tsc -b tsconfig.builders.json --pretty && yarn generate-cjs-manifest"
38
38
  },
39
39
  "dependencies": {
40
- "@o3r/schematics": "^13.2.0-prerelease.31"
40
+ "@o3r/schematics": "^13.2.0-prerelease.34"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "@angular-devkit/core": "^20.0.0",
@@ -46,8 +46,8 @@
46
46
  "@angular/compiler": "^20.0.0",
47
47
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
48
48
  "@eslint/js": "^8.57.0 || ^9.22.0",
49
- "@o3r/eslint-plugin": "^13.2.0-prerelease.31",
50
- "@o3r/schematics": "^13.2.0-prerelease.31",
49
+ "@o3r/eslint-plugin": "^13.2.0-prerelease.34",
50
+ "@o3r/schematics": "^13.2.0-prerelease.34",
51
51
  "@schematics/angular": "^20.0.0",
52
52
  "@stylistic/eslint-plugin": "~5.3.0",
53
53
  "@typescript-eslint/parser": "^8.15.0",
@@ -81,9 +81,9 @@
81
81
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
82
82
  "@eslint/js": "~9.35.0",
83
83
  "@nx/eslint-plugin": "~21.5.0",
84
- "@o3r/build-helpers": "^13.2.0-prerelease.31",
85
- "@o3r/eslint-plugin": "^13.2.0-prerelease.31",
86
- "@o3r/test-helpers": "^13.2.0-prerelease.31",
84
+ "@o3r/build-helpers": "^13.2.0-prerelease.34",
85
+ "@o3r/eslint-plugin": "^13.2.0-prerelease.34",
86
+ "@o3r/test-helpers": "^13.2.0-prerelease.34",
87
87
  "@schematics/angular": "~20.2.0",
88
88
  "@stylistic/eslint-plugin": "~5.3.0",
89
89
  "@types/jest": "~29.5.2",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/eslint/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,KAAK,IAAI,EAGV,MAAM,4BAA4B,CAAC;AAsCpC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,cAAc,MAAM,KAAG,IAyD3E,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/eslint/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAOL,KAAK,IAAI,EAGV,MAAM,4BAA4B,CAAC;AAsEpC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,cAAc,MAAM,KAAG,IAgE3E,CAAC"}
@@ -5,6 +5,11 @@ const path = require("node:path");
5
5
  const core_1 = require("@angular-devkit/core");
6
6
  const schematics_1 = require("@angular-devkit/schematics");
7
7
  const schematics_2 = require("@o3r/schematics");
8
+ /**
9
+ * Setup the lint task in the angular.json file
10
+ * @param projectName
11
+ * @param extension
12
+ */
8
13
  const editAngularJson = (projectName, extension) => (tree, context) => {
9
14
  let workspace = null;
10
15
  try {
@@ -24,13 +29,36 @@ const editAngularJson = (projectName, extension) => (tree, context) => {
24
29
  options: {
25
30
  eslintConfig: `${workspaceProject.root}/eslint.config.${extension}`,
26
31
  lintFilePatterns: [
27
- `${workspaceProject.sourceRoot || path.posix.join(workspaceProject.root, 'src')}/**/*.ts`
32
+ `${workspaceProject.root}/**/*.{m,c,}{j,t}s`,
33
+ `${workspaceProject.root}/**/*.json`,
34
+ `${workspaceProject.root}/**/*.html`
28
35
  ]
29
36
  }
30
37
  };
31
38
  workspace.projects[projectName] = workspaceProject;
32
39
  tree.overwrite('/angular.json', JSON.stringify(workspace, null, 2));
33
40
  };
41
+ /**
42
+ * Add the lint task in the package.json
43
+ * @param projectPath
44
+ * @param projectName
45
+ */
46
+ const editPackageJson = (projectPath, projectName) => (tree) => {
47
+ const packageJsonPath = path.posix.join(projectPath, 'package.json');
48
+ const packageJson = tree.readJson(packageJsonPath);
49
+ packageJson.scripts ??= {};
50
+ packageJson.scripts.lint ??= `ng lint ${projectName}`;
51
+ tree.overwrite(packageJsonPath, JSON.stringify(packageJson, null, 2));
52
+ };
53
+ const isInstalled = (packageName) => {
54
+ try {
55
+ require.resolve(packageName);
56
+ }
57
+ catch {
58
+ return false;
59
+ }
60
+ return true;
61
+ };
34
62
  /**
35
63
  * Update ESLint Config
36
64
  * @param rootPath
@@ -50,6 +78,8 @@ const updateEslintConfig = (rootPath, projectName) => (tree, context) => {
50
78
  const templateOptions = {
51
79
  extension: 'mjs',
52
80
  codeBeforeConfig: '',
81
+ playwrightInstalled: isInstalled('playwright'),
82
+ jest: isInstalled('jest'),
53
83
  codeAfterConfig: '',
54
84
  oldConfig: '',
55
85
  relativePathToRoot: path.posix.relative(projectRootPath, '.'),
@@ -75,7 +105,12 @@ const updateEslintConfig = (rootPath, projectName) => (tree, context) => {
75
105
  tree.delete(filePath);
76
106
  }
77
107
  return (0, schematics_1.chain)([
78
- projectName ? editAngularJson(projectName, templateOptions.extension) : (0, schematics_1.noop)(),
108
+ ...projectName
109
+ ? [
110
+ editAngularJson(projectName, templateOptions.extension),
111
+ editPackageJson(projectRootPath, projectName)
112
+ ]
113
+ : [],
79
114
  (0, schematics_1.applyToSubtree)(projectRootPath, [
80
115
  (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)((0, schematics_2.getTemplateFolder)(rootPath, __dirname, `./templates/${projectRootPath === '.' ? 'workspace' : 'project'}`)), [
81
116
  (0, schematics_1.template)(templateOptions),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/eslint/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/eslint/index.ts"],"names":[],"mappings":"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"}
@@ -31,5 +31,18 @@ const __dirname = dirname(__filename);
31
31
  ...globals.browser
32
32
  }<% } %>
33
33
  }
34
- }
34
+ }<% if (playwrightInstalled) { %>,
35
+ {
36
+ name: '<%= packageName %>/e2e',
37
+ files: [
38
+ '**/e2e-playwright/**/*.{j,t}s'
39
+ ],
40
+ languageOptions: {
41
+ globals: {
42
+ ...globals.node,
43
+ NodeJS: true
44
+ }
45
+ }
46
+ }
47
+ <% } %>
35
48
  ]);
@@ -18,7 +18,8 @@
18
18
  },
19
19
  "fix": {
20
20
  "type": "boolean",
21
- "description": "Fix known issues with our ESLint config after Otter application or library generation"
21
+ "description": "Fix known issues with our ESLint config after Otter application or library generation",
22
+ "default": true
22
23
  },
23
24
  "skipLinter": {
24
25
  "type": "boolean",
@@ -24,15 +24,18 @@ const stylisticConfig = require('./typescript/stylistic.cjs');
24
24
  const unicornConfig = require('./typescript/unicorn.cjs');
25
25
  const unusedImportsConfig = require('./typescript/unused-imports.cjs');
26
26
 
27
- const checkJestDependency = () => {
27
+ const checkDependency = (packageName) => {
28
28
  try {
29
- require.resolve('jest');
29
+ require.resolve(packageName);
30
30
  } catch {
31
31
  return false;
32
32
  }
33
33
  return true;
34
34
  };
35
- const hasJestDependency = checkJestDependency();
35
+
36
+ const hasPlaywrightInstalled = checkDependency('@playwright/test');
37
+
38
+ const hasJestDependency = checkDependency('jest');
36
39
 
37
40
  /**
38
41
  * @type {import('@typescript-eslint/utils').TSESLint.FlatConfig.ConfigArray}
@@ -141,7 +144,33 @@ const configArray = [
141
144
  }
142
145
  }
143
146
  }
144
- }
147
+ }, {
148
+ name: '@o3r/eslint-config/node-files',
149
+ files: [
150
+ '**/schematics/**/*.{j,t}s',
151
+ ...hasJestDependency ? ['**/jest.config.{c,m,}{j,t}s'] : []
152
+ ],
153
+ languageOptions: {
154
+ globals: {
155
+ ...globals.node,
156
+ NodeJS: true
157
+ }
158
+ }
159
+ },
160
+ ...hasPlaywrightInstalled
161
+ ? [{
162
+ name: '@o3r/eslint-config/e2e-playwright',
163
+ files: [
164
+ '**/e2e-playwright/**/*.{j,t}s'
165
+ ],
166
+ languageOptions: {
167
+ globals: {
168
+ ...globals.node,
169
+ NodeJS: true
170
+ }
171
+ }
172
+ }]
173
+ : []
145
174
  ];
146
175
 
147
176
  module.exports = configArray;