@nestjs/schematics 10.0.3 → 10.1.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.
@@ -22,16 +22,16 @@
22
22
  },
23
23
  "devDependencies": {
24
24
  "@nestjs/testing": "^10.0.0",
25
- "@babel/core": "7.23.2",
25
+ "@babel/core": "7.23.7",
26
26
  "@babel/node": "7.22.19",
27
- "@babel/plugin-proposal-decorators": "7.23.2",
28
- "@babel/plugin-transform-runtime": "7.23.2",
29
- "@babel/preset-env": "7.23.2",
30
- "@babel/register": "7.22.15",
31
- "@babel/runtime": "7.23.2",
27
+ "@babel/plugin-proposal-decorators": "7.23.7",
28
+ "@babel/plugin-transform-runtime": "7.23.7",
29
+ "@babel/preset-env": "7.23.7",
30
+ "@babel/register": "7.23.7",
31
+ "@babel/runtime": "7.23.7",
32
32
  "jest": "29.7.0",
33
- "nodemon": "3.0.1",
34
- "prettier": "3.0.3",
33
+ "nodemon": "3.0.2",
34
+ "prettier": "3.1.1",
35
35
  "supertest": "6.3.3"
36
36
  },
37
37
  "jest": {
@@ -33,7 +33,7 @@
33
33
  "@types/express": "^4.17.17",
34
34
  "@types/jest": "^29.5.2",
35
35
  "@types/node": "^20.3.1",
36
- "@types/supertest": "^2.0.12",
36
+ "@types/supertest": "^6.0.0",
37
37
  "@typescript-eslint/eslint-plugin": "^6.0.0",
38
38
  "@typescript-eslint/parser": "^6.0.0",
39
39
  "eslint": "^8.42.0",
@@ -6,6 +6,7 @@ const schematics_1 = require("@angular-devkit/schematics");
6
6
  const jsonc_parser_1 = require("jsonc-parser");
7
7
  const formatting_1 = require("../../utils/formatting");
8
8
  const defaults_1 = require("../defaults");
9
+ const readers_1 = require("../readers");
9
10
  function main(options) {
10
11
  options = transform(options);
11
12
  return (0, schematics_1.chain)([
@@ -17,6 +18,24 @@ function main(options) {
17
18
  ]);
18
19
  }
19
20
  exports.main = main;
21
+ function getDefaultLibraryPrefix(defaultLibraryPrefix = '@app') {
22
+ const fileSystemReader = new readers_1.FileSystemReader(process.cwd());
23
+ const content = fileSystemReader.readSyncAnyOf([
24
+ 'nest-cli.json',
25
+ '.nestcli.json',
26
+ '.nest-cli.json',
27
+ 'nest.json',
28
+ ]);
29
+ try {
30
+ const nestJson = JSON.parse(content || '{}');
31
+ if (nestJson.hasOwnProperty('defaultLibraryPrefix')) {
32
+ return nestJson['defaultLibraryPrefix'];
33
+ }
34
+ }
35
+ catch (e) {
36
+ }
37
+ return defaultLibraryPrefix;
38
+ }
20
39
  function transform(options) {
21
40
  const target = Object.assign({}, options);
22
41
  const defaultSourceRoot = options.rootDir !== undefined ? options.rootDir : defaults_1.DEFAULT_LIB_PATH;
@@ -29,7 +48,7 @@ function transform(options) {
29
48
  target.path !== undefined
30
49
  ? (0, core_1.join)((0, core_1.normalize)(defaultSourceRoot), target.path)
31
50
  : (0, core_1.normalize)(defaultSourceRoot);
32
- target.prefix = target.prefix || '@app';
51
+ target.prefix = target.prefix || getDefaultLibraryPrefix();
33
52
  return target;
34
53
  }
35
54
  function updatePackageJson(options) {
@@ -16,7 +16,7 @@
16
16
  "prefix": {
17
17
  "type": "string",
18
18
  "description": "The prefix of the library.",
19
- "x-prompt": "What prefix would you like to use for the library (default: @app)?"
19
+ "x-prompt": "What prefix would you like to use for the library (default: @app or 'defaultLibraryPrefix' setting value)?"
20
20
  },
21
21
  "language": {
22
22
  "type": "string",
@@ -0,0 +1,10 @@
1
+ import { Reader } from './reader';
2
+ export declare class FileSystemReader implements Reader {
3
+ private readonly directory;
4
+ constructor(directory: string);
5
+ list(): Promise<string[]>;
6
+ read(name: string): Promise<string>;
7
+ readSync(name: string): string;
8
+ readAnyOf(filenames: string[]): Promise<string | undefined>;
9
+ readSyncAnyOf(filenames: string[]): string | undefined;
10
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileSystemReader = void 0;
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+ class FileSystemReader {
7
+ constructor(directory) {
8
+ this.directory = directory;
9
+ }
10
+ list() {
11
+ return fs.promises.readdir(this.directory);
12
+ }
13
+ read(name) {
14
+ return fs.promises.readFile(path.join(this.directory, name), 'utf8');
15
+ }
16
+ readSync(name) {
17
+ return fs.readFileSync(path.join(this.directory, name), 'utf8');
18
+ }
19
+ async readAnyOf(filenames) {
20
+ try {
21
+ for (const file of filenames) {
22
+ return await this.read(file);
23
+ }
24
+ }
25
+ catch (err) {
26
+ return filenames.length > 0
27
+ ? await this.readAnyOf(filenames.slice(1, filenames.length))
28
+ : undefined;
29
+ }
30
+ }
31
+ readSyncAnyOf(filenames) {
32
+ try {
33
+ for (const file of filenames) {
34
+ return this.readSync(file);
35
+ }
36
+ }
37
+ catch (err) {
38
+ return filenames.length > 0
39
+ ? this.readSyncAnyOf(filenames.slice(1, filenames.length))
40
+ : undefined;
41
+ }
42
+ }
43
+ }
44
+ exports.FileSystemReader = FileSystemReader;
@@ -0,0 +1,2 @@
1
+ export * from './reader';
2
+ export * from './file-system.reader';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./reader"), exports);
18
+ __exportStar(require("./file-system.reader"), exports);
@@ -0,0 +1,7 @@
1
+ export interface Reader {
2
+ list(): string[] | Promise<string[]>;
3
+ read(name: string): string | Promise<string>;
4
+ readSync(name: string): string;
5
+ readAnyOf(filenames: string[]): string | Promise<string | undefined>;
6
+ readSyncAnyOf(filenames: string[]): string | undefined;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestjs/schematics",
3
- "version": "10.0.3",
3
+ "version": "10.1.0",
4
4
  "description": "Nest - modern, fast, powerful node.js web framework (@schematics)",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -41,32 +41,32 @@
41
41
  },
42
42
  "homepage": "https://github.com/nestjs/schematics#readme",
43
43
  "dependencies": {
44
- "@angular-devkit/core": "16.2.8",
45
- "@angular-devkit/schematics": "16.2.8",
44
+ "@angular-devkit/core": "17.0.9",
45
+ "@angular-devkit/schematics": "17.0.9",
46
46
  "comment-json": "4.2.3",
47
47
  "jsonc-parser": "3.2.0",
48
48
  "pluralize": "8.0.0"
49
49
  },
50
50
  "devDependencies": {
51
- "@commitlint/cli": "18.2.0",
52
- "@commitlint/config-angular": "18.1.0",
53
- "@types/jest": "29.5.6",
54
- "@types/node": "20.8.9",
55
- "@typescript-eslint/eslint-plugin": "6.9.0",
56
- "@typescript-eslint/parser": "6.9.0",
51
+ "@commitlint/cli": "18.4.4",
52
+ "@commitlint/config-angular": "18.4.4",
53
+ "@types/jest": "29.5.11",
54
+ "@types/node": "20.10.7",
55
+ "@typescript-eslint/eslint-plugin": "6.18.0",
56
+ "@typescript-eslint/parser": "6.18.0",
57
57
  "cpx": "1.5.0",
58
- "eslint": "8.52.0",
59
- "eslint-config-prettier": "9.0.0",
60
- "eslint-plugin-import": "2.29.0",
58
+ "eslint": "8.56.0",
59
+ "eslint-config-prettier": "9.1.0",
60
+ "eslint-plugin-import": "2.29.1",
61
61
  "gulp": "4.0.2",
62
62
  "gulp-clean": "0.4.0",
63
63
  "husky": "8.0.3",
64
64
  "jest": "29.7.0",
65
65
  "nyc": "15.1.0",
66
- "release-it": "16.2.1",
66
+ "release-it": "17.0.1",
67
67
  "ts-jest": "29.1.1",
68
- "ts-node": "10.9.1",
69
- "typescript": "5.2.2"
68
+ "ts-node": "10.9.2",
69
+ "typescript": "5.3.3"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "typescript": ">=4.8.2"