ng-alain 21.1.0 → 21.3.0

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.
@@ -1,31 +1,37 @@
1
+ // Place your settings in this file to overwrite default and user settings.
1
2
  {
2
- "typescript.tsdk": "./node_modules/typescript/lib",
3
- "editor.formatOnSave": true,
3
+ "files.watcherExclude": {
4
+ "**/.git/objects/**": true,
5
+ "**/.git/subtree-cache/**": true,
6
+ "**/node_modules/*/**": true,
7
+ "**/dist/*/**": true,
8
+ "**/coverage/*/**": true,
9
+ "**/.yarn/**": true
10
+ },
11
+ "search.exclude": {
12
+ "**/node_modules": true,
13
+ "**/bower_components": true,
14
+ "**/*.code-search": true,
15
+ "**/dist/*/**": true,
16
+ "**/ng-alain": true,
17
+ "**/.yarn": true,
18
+ "**/src/app/routes/gen/": true
19
+ },
4
20
  "editor.codeActionsOnSave": {
5
21
  "source.fixAll.eslint": "always",
6
22
  "source.fixAll.stylelint": "explicit"
7
23
  },
24
+ "eslint.useFlatConfig": true,
25
+ "eslint.format.enable": true,
8
26
  "eslint.validate": ["typescript", "html"],
9
27
  "[html]": {
10
28
  "editor.formatOnSave": false,
11
29
  "editor.defaultFormatter": "dbaeumer.vscode-eslint"
12
30
  },
13
31
  "[typescript]": {
14
- "editor.formatOnSave": false,
32
+ "editor.formatOnSave": true,
15
33
  "editor.defaultFormatter": "dbaeumer.vscode-eslint",
16
34
  },
17
- "[markdown]": {
18
- "editor.formatOnSave": false
19
- },
20
- "[javascript]": {
21
- "editor.formatOnSave": false
22
- },
23
- "[json]": {
24
- "editor.formatOnSave": false
25
- },
26
- "[jsonc]": {
27
- "editor.formatOnSave": false
28
- },
29
35
  "css.validate": false,
30
36
  "less.validate": false,
31
37
  "scss.validate": false,
@@ -35,24 +41,20 @@
35
41
  "editor.formatOnSave": true,
36
42
  "editor.defaultFormatter": "esbenp.prettier-vscode"
37
43
  },
38
- "files.watcherExclude": {
39
- "**/.git/*/**": true,
40
- "**/node_modules/*/**": true,
41
- "**/dist/*/**": true,
42
- "**/coverage/*/**": true,
43
- "**/.angular/*/**": true,
44
- "**/.yarn/*/**": true
44
+ "[javascript]": {
45
+ "editor.formatOnSave": true
45
46
  },
46
- "search.exclude": {
47
- "**/node_modules": true,
48
- "**/.angular": true,
49
- "**/.github": true,
50
- "**/.yarn": true,
51
- "**/*.css": true
47
+ "[jsonc]": {
48
+ "editor.formatOnSave": false
49
+ },
50
+ "[yaml]": {
51
+ "editor.formatOnSave": false
52
52
  },
53
53
  "files.associations": {
54
+ "package.json": "json",
54
55
  "*.json": "jsonc",
55
- ".prettierrc": "jsonc"
56
+ ".prettierrc": "json"
56
57
  },
57
- "typescript.referencesCodeLens.enabled": true
58
+ "js/ts.referencesCodeLens.enabled": true,
59
+ "angular.enable-strict-mode-prompt": false
58
60
  }
@@ -1,4 +1,4 @@
1
- import { HttpErrorResponse, HttpHandlerFn, HttpInterceptorFn, HttpRequest, HttpResponseBase } from '@angular/common/http';
1
+ import { HttpErrorResponse, HttpEvent, HttpHandlerFn, HttpInterceptorFn, HttpRequest, HttpResponseBase } from '@angular/common/http';
2
2
  import { Injector, inject } from '@angular/core';
3
3
  import { IGNORE_BASE_URL } from '@delon/theme';
4
4
  import { environment } from '@env/environment';
@@ -7,7 +7,12 @@ import { Observable, of, throwError, mergeMap } from 'rxjs';
7
7
  import { ReThrowHttpError, checkStatus, getAdditionalHeaders, toLogin } from './helper';
8
8
  import { tryRefreshToken } from './refresh-token';
9
9
 
10
- function handleData(injector: Injector, ev: HttpResponseBase, req: HttpRequest<any>, next: HttpHandlerFn): Observable<any> {
10
+ function handleData(
11
+ injector: Injector,
12
+ ev: HttpResponseBase,
13
+ req: HttpRequest<unknown>,
14
+ next: HttpHandlerFn
15
+ ): Observable<HttpEvent<unknown>> {
11
16
  checkStatus(injector, ev);
12
17
  // 业务处理:一些通用操作
13
18
  switch (ev.status) {
@@ -29,7 +34,7 @@ function handleData(injector: Injector, ev: HttpResponseBase, req: HttpRequest<a
29
34
  // return of(ev);
30
35
  // }
31
36
  // // 重新修改 `body` 内容为 `response` 内容,对于绝大多数场景已经无须再关心业务状态码
32
- // return of(new HttpResponse({ ...ev, body: body.response } as any));
37
+ // return of(new HttpResponse({ ...ev, body: body.response } as HttpEvent<unknown>));
33
38
  // // 或者依然保持完整的格式
34
39
  // return of(ev);
35
40
  // }
@@ -57,7 +62,7 @@ function handleData(injector: Injector, ev: HttpResponseBase, req: HttpRequest<a
57
62
  } else if ((ev as unknown as ReThrowHttpError)._throw === true) {
58
63
  return throwError(() => (ev as unknown as ReThrowHttpError).body);
59
64
  } else {
60
- return of(ev);
65
+ return of(ev) as unknown as Observable<HttpEvent<unknown>>;
61
66
  }
62
67
  }
63
68
 
@@ -1,19 +1,19 @@
1
- import { HttpClient, HttpHandlerFn, HttpRequest, HttpResponseBase } from '@angular/common/http';
1
+ import { HttpClient, HttpEvent, HttpHandlerFn, HttpRequest, HttpResponseBase } from '@angular/common/http';
2
2
  import { EnvironmentProviders, Injector, inject, provideAppInitializer } from '@angular/core';
3
- import { DA_SERVICE_TOKEN } from '@delon/auth';
3
+ import { DA_SERVICE_TOKEN, ITokenModel } from '@delon/auth';
4
4
  import { BehaviorSubject, Observable, catchError, filter, switchMap, take, throwError } from 'rxjs';
5
5
 
6
6
  import { toLogin } from './helper';
7
7
 
8
8
  let refreshToking = false;
9
- let refreshToken$: BehaviorSubject<any> = new BehaviorSubject<any>(null);
9
+ let refreshToken$ = new BehaviorSubject<unknown>(null);
10
10
 
11
11
  /**
12
12
  * 重新附加新 Token 信息
13
13
  *
14
14
  * > 由于已经发起的请求,不会再走一遍 `@delon/auth` 因此需要结合业务情况重新附加新的 Token
15
15
  */
16
- function reAttachToken(injector: Injector, req: HttpRequest<any>): HttpRequest<any> {
16
+ function reAttachToken(injector: Injector, req: HttpRequest<unknown>): HttpRequest<unknown> {
17
17
  const token = injector.get(DA_SERVICE_TOKEN).get()?.token;
18
18
  return req.clone({
19
19
  setHeaders: {
@@ -22,15 +22,20 @@ function reAttachToken(injector: Injector, req: HttpRequest<any>): HttpRequest<a
22
22
  });
23
23
  }
24
24
 
25
- function refreshTokenRequest(injector: Injector): Observable<any> {
25
+ function refreshTokenRequest(injector: Injector): Observable<ITokenModel> {
26
26
  const model = injector.get(DA_SERVICE_TOKEN).get();
27
- return injector.get(HttpClient).post(`/api/auth/refresh`, { headers: { refresh_token: model?.['refresh_token'] || '' } });
27
+ return injector.get(HttpClient).post<ITokenModel>(`/api/auth/refresh`, { headers: { refresh_token: model?.['refresh_token'] || '' } });
28
28
  }
29
29
 
30
30
  /**
31
31
  * 刷新Token方式一:使用 401 重新刷新 Token
32
32
  */
33
- export function tryRefreshToken(injector: Injector, ev: HttpResponseBase, req: HttpRequest<any>, next: HttpHandlerFn): Observable<any> {
33
+ export function tryRefreshToken(
34
+ injector: Injector,
35
+ ev: HttpResponseBase,
36
+ req: HttpRequest<unknown>,
37
+ next: HttpHandlerFn
38
+ ): Observable<HttpEvent<unknown>> {
34
39
  // 1、若请求为刷新Token请求,表示来自刷新Token可以直接跳转登录页
35
40
  if ([`/api/auth/refresh`].some(url => req.url.includes(url))) {
36
41
  toLogin(injector);
@@ -145,9 +145,9 @@ function addCodeStylesToPackageJson() {
145
145
  // dependencies
146
146
  (0, utils_1.addPackage)(tree, [
147
147
  `husky@^9.1.7`,
148
- `lint-staged@^16.3.2`,
149
- `prettier@^3.8.1`,
150
- `stylelint@^17.6.0`,
148
+ `lint-staged@^16.4.0`,
149
+ `prettier@^3.8.3`,
150
+ `stylelint@^17.9.1`,
151
151
  `stylelint-config-standard@^40.0.0`,
152
152
  `stylelint-declaration-block-no-ignored-properties@^3.0.0`,
153
153
  `stylelint-config-clean-order@^8.0.1`,
@@ -292,6 +292,51 @@ function fixNgAlainJson() {
292
292
  (0, utils_1.writeNgAlainJson)(tree, json);
293
293
  };
294
294
  }
295
+ function addTailwindcss(options) {
296
+ if (!options.tailwindcss)
297
+ return (0, schematics_1.noop)();
298
+ const sourceRoot = project.sourceRoot;
299
+ const prefix = mulitProject ? `projects/${projectName}/` : '';
300
+ return (0, schematics_1.chain)([
301
+ (tree) => {
302
+ // Add devDependencies
303
+ (0, utils_1.addPackage)(tree, [
304
+ 'tailwindcss@^4.3.0',
305
+ '@tailwindcss/postcss@^4.1.12',
306
+ 'postcss@^8.5.3',
307
+ 'postcss-less@^6.0.0'
308
+ ], 'devDependencies');
309
+ // Create .postcssrc.json
310
+ tree.create('.postcssrc.json', `${JSON.stringify({ plugins: { '@tailwindcss/postcss': {} } }, null, 2)}\n`);
311
+ // Create src/tailwind.css
312
+ tree.create(`${sourceRoot}/tailwind.css`, `@layer theme, base, ng-alain, utilities;\n\n@import 'tailwindcss';\n`);
313
+ // Wrap styles.less in @layer ng-alain
314
+ const stylesLessPath = `${sourceRoot}/styles.less`;
315
+ if (tree.exists(stylesLessPath)) {
316
+ const content = tree.read(stylesLessPath).toString('utf8');
317
+ const wrappedContent = `/* stylelint-disable no-invalid-position-at-import-rule */\n@layer ng-alain {\n${content}}\n`;
318
+ tree.overwrite(stylesLessPath, wrappedContent);
319
+ }
320
+ // Create/update .vscode/extensions.json with tailwindcss recommendation
321
+ const extPath = '.vscode/extensions.json';
322
+ const extId = 'bradlc.vscode-tailwindcss';
323
+ if (tree.exists(extPath)) {
324
+ const json = (0, utils_1.readJSON)(tree, extPath);
325
+ if (!json.recommendations)
326
+ json.recommendations = [];
327
+ if (!json.recommendations.includes(extId))
328
+ json.recommendations.push(extId);
329
+ (0, utils_1.writeJSON)(tree, extPath, json);
330
+ }
331
+ else {
332
+ tree.create(extPath, `${JSON.stringify({ recommendations: [extId] }, null, 2)}\n`);
333
+ }
334
+ return tree;
335
+ },
336
+ // Add src/tailwind.css to angular.json styles
337
+ (0, utils_1.addAssetsToTarget)([{ type: 'style', value: `${prefix}src/tailwind.css` }], 'add', [utils_1.BUILD_TARGET_BUILD], projectName, false)
338
+ ]);
339
+ }
295
340
  function default_1(options) {
296
341
  return (tree, context) => __awaiter(this, void 0, void 0, function* () {
297
342
  const res = yield (0, utils_1.getProject)(tree, options.project);
@@ -318,6 +363,7 @@ function default_1(options) {
318
363
  addFilesToRoot(options),
319
364
  forceLess(),
320
365
  addStyle(),
366
+ addTailwindcss(options),
321
367
  fixLang(options),
322
368
  fixAngularJson(),
323
369
  fixBrowserBuilderBudgets(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/application/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/application/index.ts"],"names":[],"mappings":"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"}
@@ -127,6 +127,93 @@ describe('NgAlainSchematic: application', () => {
127
127
  });
128
128
  });
129
129
 
130
+ describe('#tailwindcss', () => {
131
+ describe('with false', () => {
132
+ beforeEach(async () => ({ tree } = await createAlainApp()));
133
+ it(`should not add tailwind related files`, () => {
134
+ expect(tree.exists('.postcssrc.json')).toBe(false);
135
+ expect(tree.exists(`/projects/${APPNAME}/src/tailwind.css`)).toBe(false);
136
+ const angularJson = JSON.parse(tree.readContent('angular.json'));
137
+ const styles = angularJson.projects[APPNAME].architect.build.options.styles;
138
+ expect(styles.some((s: string) => s.includes('tailwind.css'))).toBe(false);
139
+ const packageJson = JSON.parse(tree.readContent('package.json'));
140
+ expect(packageJson.devDependencies['tailwindcss']).toBeUndefined();
141
+ });
142
+ });
143
+ describe('with true', () => {
144
+ beforeEach(async () => {
145
+ const baseRunner = createNgRunner();
146
+ const workspaceTree = await baseRunner.runSchematic('workspace', {
147
+ name: 'workspace',
148
+ newProjectRoot: 'projects',
149
+ version: '6.0.0'
150
+ });
151
+ const appTree = await baseRunner.runSchematic(
152
+ 'application',
153
+ {
154
+ name: APPNAME,
155
+ inlineStyle: false,
156
+ inlineTemplate: false,
157
+ routing: false,
158
+ style: 'css',
159
+ skipTests: false,
160
+ skipPackageJson: false
161
+ },
162
+ workspaceTree
163
+ );
164
+ const alainRunner = createAlainRunner();
165
+ tree = await alainRunner.runSchematic(
166
+ 'ng-add',
167
+ {
168
+ skipPackageJson: false,
169
+ tailwindcss: true
170
+ },
171
+ appTree
172
+ );
173
+ });
174
+
175
+ it(`should add tailwindcss as devDependencies`, () => {
176
+ const packageJson = JSON.parse(tree.readContent('package.json'));
177
+ expect(packageJson.devDependencies['tailwindcss']).toBeDefined();
178
+ expect(packageJson.devDependencies['@tailwindcss/postcss']).toBeDefined();
179
+ expect(packageJson.devDependencies['postcss']).toBeDefined();
180
+ expect(packageJson.devDependencies['postcss-less']).toBeDefined();
181
+ });
182
+
183
+ it(`should generate .postcssrc.json`, () => {
184
+ expect(tree.exists('.postcssrc.json')).toBe(true);
185
+ const postcssrc = JSON.parse(tree.readContent('.postcssrc.json'));
186
+ expect(postcssrc.plugins['@tailwindcss/postcss']).toEqual({});
187
+ });
188
+
189
+ it(`should generate src/tailwind.css`, () => {
190
+ expect(tree.exists(`/projects/${APPNAME}/src/tailwind.css`)).toBe(true);
191
+ const content = tree.readContent(`/projects/${APPNAME}/src/tailwind.css`);
192
+ expect(content).toContain(`@layer theme, base, ng-alain, utilities;`);
193
+ expect(content).toContain(`@import 'tailwindcss'`);
194
+ });
195
+
196
+ it(`should handle styles.less gracefully when file does not exist (no crash)`, () => {
197
+ // removeOrginalFiles deletes styles.less before addTailwindcss
198
+ // In test env (--style css), styles.less never existed
199
+ // The function should handle missing styles.less gracefully
200
+ expect(tree.exists(`/projects/${APPNAME}/src/styles.less`)).toBe(false);
201
+ });
202
+
203
+ it(`should add src/tailwind.css to angular.json styles`, () => {
204
+ const angularJson = JSON.parse(tree.readContent('angular.json'));
205
+ const styles = angularJson.projects[APPNAME].architect.build.options.styles;
206
+ expect(styles.some((s: string) => s.includes('tailwind.css'))).toBe(true);
207
+ });
208
+
209
+ it(`should update .vscode/extensions.json with tailwindcss recommendation`, () => {
210
+ expect(tree.exists('.vscode/extensions.json')).toBe(true);
211
+ const ext = JSON.parse(tree.readContent('.vscode/extensions.json'));
212
+ expect(ext.recommendations).toContain('bradlc.vscode-tailwindcss');
213
+ });
214
+ });
215
+ });
216
+
130
217
  describe('#multiple-projects', () => {
131
218
  let runner: SchematicTestRunner;
132
219
  let tree: UnitTestTree;
@@ -192,9 +192,9 @@ function addCodeStylesToPackageJson(): Rule {
192
192
  tree,
193
193
  [
194
194
  `husky@^9.1.7`,
195
- `lint-staged@^16.3.2`,
196
- `prettier@^3.8.1`,
197
- `stylelint@^17.6.0`,
195
+ `lint-staged@^16.4.0`,
196
+ `prettier@^3.8.3`,
197
+ `stylelint@^17.9.1`,
198
198
  `stylelint-config-standard@^40.0.0`,
199
199
  `stylelint-declaration-block-no-ignored-properties@^3.0.0`,
200
200
  `stylelint-config-clean-order@^8.0.1`,
@@ -385,6 +385,65 @@ function fixNgAlainJson(): Rule {
385
385
  };
386
386
  }
387
387
 
388
+ function addTailwindcss(options: ApplicationOptions): Rule {
389
+ if (!options.tailwindcss) return noop();
390
+
391
+ const sourceRoot = project.sourceRoot!;
392
+ const prefix = mulitProject ? `projects/${projectName}/` : '';
393
+
394
+ return chain([
395
+ (tree: Tree) => {
396
+ // Add devDependencies
397
+ addPackage(
398
+ tree,
399
+ [
400
+ 'tailwindcss@^4.3.0',
401
+ '@tailwindcss/postcss@^4.1.12',
402
+ 'postcss@^8.5.3',
403
+ 'postcss-less@^6.0.0'
404
+ ],
405
+ 'devDependencies'
406
+ );
407
+
408
+ // Create .postcssrc.json
409
+ tree.create('.postcssrc.json', `${JSON.stringify({ plugins: { '@tailwindcss/postcss': {} } }, null, 2)}\n`);
410
+
411
+ // Create src/tailwind.css
412
+ tree.create(`${sourceRoot}/tailwind.css`, `@layer theme, base, ng-alain, utilities;\n\n@import 'tailwindcss';\n`);
413
+
414
+ // Wrap styles.less in @layer ng-alain
415
+ const stylesLessPath = `${sourceRoot}/styles.less`;
416
+ if (tree.exists(stylesLessPath)) {
417
+ const content = tree.read(stylesLessPath)!.toString('utf8');
418
+ const wrappedContent = `/* stylelint-disable no-invalid-position-at-import-rule */\n@layer ng-alain {\n${content}}\n`;
419
+ tree.overwrite(stylesLessPath, wrappedContent);
420
+ }
421
+
422
+ // Create/update .vscode/extensions.json with tailwindcss recommendation
423
+ const extPath = '.vscode/extensions.json';
424
+ const extId = 'bradlc.vscode-tailwindcss';
425
+ if (tree.exists(extPath)) {
426
+ const json = readJSON(tree, extPath);
427
+ if (!json.recommendations) json.recommendations = [];
428
+ if (!json.recommendations.includes(extId)) json.recommendations.push(extId);
429
+ writeJSON(tree, extPath, json);
430
+ } else {
431
+ tree.create(extPath, `${JSON.stringify({ recommendations: [extId] }, null, 2)}\n`);
432
+ }
433
+
434
+ return tree;
435
+ },
436
+ // Add src/tailwind.css to angular.json styles
437
+ addAssetsToTarget(
438
+ [{ type: 'style', value: `${prefix}src/tailwind.css` }],
439
+ 'add',
440
+ [BUILD_TARGET_BUILD],
441
+ projectName,
442
+ false
443
+ )
444
+ ]);
445
+ }
446
+
388
447
  export default function (options: ApplicationOptions): Rule {
389
448
  return async (tree: Tree, context: SchematicContext) => {
390
449
  const res = await getProject(tree, options.project);
@@ -411,6 +470,7 @@ export default function (options: ApplicationOptions): Rule {
411
470
  addFilesToRoot(options),
412
471
  forceLess(),
413
472
  addStyle(),
473
+ addTailwindcss(options),
414
474
  fixLang(options),
415
475
  fixAngularJson(),
416
476
  fixBrowserBuilderBudgets(),
@@ -4,6 +4,11 @@
4
4
  "title": "NG-ALAIN Shell Options Schema",
5
5
  "type": "object",
6
6
  "properties": {
7
+ "tailwindcss": {
8
+ "type": "boolean",
9
+ "default": false,
10
+ "description": "Generate Tailwind CSS plugin"
11
+ },
7
12
  "codeStyle": {
8
13
  "type": "boolean",
9
14
  "default": true,
@@ -3,6 +3,7 @@ export interface Schema {
3
3
  mock?: boolean;
4
4
  reuseTab?: boolean;
5
5
  i18n?: boolean;
6
+ tailwindcss?: boolean;
6
7
  codeStyle?: boolean;
7
8
  project?: string;
8
9
  defaultLanguage?: string;
@@ -56,6 +56,12 @@
56
56
  ]
57
57
  }
58
58
  },
59
+ "tailwindcss": {
60
+ "type": "boolean",
61
+ "default": false,
62
+ "description": "Generate Tailwind CSS plugin",
63
+ "x-prompt": "Would you like to add Tailwind CSS? (default: N)"
64
+ },
59
65
  "codeStyle": {
60
66
  "type": "boolean",
61
67
  "default": true,
package/ng-add/schema.ts CHANGED
@@ -5,5 +5,6 @@ export interface Schema {
5
5
  reuseTab?: boolean;
6
6
  defaultLanguage?: string;
7
7
  i18n?: boolean;
8
+ tailwindcss?: boolean;
8
9
  codeStyle?: boolean;
9
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-alain",
3
- "version": "21.1.0",
3
+ "version": "21.3.0",
4
4
  "description": "Schematics specific to NG-ALAIN",
5
5
  "author": "cipchk<cipchk@qq.com>",
6
6
  "license": "MIT",
@@ -25,7 +25,7 @@
25
25
  "swagger-typescript-api": "^12.0.4",
26
26
  "ng-alain-sts": "^0.0.2",
27
27
  "ng-alain-plugin-theme": "^18.0.0",
28
- "@angular/cdk": "^21.2.4"
28
+ "@angular/cdk": "^21.2.9"
29
29
  },
30
30
  "ng-update": {
31
31
  "migrations": "./migration.json",
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZORROVERSION = exports.VERSION = void 0;
4
- exports.VERSION = '^21.1.0';
5
- exports.ZORROVERSION = '^21.2.0';
4
+ exports.VERSION = '^21.3.0';
5
+ exports.ZORROVERSION = '^21.2.2';
6
6
  //# sourceMappingURL=lib-versions.js.map
@@ -1,2 +1,2 @@
1
- export const VERSION = '^21.1.0';
2
- export const ZORROVERSION = '^21.2.0';
1
+ export const VERSION = '^21.3.0';
2
+ export const ZORROVERSION = '^21.2.2';
package/utils/versions.js CHANGED
@@ -22,25 +22,25 @@ function UpgradeMainVersions(tree, version = lib_versions_1.VERSION) {
22
22
  (0, package_1.addPackage)(tree, ['abc', 'acl', 'auth', 'cache', 'form', 'mock', 'theme', 'util', 'chart'].map(name => `@delon/${name}@${version}`));
23
23
  (0, package_1.addPackage)(tree, [
24
24
  `angular-eslint@^21.3.1`,
25
- `@typescript-eslint/eslint-plugin@^8.57.2`,
26
- `@typescript-eslint/parser@^8.57.2`,
27
- `@typescript-eslint/utils@^8.57.2`,
28
- `eslint@^9.39.3`,
25
+ `@typescript-eslint/eslint-plugin@^8.59.1`,
26
+ `@typescript-eslint/parser@^8.59.1`,
27
+ `@typescript-eslint/utils@^8.59.1`,
28
+ `eslint@^9.39.4`,
29
29
  `eslint-config-prettier@^10.1.8`,
30
30
  `eslint-plugin-import@~2.32.0`,
31
- `eslint-plugin-jsdoc@~62.8.1`,
31
+ `eslint-plugin-jsdoc@~62.9.0`,
32
32
  `eslint-plugin-prefer-arrow@~1.2.3`,
33
33
  `eslint-plugin-prettier@~5.5.5`,
34
34
  `eslint-plugin-unused-imports@^4.4.1`,
35
35
  `typescript@~5.9.2`,
36
- `typescript-eslint@^8.56.1`,
37
- `prettier@^3.8.1`,
36
+ `typescript-eslint@^8.59.1`,
37
+ `prettier@^3.8.3`,
38
38
  `husky@^9.1.7`,
39
39
  `ng-alain@${version}`,
40
40
  `ng-alain-plugin-theme@^18.0.0`,
41
41
  `source-map-explorer@^2.5.3`,
42
42
  `ngx-tinymce@^21.0.0`,
43
- `@ng-util/monaco-editor@^21.1.0`,
43
+ `@ng-util/monaco-editor@^21.2.0`,
44
44
  `@delon/testing@${version}`,
45
45
  // vi test
46
46
  // `@playwright/test@undefined`,
@@ -55,7 +55,7 @@ function UpgradeMainVersions(tree, version = lib_versions_1.VERSION) {
55
55
  `vitest@^4.0.16`,
56
56
  `jsdom@^27.4.0`
57
57
  ], 'devDependencies');
58
- (0, package_1.addPackage)(tree, [`rxjs@~7.8.0`, `ng-zorro-antd@^21.2.0`]);
58
+ (0, package_1.addPackage)(tree, [`rxjs@~7.8.0`, `ng-zorro-antd@^21.2.2`]);
59
59
  }
60
60
  function addESLintRule(projectName) {
61
61
  return (0, workspace_1.updateWorkspace)((workspace) => __awaiter(this, void 0, void 0, function* () {
package/utils/versions.ts CHANGED
@@ -17,25 +17,25 @@ export function UpgradeMainVersions(tree: Tree, version: string = VERSION): void
17
17
  tree,
18
18
  [
19
19
  `angular-eslint@^21.3.1`,
20
- `@typescript-eslint/eslint-plugin@^8.57.2`,
21
- `@typescript-eslint/parser@^8.57.2`,
22
- `@typescript-eslint/utils@^8.57.2`,
23
- `eslint@^9.39.3`,
20
+ `@typescript-eslint/eslint-plugin@^8.59.1`,
21
+ `@typescript-eslint/parser@^8.59.1`,
22
+ `@typescript-eslint/utils@^8.59.1`,
23
+ `eslint@^9.39.4`,
24
24
  `eslint-config-prettier@^10.1.8`,
25
25
  `eslint-plugin-import@~2.32.0`,
26
- `eslint-plugin-jsdoc@~62.8.1`,
26
+ `eslint-plugin-jsdoc@~62.9.0`,
27
27
  `eslint-plugin-prefer-arrow@~1.2.3`,
28
28
  `eslint-plugin-prettier@~5.5.5`,
29
29
  `eslint-plugin-unused-imports@^4.4.1`,
30
30
  `typescript@~5.9.2`,
31
- `typescript-eslint@^8.56.1`,
32
- `prettier@^3.8.1`,
31
+ `typescript-eslint@^8.59.1`,
32
+ `prettier@^3.8.3`,
33
33
  `husky@^9.1.7`,
34
34
  `ng-alain@${version}`,
35
35
  `ng-alain-plugin-theme@^18.0.0`,
36
36
  `source-map-explorer@^2.5.3`,
37
37
  `ngx-tinymce@^21.0.0`,
38
- `@ng-util/monaco-editor@^21.1.0`,
38
+ `@ng-util/monaco-editor@^21.2.0`,
39
39
  `@delon/testing@${version}`,
40
40
  // vi test
41
41
  // `@playwright/test@undefined`,
@@ -52,7 +52,7 @@ export function UpgradeMainVersions(tree: Tree, version: string = VERSION): void
52
52
  ],
53
53
  'devDependencies'
54
54
  );
55
- addPackage(tree, [`rxjs@~7.8.0`, `ng-zorro-antd@^21.2.0`]);
55
+ addPackage(tree, [`rxjs@~7.8.0`, `ng-zorro-antd@^21.2.2`]);
56
56
  }
57
57
 
58
58
  export function addESLintRule(projectName: string): Rule {