@nestjs/cli 10.2.1 → 10.3.1

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.
@@ -21,7 +21,7 @@ jobs:
21
21
  build:
22
22
  working_directory: ~/nest
23
23
  docker:
24
- - image: cimg/node:21.1
24
+ - image: cimg/node:21.6
25
25
  steps:
26
26
  - checkout
27
27
  - run:
@@ -43,7 +43,7 @@ jobs:
43
43
  unit_tests:
44
44
  working_directory: ~/nest
45
45
  docker:
46
- - image: cimg/node:21.1
46
+ - image: cimg/node:21.6
47
47
  steps:
48
48
  - checkout
49
49
  - *restore-cache
@@ -8,9 +8,14 @@ interface PackageJsonDependencies {
8
8
  interface NestDependency {
9
9
  name: string;
10
10
  value: string;
11
+ packageName: string;
12
+ }
13
+ interface NestDependencyWarnings {
14
+ [key: string]: Array<NestDependency>;
11
15
  }
12
16
  export declare class InfoAction extends AbstractAction {
13
17
  private manager;
18
+ private warningMessageDependenciesWhiteList;
14
19
  handle(): Promise<void>;
15
20
  private displayBanner;
16
21
  private displaySystemInformation;
@@ -20,6 +25,8 @@ export declare class InfoAction extends AbstractAction {
20
25
  displayCliVersion(): void;
21
26
  readProjectPackageDependencies(): PackageJsonDependencies;
22
27
  displayNestVersions(dependencies: PackageJsonDependencies): void;
28
+ displayWarningMessage(nestDependencies: NestDependency[]): void;
29
+ buildNestVersionsWarningMessage(nestDependencies: NestDependency[]): NestDependencyWarnings;
23
30
  buildNestVersionsMessage(dependencies: PackageJsonDependencies): NestDependency[];
24
31
  collectNestDependencies(dependencies: PackageJsonDependencies): NestDependency[];
25
32
  format(dependencies: NestDependency[]): NestDependency[];
@@ -4,12 +4,26 @@ exports.InfoAction = void 0;
4
4
  const chalk = require("chalk");
5
5
  const fs_1 = require("fs");
6
6
  const os_1 = require("os");
7
- const osName = require("os-name");
8
7
  const path_1 = require("path");
9
8
  const package_managers_1 = require("../lib/package-managers");
10
9
  const ui_1 = require("../lib/ui");
11
10
  const abstract_action_1 = require("./abstract.action");
11
+ const os_info_utils_1 = require("../lib/utils/os-info.utils");
12
12
  class InfoAction extends abstract_action_1.AbstractAction {
13
+ constructor() {
14
+ super(...arguments);
15
+ // Nest dependencies whitelist used to compare minor version
16
+ this.warningMessageDependenciesWhiteList = [
17
+ '@nestjs/core',
18
+ '@nestjs/common',
19
+ '@nestjs/schematics',
20
+ '@nestjs/platform-express',
21
+ '@nestjs/platform-fastify',
22
+ '@nestjs/platform-socket.io',
23
+ '@nestjs/platform-ws',
24
+ '@nestjs/websockets',
25
+ ];
26
+ }
13
27
  async handle() {
14
28
  this.manager = await package_managers_1.PackageManagerFactory.find();
15
29
  this.displayBanner();
@@ -21,7 +35,7 @@ class InfoAction extends abstract_action_1.AbstractAction {
21
35
  }
22
36
  async displaySystemInformation() {
23
37
  console.info(chalk.green('[System Information]'));
24
- console.info('OS Version :', chalk.blue(osName((0, os_1.platform)(), (0, os_1.release)())));
38
+ console.info('OS Version :', chalk.blue((0, os_info_utils_1.default)((0, os_1.platform)(), (0, os_1.release)()), (0, os_1.release)()));
25
39
  console.info('NodeJS Version :', chalk.blue(process.version));
26
40
  await this.displayPackageManagerVersion();
27
41
  }
@@ -65,7 +79,64 @@ class InfoAction extends abstract_action_1.AbstractAction {
65
79
  return dependencies;
66
80
  }
67
81
  displayNestVersions(dependencies) {
68
- this.buildNestVersionsMessage(dependencies).forEach((dependency) => console.info(dependency.name, chalk.blue(dependency.value)));
82
+ const nestDependencies = this.buildNestVersionsMessage(dependencies);
83
+ nestDependencies.forEach((dependency) => console.info(dependency.name, chalk.blue(dependency.value)));
84
+ this.displayWarningMessage(nestDependencies);
85
+ }
86
+ displayWarningMessage(nestDependencies) {
87
+ try {
88
+ const warnings = this.buildNestVersionsWarningMessage(nestDependencies);
89
+ const minorVersions = Object.keys(warnings);
90
+ if (minorVersions.length > 0) {
91
+ console.info('\r');
92
+ console.info(chalk.yellow('[Warnings]'));
93
+ console.info('The following packages are not in the same minor version');
94
+ console.info('This could lead to runtime errors');
95
+ minorVersions.forEach((version) => {
96
+ console.info(chalk.bold(`* Under version ${version}`));
97
+ warnings[version].forEach(({ packageName, value }) => {
98
+ console.info(`- ${packageName} ${value}`);
99
+ });
100
+ });
101
+ }
102
+ }
103
+ catch {
104
+ console.info('\t');
105
+ console.error(chalk.red(ui_1.MESSAGES.NEST_INFORMATION_PACKAGE_WARNING_FAILED(this.warningMessageDependenciesWhiteList)));
106
+ }
107
+ }
108
+ buildNestVersionsWarningMessage(nestDependencies) {
109
+ const unsortedWarnings = nestDependencies.reduce((acc, { name, packageName, value }) => {
110
+ if (!this.warningMessageDependenciesWhiteList.includes(packageName)) {
111
+ return acc;
112
+ }
113
+ const cleanedValue = value.replace(/[^\d.]/g, '');
114
+ const [major, minor] = cleanedValue.split('.');
115
+ const minorVersion = `${major}.${minor}`;
116
+ acc[minorVersion] = [
117
+ ...(acc[minorVersion] || []),
118
+ { name, packageName, value },
119
+ ];
120
+ return acc;
121
+ }, {});
122
+ const unsortedMinorVersions = Object.keys(unsortedWarnings);
123
+ if (unsortedMinorVersions.length <= 1) {
124
+ return {};
125
+ }
126
+ const sortedMinorVersions = unsortedMinorVersions.sort((versionA, versionB) => {
127
+ const numA = parseFloat(versionA);
128
+ const numB = parseFloat(versionB);
129
+ if (isNaN(numA) && isNaN(numB)) {
130
+ // If both are not valid numbers, maintain the current order.
131
+ return 0;
132
+ }
133
+ // NaN is considered greater than any number, so if numA is NaN, place it later.
134
+ return isNaN(numA) ? 1 : isNaN(numB) ? -1 : numB - numA;
135
+ });
136
+ return sortedMinorVersions.reduce((warnings, minorVersion) => {
137
+ warnings[minorVersion] = unsortedWarnings[minorVersion];
138
+ return warnings;
139
+ }, {});
69
140
  }
70
141
  buildNestVersionsMessage(dependencies) {
71
142
  const nestDependencies = this.collectNestDependencies(dependencies);
@@ -83,6 +154,7 @@ class InfoAction extends abstract_action_1.AbstractAction {
83
154
  nestDependencies.push({
84
155
  name: `${key.replace(/@nestjs\//, '').replace(/@.*/, '')} version`,
85
156
  value: value || dependencies[key].version,
157
+ packageName: key,
86
158
  });
87
159
  }
88
160
  });
@@ -53,7 +53,7 @@ class AssetsManager {
53
53
  outDir: item.outDir || outDir,
54
54
  glob: (0, path_1.join)(sourceRoot, item.include),
55
55
  exclude: item.exclude ? (0, path_1.join)(sourceRoot, item.exclude) : undefined,
56
- flat: item.flat,
56
+ flat: item.flat, // deprecated field
57
57
  watchAssets: item.watchAssets,
58
58
  };
59
59
  });
@@ -76,8 +76,7 @@ class AssetsManager {
76
76
  this.watchers.push(watcher);
77
77
  }
78
78
  else {
79
- const files = (0, glob_1.sync)(item.glob, { ignore: item.exclude })
80
- .filter((matched) => (0, fs_1.statSync)(matched).isFile());
79
+ const files = (0, glob_1.sync)(item.glob, { ignore: item.exclude }).filter((matched) => (0, fs_1.statSync)(matched).isFile());
81
80
  for (const path of files) {
82
81
  this.actionOnFile({ ...option, path, action: 'change' });
83
82
  }
@@ -2,6 +2,7 @@ import * as ts from 'typescript';
2
2
  import { Configuration } from '../../configuration';
3
3
  export declare const swcDefaultsFactory: (tsOptions?: ts.CompilerOptions, configuration?: Configuration) => {
4
4
  swcOptions: {
5
+ sourceMaps: string | boolean | undefined;
5
6
  module: {
6
7
  type: string;
7
8
  };
@@ -33,6 +34,7 @@ export declare const swcDefaultsFactory: (tsOptions?: ts.CompilerOptions, config
33
34
  includeDotfiles: boolean;
34
35
  quiet: boolean;
35
36
  watch: boolean;
37
+ stripLeadingPaths: boolean;
36
38
  } | {
37
39
  swcrcPath?: string | undefined;
38
40
  outDir: string;
@@ -43,6 +45,7 @@ export declare const swcDefaultsFactory: (tsOptions?: ts.CompilerOptions, config
43
45
  includeDotfiles: boolean;
44
46
  quiet: boolean;
45
47
  watch: boolean;
48
+ stripLeadingPaths: boolean;
46
49
  } | {
47
50
  configPath?: string | undefined;
48
51
  outDir: string;
@@ -53,5 +56,6 @@ export declare const swcDefaultsFactory: (tsOptions?: ts.CompilerOptions, config
53
56
  includeDotfiles: boolean;
54
57
  quiet: boolean;
55
58
  watch: boolean;
59
+ stripLeadingPaths: boolean;
56
60
  };
57
61
  };
@@ -7,6 +7,7 @@ const swcDefaultsFactory = (tsOptions, configuration) => {
7
7
  : {};
8
8
  return {
9
9
  swcOptions: {
10
+ sourceMaps: tsOptions?.sourceMap || (tsOptions?.inlineSourceMap && 'inline'),
10
11
  module: {
11
12
  type: 'commonjs',
12
13
  },
@@ -38,6 +39,7 @@ const swcDefaultsFactory = (tsOptions, configuration) => {
38
39
  includeDotfiles: false,
39
40
  quiet: false,
40
41
  watch: false,
42
+ stripLeadingPaths: true,
41
43
  ...builderOptions,
42
44
  },
43
45
  };
@@ -3,4 +3,4 @@ export declare const defaultConfiguration: Required<Configuration>;
3
3
  export declare const defaultTsconfigFilename: string;
4
4
  export declare const defaultWebpackConfigFilename = "webpack.config.js";
5
5
  export declare const defaultOutDir = "dist";
6
- export declare const defaultGitIgnore = "# compiled output\n/dist\n/node_modules\n\n# Logs\nlogs\n*.log\nnpm-debug.log*\npnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\nlerna-debug.log*\n\n# OS\n.DS_Store\n\n# Tests\n/coverage\n/.nyc_output\n\n# IDEs and editors\n/.idea\n.project\n.classpath\n.c9/\n*.launch\n.settings/\n*.sublime-workspace\n\n# IDE - VSCode\n.vscode/*\n!.vscode/settings.json\n!.vscode/tasks.json\n!.vscode/launch.json\n!.vscode/extensions.json";
6
+ export declare const defaultGitIgnore = "# compiled output\n/dist\n/node_modules\n/build\n\n# Logs\nlogs\n*.log\nnpm-debug.log*\npnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\nlerna-debug.log*\n\n# OS\n.DS_Store\n\n# Tests\n/coverage\n/.nyc_output\n\n# IDEs and editors\n/.idea\n.project\n.classpath\n.c9/\n*.launch\n.settings/\n*.sublime-workspace\n\n# IDE - VSCode\n.vscode/*\n!.vscode/settings.json\n!.vscode/tasks.json\n!.vscode/launch.json\n!.vscode/extensions.json\n\n# dotenv environment variable files\n.env\n.env.development.local\n.env.test.local\n.env.production.local\n.env.local\n\n# temp directory\n.temp\n.tmp\n\n# Runtime data\npids\n*.pid\n*.seed\n*.pid.lock\n\n# Diagnostic reports (https://nodejs.org/api/report.html)\nreport.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json\n";
@@ -30,6 +30,7 @@ exports.defaultOutDir = 'dist';
30
30
  exports.defaultGitIgnore = `# compiled output
31
31
  /dist
32
32
  /node_modules
33
+ /build
33
34
 
34
35
  # Logs
35
36
  logs
@@ -61,4 +62,25 @@ lerna-debug.log*
61
62
  !.vscode/settings.json
62
63
  !.vscode/tasks.json
63
64
  !.vscode/launch.json
64
- !.vscode/extensions.json`;
65
+ !.vscode/extensions.json
66
+
67
+ # dotenv environment variable files
68
+ .env
69
+ .env.development.local
70
+ .env.test.local
71
+ .env.production.local
72
+ .env.local
73
+
74
+ # temp directory
75
+ .temp
76
+ .tmp
77
+
78
+ # Runtime data
79
+ pids
80
+ *.pid
81
+ *.seed
82
+ *.pid.lock
83
+
84
+ # Diagnostic reports (https://nodejs.org/api/report.html)
85
+ report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
86
+ `;
@@ -4,5 +4,5 @@ import { ConfigurationLoader } from './configuration.loader';
4
4
  export declare class NestConfigurationLoader implements ConfigurationLoader {
5
5
  private readonly reader;
6
6
  constructor(reader: Reader);
7
- load(name?: string): Promise<Required<Configuration>>;
7
+ load(name?: string): Required<Configuration>;
8
8
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NestConfigurationLoader = void 0;
4
+ const readers_1 = require("../readers");
4
5
  const defaults_1 = require("./defaults");
5
6
  /**
6
7
  * A cache table that maps some reader (by its name along with the config path)
@@ -13,23 +14,28 @@ class NestConfigurationLoader {
13
14
  constructor(reader) {
14
15
  this.reader = reader;
15
16
  }
16
- async load(name) {
17
+ load(name) {
17
18
  const cacheEntryKey = `${this.reader.constructor.name}:${name}`;
18
19
  const cachedConfig = loadedConfigsCache.get(cacheEntryKey);
19
20
  if (cachedConfig) {
20
21
  return cachedConfig;
21
22
  }
22
23
  let loadedConfig;
23
- const content = name
24
- ? await this.reader.read(name)
25
- : await this.reader.readAnyOf([
24
+ const contentOrError = name
25
+ ? this.reader.read(name)
26
+ : this.reader.readAnyOf([
26
27
  'nest-cli.json',
27
28
  '.nestcli.json',
28
29
  '.nest-cli.json',
29
30
  'nest.json',
30
31
  ]);
31
- if (content) {
32
- const fileConfig = JSON.parse(content);
32
+ if (contentOrError) {
33
+ const isMissingPersmissionsError = contentOrError instanceof readers_1.ReaderFileLackPersmissionsError;
34
+ if (isMissingPersmissionsError) {
35
+ console.error(contentOrError.message);
36
+ process.exit(1);
37
+ }
38
+ const fileConfig = JSON.parse(contentOrError);
33
39
  if (fileConfig.compilerOptions) {
34
40
  loadedConfig = {
35
41
  ...defaults_1.defaultConfiguration,
@@ -1,8 +1,8 @@
1
- import { Reader } from './reader';
1
+ import { Reader, ReaderFileLackPersmissionsError } from './reader';
2
2
  export declare class FileSystemReader implements Reader {
3
3
  private readonly directory;
4
4
  constructor(directory: string);
5
- list(): Promise<string[]>;
6
- read(name: string): Promise<string>;
7
- readAnyOf(filenames: string[]): Promise<string | undefined>;
5
+ list(): string[];
6
+ read(name: string): string;
7
+ readAnyOf(filenames: string[]): string | undefined | ReaderFileLackPersmissionsError;
8
8
  }
@@ -3,26 +3,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FileSystemReader = void 0;
4
4
  const fs = require("fs");
5
5
  const path = require("path");
6
+ const reader_1 = require("./reader");
6
7
  class FileSystemReader {
7
8
  constructor(directory) {
8
9
  this.directory = directory;
9
10
  }
10
11
  list() {
11
- return fs.promises.readdir(this.directory);
12
+ return fs.readdirSync(this.directory);
12
13
  }
13
14
  read(name) {
14
- return fs.promises.readFile(path.join(this.directory, name), 'utf8');
15
+ return fs.readFileSync(path.join(this.directory, name), 'utf8');
15
16
  }
16
- async readAnyOf(filenames) {
17
- try {
18
- for (const file of filenames) {
19
- return await this.read(file);
17
+ readAnyOf(filenames) {
18
+ let firstFilePathFoundButWithInsufficientPermissions;
19
+ for (let id = 0; id < filenames.length; id++) {
20
+ const file = filenames[id];
21
+ try {
22
+ return this.read(file);
23
+ }
24
+ catch (readErr) {
25
+ if (!firstFilePathFoundButWithInsufficientPermissions &&
26
+ typeof readErr?.code === 'string') {
27
+ const isInsufficientPermissionsError = readErr.code === 'EACCES' || readErr.code === 'EPERM';
28
+ if (isInsufficientPermissionsError) {
29
+ firstFilePathFoundButWithInsufficientPermissions = readErr.path;
30
+ }
31
+ }
32
+ const isLastFileToLookFor = id === filenames.length - 1;
33
+ if (!isLastFileToLookFor) {
34
+ continue;
35
+ }
36
+ if (firstFilePathFoundButWithInsufficientPermissions) {
37
+ return new reader_1.ReaderFileLackPersmissionsError(firstFilePathFoundButWithInsufficientPermissions, readErr.code);
38
+ }
39
+ else {
40
+ return undefined;
41
+ }
20
42
  }
21
- }
22
- catch (err) {
23
- return filenames.length > 0
24
- ? await this.readAnyOf(filenames.slice(1, filenames.length))
25
- : undefined;
26
43
  }
27
44
  }
28
45
  }
@@ -1,5 +1,10 @@
1
+ export declare class ReaderFileLackPersmissionsError extends Error {
2
+ readonly filePath: string;
3
+ readonly fsErrorCode: string;
4
+ constructor(filePath: string, fsErrorCode: string);
5
+ }
1
6
  export interface Reader {
2
- list(): string[] | Promise<string[]>;
3
- read(name: string): string | Promise<string>;
4
- readAnyOf(filenames: string[]): string | Promise<string | undefined>;
7
+ list(): string[];
8
+ read(name: string): string;
9
+ readAnyOf(filenames: string[]): string | undefined | ReaderFileLackPersmissionsError;
5
10
  }
@@ -1,2 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReaderFileLackPersmissionsError = void 0;
4
+ class ReaderFileLackPersmissionsError extends Error {
5
+ constructor(filePath, fsErrorCode) {
6
+ super(`File ${filePath} lacks read permissions!`);
7
+ this.filePath = filePath;
8
+ this.fsErrorCode = fsErrorCode;
9
+ }
10
+ }
11
+ exports.ReaderFileLackPersmissionsError = ReaderFileLackPersmissionsError;
@@ -16,6 +16,7 @@ export declare const MESSAGES: {
16
16
  START_COMMAND: (name: string) => string;
17
17
  PACKAGE_MANAGER_INSTALLATION_FAILED: (commandToRunManually: string) => string;
18
18
  NEST_INFORMATION_PACKAGE_MANAGER_FAILED: string;
19
+ NEST_INFORMATION_PACKAGE_WARNING_FAILED: (nestDependencies: string[]) => string;
19
20
  LIBRARY_INSTALLATION_FAILED_BAD_PACKAGE: (name: string) => string;
20
21
  LIBRARY_INSTALLATION_FAILED_NO_LIBRARY: string;
21
22
  LIBRARY_INSTALLATION_STARTS: string;
@@ -24,6 +24,7 @@ exports.MESSAGES = {
24
24
  PACKAGE_MANAGER_INSTALLATION_FAILED: (commandToRunManually) => `${emojis_1.EMOJIS.SCREAM} Packages installation failed!\nIn case you don't see any errors above, consider manually running the failed command ${commandToRunManually} to see more details on why it errored out.`,
25
25
  // tslint:disable-next-line:max-line-length
26
26
  NEST_INFORMATION_PACKAGE_MANAGER_FAILED: `${emojis_1.EMOJIS.SMIRK} cannot read your project package.json file, are you inside your project directory?`,
27
+ NEST_INFORMATION_PACKAGE_WARNING_FAILED: (nestDependencies) => `${emojis_1.EMOJIS.SMIRK} failed to compare dependencies versions, please check that following packages are in the same minor version : \n ${nestDependencies.join('\n')}`,
27
28
  LIBRARY_INSTALLATION_FAILED_BAD_PACKAGE: (name) => `Unable to install library ${name} because package did not install. Please check package name.`,
28
29
  LIBRARY_INSTALLATION_FAILED_NO_LIBRARY: 'No library found.',
29
30
  LIBRARY_INSTALLATION_STARTS: 'Starting library setup...',
@@ -0,0 +1 @@
1
+ export default function osName(platform: string, release: string): string;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function osName(platform, release) {
4
+ switch (platform) {
5
+ case 'darwin':
6
+ return Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X';
7
+ case 'linux':
8
+ return 'Linux';
9
+ case 'win32':
10
+ return 'Windows';
11
+ case 'freebsd':
12
+ return 'FreeBSD';
13
+ case 'openbsd':
14
+ return 'OpenBSD';
15
+ case 'sunos':
16
+ return 'Solaris';
17
+ case 'android':
18
+ return 'Android';
19
+ default:
20
+ return platform;
21
+ }
22
+ }
23
+ exports.default = osName;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestjs/cli",
3
- "version": "10.2.1",
3
+ "version": "10.3.1",
4
4
  "description": "Nest - modern, fast, powerful node.js web framework (@cli)",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -38,9 +38,9 @@
38
38
  },
39
39
  "homepage": "https://github.com/nestjs/nest-cli#readme",
40
40
  "dependencies": {
41
- "@angular-devkit/core": "16.2.8",
42
- "@angular-devkit/schematics": "16.2.8",
43
- "@angular-devkit/schematics-cli": "16.2.8",
41
+ "@angular-devkit/core": "17.1.2",
42
+ "@angular-devkit/schematics": "17.1.2",
43
+ "@angular-devkit/schematics-cli": "17.1.2",
44
44
  "@nestjs/schematics": "^10.0.1",
45
45
  "chalk": "4.1.2",
46
46
  "chokidar": "3.5.3",
@@ -51,48 +51,47 @@
51
51
  "inquirer": "8.2.6",
52
52
  "node-emoji": "1.11.0",
53
53
  "ora": "5.4.1",
54
- "os-name": "4.0.1",
55
54
  "rimraf": "4.4.1",
56
55
  "shelljs": "0.8.5",
57
56
  "source-map-support": "0.5.21",
58
57
  "tree-kill": "1.2.2",
59
58
  "tsconfig-paths": "4.2.0",
60
59
  "tsconfig-paths-webpack-plugin": "4.1.0",
61
- "typescript": "5.2.2",
62
- "webpack": "5.89.0",
60
+ "typescript": "5.3.3",
61
+ "webpack": "5.90.1",
63
62
  "webpack-node-externals": "3.0.0"
64
63
  },
65
64
  "devDependencies": {
66
- "@commitlint/cli": "18.2.0",
67
- "@commitlint/config-angular": "18.1.0",
68
- "@swc/cli": "0.1.62",
69
- "@swc/core": "1.3.95",
65
+ "@commitlint/cli": "18.6.0",
66
+ "@commitlint/config-angular": "18.6.0",
67
+ "@swc/cli": "0.3.6",
68
+ "@swc/core": "1.3.107",
70
69
  "@types/inquirer": "9.0.3",
71
- "@types/jest": "29.5.6",
72
- "@types/node": "20.8.9",
70
+ "@types/jest": "29.5.12",
71
+ "@types/node": "20.11.16",
73
72
  "@types/node-emoji": "1.8.2",
74
- "@types/shelljs": "0.8.14",
75
- "@types/webpack-node-externals": "3.0.3",
76
- "@typescript-eslint/eslint-plugin": "6.9.0",
77
- "@typescript-eslint/parser": "6.9.0",
73
+ "@types/shelljs": "0.8.15",
74
+ "@types/webpack-node-externals": "3.0.4",
75
+ "@typescript-eslint/eslint-plugin": "6.20.0",
76
+ "@typescript-eslint/parser": "6.20.0",
78
77
  "delete-empty": "3.0.0",
79
- "eslint": "8.52.0",
80
- "eslint-config-prettier": "9.0.0",
78
+ "eslint": "8.56.0",
79
+ "eslint-config-prettier": "9.1.0",
81
80
  "gulp": "4.0.2",
82
81
  "gulp-clean": "0.4.0",
83
- "husky": "8.0.3",
82
+ "husky": "9.0.10",
84
83
  "jest": "29.7.0",
85
- "lint-staged": "15.0.2",
86
- "prettier": "3.0.3",
87
- "release-it": "16.2.1",
88
- "ts-jest": "29.1.1",
89
- "ts-loader": "9.5.0"
84
+ "lint-staged": "15.2.1",
85
+ "prettier": "3.2.5",
86
+ "release-it": "17.0.3",
87
+ "ts-jest": "29.1.2",
88
+ "ts-loader": "9.5.1"
90
89
  },
91
90
  "lint-staged": {
92
91
  "**/*.{ts,json}": []
93
92
  },
94
93
  "peerDependencies": {
95
- "@swc/cli": "^0.1.62",
94
+ "@swc/cli": "^0.1.62 || ^0.3.0",
96
95
  "@swc/core": "^1.3.62"
97
96
  },
98
97
  "peerDependenciesMeta": {