@nrwl/js 13.8.2 → 13.8.4
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/executors.json +0 -10
- package/generators.json +0 -14
- package/migrations.json +8 -1
- package/package.json +5 -5
- package/src/executors/swc/schema.json +18 -1
- package/src/executors/swc/swc.impl.js +17 -11
- package/src/executors/swc/swc.impl.js.map +1 -1
- package/src/executors/tsc/schema.json +11 -0
- package/src/executors/tsc/tsc.impl.js +3 -3
- package/src/executors/tsc/tsc.impl.js.map +1 -1
- package/src/generators/library/library.d.ts +12 -2
- package/src/generators/library/library.js +190 -3
- package/src/generators/library/library.js.map +1 -1
- package/src/index.d.ts +0 -1
- package/src/index.js +1 -3
- package/src/index.js.map +1 -1
- package/src/migrations/update-13-9-0/update-node-executor.d.ts +2 -0
- package/src/migrations/update-13-9-0/update-node-executor.js +28 -0
- package/src/migrations/update-13-9-0/update-node-executor.js.map +1 -0
- package/src/utils/check-dependencies.d.ts +4 -1
- package/src/utils/check-dependencies.js +4 -0
- package/src/utils/check-dependencies.js.map +1 -1
- package/src/utils/copy-assets-handler.js +2 -1
- package/src/utils/copy-assets-handler.js.map +1 -1
- package/src/utils/schema.d.ts +5 -7
- package/src/utils/swc/compile-swc.js +5 -8
- package/src/utils/swc/compile-swc.js.map +1 -1
- package/src/utils/update-package-json.d.ts +4 -1
- package/src/utils/update-package-json.js +10 -9
- package/src/utils/update-package-json.js.map +1 -1
- package/src/utils/versions.d.ts +3 -3
- package/src/utils/versions.js +4 -4
- package/src/utils/versions.js.map +1 -1
- package/src/executors/node/compat.d.ts +0 -2
- package/src/executors/node/compat.js +0 -6
- package/src/executors/node/compat.js.map +0 -1
- package/src/executors/node/node-with-require-overrides.d.ts +0 -5
- package/src/executors/node/node-with-require-overrides.js +0 -20
- package/src/executors/node/node-with-require-overrides.js.map +0 -1
- package/src/executors/node/node.impl.d.ts +0 -5
- package/src/executors/node/node.impl.js +0 -142
- package/src/executors/node/node.impl.js.map +0 -1
- package/src/executors/node/schema.d.ts +0 -16
- package/src/executors/node/schema.json +0 -72
- package/src/generators/application/application.d.ts +0 -5
- package/src/generators/application/application.js +0 -17
- package/src/generators/application/application.js.map +0 -1
- package/src/generators/application/files/README.md +0 -19
- package/src/generators/application/files/package.json__tmpl__ +0 -5
- package/src/generators/application/files/src/app/__fileName__.spec.ts__tmpl__ +0 -7
- package/src/generators/application/files/src/app/__fileName__.ts__tmpl__ +0 -3
- package/src/generators/application/files/src/index.ts__tmpl__ +0 -3
- package/src/generators/application/files/tsconfig.app.json__tmpl__ +0 -10
- package/src/generators/application/files/tsconfig.json__tmpl__ +0 -14
- package/src/generators/application/schema.json +0 -99
- package/src/utils/project-generator.d.ts +0 -12
- package/src/utils/project-generator.js +0 -203
- package/src/utils/project-generator.js.map +0 -1
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/schema",
|
|
3
|
-
"$id": "NxTypescriptApplication",
|
|
4
|
-
"cli": "nx",
|
|
5
|
-
"title": "Create a TypeScript application",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"examples": [
|
|
8
|
-
{
|
|
9
|
-
"command": "g lib mylib --directory=myapp",
|
|
10
|
-
"description": "Generate libs/myapp/mylib"
|
|
11
|
-
}
|
|
12
|
-
],
|
|
13
|
-
"properties": {
|
|
14
|
-
"name": {
|
|
15
|
-
"type": "string",
|
|
16
|
-
"description": "Library name",
|
|
17
|
-
"$default": {
|
|
18
|
-
"$source": "argv",
|
|
19
|
-
"index": 0
|
|
20
|
-
},
|
|
21
|
-
"x-prompt": "What name would you like to use for the library?",
|
|
22
|
-
"pattern": "^[a-zA-Z].*$"
|
|
23
|
-
},
|
|
24
|
-
"directory": {
|
|
25
|
-
"type": "string",
|
|
26
|
-
"description": "A directory where the lib is placed"
|
|
27
|
-
},
|
|
28
|
-
"linter": {
|
|
29
|
-
"description": "The tool to use for running lint checks.",
|
|
30
|
-
"type": "string",
|
|
31
|
-
"enum": ["eslint", "none"],
|
|
32
|
-
"default": "eslint"
|
|
33
|
-
},
|
|
34
|
-
"unitTestRunner": {
|
|
35
|
-
"type": "string",
|
|
36
|
-
"enum": ["jest", "none"],
|
|
37
|
-
"description": "Test runner to use for unit tests",
|
|
38
|
-
"default": "jest"
|
|
39
|
-
},
|
|
40
|
-
"tags": {
|
|
41
|
-
"type": "string",
|
|
42
|
-
"description": "Add tags to the library (used for linting)"
|
|
43
|
-
},
|
|
44
|
-
"skipFormat": {
|
|
45
|
-
"description": "Skip formatting files",
|
|
46
|
-
"type": "boolean",
|
|
47
|
-
"default": false
|
|
48
|
-
},
|
|
49
|
-
"skipTsConfig": {
|
|
50
|
-
"type": "boolean",
|
|
51
|
-
"description": "Do not update tsconfig.json for development experience.",
|
|
52
|
-
"default": false
|
|
53
|
-
},
|
|
54
|
-
"testEnvironment": {
|
|
55
|
-
"type": "string",
|
|
56
|
-
"enum": ["jsdom", "node"],
|
|
57
|
-
"description": "The test environment to use if unitTestRunner is set to jest",
|
|
58
|
-
"default": "jsdom"
|
|
59
|
-
},
|
|
60
|
-
"importPath": {
|
|
61
|
-
"type": "string",
|
|
62
|
-
"description": "The library name used to import it, like @myorg/my-awesome-lib"
|
|
63
|
-
},
|
|
64
|
-
"pascalCaseFiles": {
|
|
65
|
-
"type": "boolean",
|
|
66
|
-
"description": "Use pascal case file names.",
|
|
67
|
-
"alias": "P",
|
|
68
|
-
"default": false
|
|
69
|
-
},
|
|
70
|
-
"js": {
|
|
71
|
-
"type": "boolean",
|
|
72
|
-
"description": "Generate JavaScript files rather than TypeScript files",
|
|
73
|
-
"default": false
|
|
74
|
-
},
|
|
75
|
-
"strict": {
|
|
76
|
-
"type": "boolean",
|
|
77
|
-
"description": "Whether to enable tsconfig strict mode or not.",
|
|
78
|
-
"default": true
|
|
79
|
-
},
|
|
80
|
-
"setParserOptionsProject": {
|
|
81
|
-
"type": "boolean",
|
|
82
|
-
"description": "Whether or not to configure the ESLint \"parserOptions.project\" option. We do not do this by default for lint performance reasons.",
|
|
83
|
-
"default": false
|
|
84
|
-
},
|
|
85
|
-
"config": {
|
|
86
|
-
"type": "string",
|
|
87
|
-
"enum": ["workspace", "project", "npm-scripts"],
|
|
88
|
-
"default": "project",
|
|
89
|
-
"description": "Determines whether the project's executors should be configured in workspace.json, project.json or as npm scripts"
|
|
90
|
-
},
|
|
91
|
-
"compiler": {
|
|
92
|
-
"type": "string",
|
|
93
|
-
"enum": ["tsc", "swc"],
|
|
94
|
-
"default": "tsc",
|
|
95
|
-
"description": "The compiler used by the build and test targets"
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
"required": ["name"]
|
|
99
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { GeneratorCallback, Tree } from '@nrwl/devkit';
|
|
2
|
-
import { GeneratorSchema } from './schema';
|
|
3
|
-
export declare function projectGenerator(tree: Tree, schema: GeneratorSchema, destinationDir: string, filesDir: string, projectType: 'library' | 'application'): Promise<GeneratorCallback>;
|
|
4
|
-
export interface NormalizedSchema extends GeneratorSchema {
|
|
5
|
-
name: string;
|
|
6
|
-
fileName: string;
|
|
7
|
-
projectRoot: string;
|
|
8
|
-
projectDirectory: string;
|
|
9
|
-
parsedTags: string[];
|
|
10
|
-
importPath?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function addLint(tree: Tree, options: NormalizedSchema): Promise<GeneratorCallback>;
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addLint = exports.projectGenerator = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const devkit_1 = require("@nrwl/devkit");
|
|
6
|
-
const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial");
|
|
7
|
-
const path_1 = require("path");
|
|
8
|
-
const add_swc_config_1 = require("./swc/add-swc-config");
|
|
9
|
-
const add_swc_dependencies_1 = require("./swc/add-swc-dependencies");
|
|
10
|
-
// nx-ignore-next-line
|
|
11
|
-
const { jestProjectGenerator } = require('@nrwl/jest');
|
|
12
|
-
// nx-ignore-next-line
|
|
13
|
-
const { lintProjectGenerator, Linter } = require('@nrwl/linter');
|
|
14
|
-
function projectGenerator(tree, schema, destinationDir, filesDir, projectType) {
|
|
15
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
16
|
-
const options = normalizeOptions(tree, schema, destinationDir);
|
|
17
|
-
createFiles(tree, options, filesDir);
|
|
18
|
-
addProject(tree, options, destinationDir, projectType);
|
|
19
|
-
if (!schema.skipTsConfig) {
|
|
20
|
-
updateRootTsConfig(tree, options);
|
|
21
|
-
}
|
|
22
|
-
const tasks = [];
|
|
23
|
-
if (options.linter !== 'none') {
|
|
24
|
-
const lintCallback = yield addLint(tree, options);
|
|
25
|
-
tasks.push(lintCallback);
|
|
26
|
-
}
|
|
27
|
-
if (options.unitTestRunner === 'jest') {
|
|
28
|
-
const jestCallback = yield addJest(tree, options);
|
|
29
|
-
tasks.push(jestCallback);
|
|
30
|
-
}
|
|
31
|
-
if (!options.skipFormat) {
|
|
32
|
-
yield (0, devkit_1.formatFiles)(tree);
|
|
33
|
-
}
|
|
34
|
-
return (0, run_tasks_in_serial_1.runTasksInSerial)(...tasks);
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
exports.projectGenerator = projectGenerator;
|
|
38
|
-
function addProject(tree, options, destinationDir, projectType) {
|
|
39
|
-
const projectConfiguration = {
|
|
40
|
-
root: options.projectRoot,
|
|
41
|
-
sourceRoot: (0, devkit_1.joinPathFragments)(options.projectRoot, 'src'),
|
|
42
|
-
projectType: projectType,
|
|
43
|
-
targets: {},
|
|
44
|
-
tags: options.parsedTags,
|
|
45
|
-
};
|
|
46
|
-
if (options.buildable && options.config != 'npm-scripts') {
|
|
47
|
-
projectConfiguration.targets.build = {
|
|
48
|
-
executor: `@nrwl/js:${options.compiler}`,
|
|
49
|
-
outputs: ['{options.outputPath}'],
|
|
50
|
-
options: {
|
|
51
|
-
outputPath: `dist/${destinationDir}/${options.projectDirectory}`,
|
|
52
|
-
main: `${options.projectRoot}/src/index` + (options.js ? '.js' : '.ts'),
|
|
53
|
-
tsConfig: `${options.projectRoot}/${projectType === 'library' ? 'tsconfig.lib.json' : 'tsconfig.app.json'}`,
|
|
54
|
-
assets: [`${options.projectRoot}/*.md`],
|
|
55
|
-
},
|
|
56
|
-
};
|
|
57
|
-
if (options.compiler === 'swc' && options.skipTypeCheck) {
|
|
58
|
-
projectConfiguration.targets.build.options.skipTypeCheck = true;
|
|
59
|
-
}
|
|
60
|
-
if (projectType === 'application') {
|
|
61
|
-
projectConfiguration.targets.serve = {
|
|
62
|
-
executor: `@nrwl/js:node`,
|
|
63
|
-
options: {
|
|
64
|
-
buildTarget: `${options.name}:build`,
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (options.config === 'workspace') {
|
|
70
|
-
(0, devkit_1.addProjectConfiguration)(tree, options.name, projectConfiguration, false);
|
|
71
|
-
}
|
|
72
|
-
else if (options.config === 'project') {
|
|
73
|
-
(0, devkit_1.addProjectConfiguration)(tree, options.name, projectConfiguration, true);
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
(0, devkit_1.addProjectConfiguration)(tree, options.name, {
|
|
77
|
-
root: projectConfiguration.root,
|
|
78
|
-
tags: projectConfiguration.tags,
|
|
79
|
-
}, true);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
function addLint(tree, options) {
|
|
83
|
-
return lintProjectGenerator(tree, {
|
|
84
|
-
project: options.name,
|
|
85
|
-
linter: options.linter,
|
|
86
|
-
skipFormat: true,
|
|
87
|
-
tsConfigPaths: [
|
|
88
|
-
(0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.lib.json'),
|
|
89
|
-
],
|
|
90
|
-
eslintFilePatterns: [
|
|
91
|
-
`${options.projectRoot}/**/*.${options.js ? 'js' : 'ts'}`,
|
|
92
|
-
],
|
|
93
|
-
setParserOptionsProject: options.setParserOptionsProject,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
exports.addLint = addLint;
|
|
97
|
-
function updateTsConfig(tree, options) {
|
|
98
|
-
(0, devkit_1.updateJson)(tree, (0, path_1.join)(options.projectRoot, 'tsconfig.json'), (json) => {
|
|
99
|
-
if (options.strict) {
|
|
100
|
-
json.compilerOptions = Object.assign(Object.assign({}, json.compilerOptions), { forceConsistentCasingInFileNames: true, strict: true, noImplicitOverride: true, noPropertyAccessFromIndexSignature: true, noImplicitReturns: true, noFallthroughCasesInSwitch: true });
|
|
101
|
-
}
|
|
102
|
-
return json;
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
function createFiles(tree, options, filesDir) {
|
|
106
|
-
const { className, name, propertyName } = (0, devkit_1.names)(options.name);
|
|
107
|
-
(0, devkit_1.generateFiles)(tree, filesDir, options.projectRoot, Object.assign(Object.assign({}, options), { dot: '.', className,
|
|
108
|
-
name,
|
|
109
|
-
propertyName, js: !!options.js, cliCommand: 'nx', strict: undefined, tmpl: '', offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot), buildable: options.buildable === true, hasUnitTestRunner: options.unitTestRunner !== 'none' }));
|
|
110
|
-
if (options.buildable && options.compiler === 'swc') {
|
|
111
|
-
(0, add_swc_dependencies_1.addSwcDependencies)(tree);
|
|
112
|
-
(0, add_swc_config_1.addSwcConfig)(tree, options.projectRoot);
|
|
113
|
-
}
|
|
114
|
-
if (options.unitTestRunner === 'none') {
|
|
115
|
-
tree.delete((0, path_1.join)(options.projectRoot, 'src/lib', `${options.fileName}.spec.ts`));
|
|
116
|
-
tree.delete((0, path_1.join)(options.projectRoot, 'src/app', `${options.fileName}.spec.ts`));
|
|
117
|
-
}
|
|
118
|
-
if (options.js) {
|
|
119
|
-
(0, devkit_1.toJS)(tree);
|
|
120
|
-
}
|
|
121
|
-
const packageJsonPath = (0, path_1.join)(options.projectRoot, 'package.json');
|
|
122
|
-
if (options.config === 'npm-scripts') {
|
|
123
|
-
(0, devkit_1.updateJson)(tree, packageJsonPath, (json) => {
|
|
124
|
-
json.scripts = {
|
|
125
|
-
build: "echo 'implement build'",
|
|
126
|
-
test: "echo 'implement test'",
|
|
127
|
-
};
|
|
128
|
-
return json;
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
else if (!options.buildable) {
|
|
132
|
-
tree.delete(packageJsonPath);
|
|
133
|
-
}
|
|
134
|
-
updateTsConfig(tree, options);
|
|
135
|
-
}
|
|
136
|
-
function addJest(tree, options) {
|
|
137
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
138
|
-
return yield jestProjectGenerator(tree, {
|
|
139
|
-
project: options.name,
|
|
140
|
-
setupFile: 'none',
|
|
141
|
-
supportTsx: false,
|
|
142
|
-
skipSerializers: true,
|
|
143
|
-
testEnvironment: options.testEnvironment,
|
|
144
|
-
skipFormat: true,
|
|
145
|
-
compiler: options.compiler,
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
function normalizeOptions(tree, options, destinationDir) {
|
|
150
|
-
if (options.config === 'npm-scripts') {
|
|
151
|
-
options.unitTestRunner = 'none';
|
|
152
|
-
options.linter = Linter.None;
|
|
153
|
-
options.buildable = false;
|
|
154
|
-
}
|
|
155
|
-
if (options.compiler === 'swc' && options.skipTypeCheck == null) {
|
|
156
|
-
options.skipTypeCheck = false;
|
|
157
|
-
}
|
|
158
|
-
const name = (0, devkit_1.names)(options.name).fileName;
|
|
159
|
-
const projectDirectory = options.directory
|
|
160
|
-
? `${(0, devkit_1.names)(options.directory).fileName}/${name}`
|
|
161
|
-
: name;
|
|
162
|
-
if (!options.unitTestRunner && options.config !== 'npm-scripts') {
|
|
163
|
-
options.unitTestRunner = 'jest';
|
|
164
|
-
}
|
|
165
|
-
if (!options.linter && options.config !== 'npm-scripts') {
|
|
166
|
-
options.linter = Linter.EsLint;
|
|
167
|
-
}
|
|
168
|
-
const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-');
|
|
169
|
-
const fileName = getCaseAwareFileName({
|
|
170
|
-
fileName: options.simpleModuleName ? name : projectName,
|
|
171
|
-
pascalCaseFiles: options.pascalCaseFiles,
|
|
172
|
-
});
|
|
173
|
-
const { npmScope } = (0, devkit_1.getWorkspaceLayout)(tree);
|
|
174
|
-
const projectRoot = (0, devkit_1.joinPathFragments)(destinationDir, projectDirectory);
|
|
175
|
-
const parsedTags = options.tags
|
|
176
|
-
? options.tags.split(',').map((s) => s.trim())
|
|
177
|
-
: [];
|
|
178
|
-
const defaultImportPath = `@${npmScope}/${projectDirectory}`;
|
|
179
|
-
const importPath = options.importPath || defaultImportPath;
|
|
180
|
-
return Object.assign(Object.assign({}, options), { fileName, name: projectName, projectRoot,
|
|
181
|
-
projectDirectory,
|
|
182
|
-
parsedTags,
|
|
183
|
-
importPath });
|
|
184
|
-
}
|
|
185
|
-
function getCaseAwareFileName(options) {
|
|
186
|
-
const normalized = (0, devkit_1.names)(options.fileName);
|
|
187
|
-
return options.pascalCaseFiles ? normalized.className : normalized.fileName;
|
|
188
|
-
}
|
|
189
|
-
function updateRootTsConfig(host, options) {
|
|
190
|
-
(0, devkit_1.updateJson)(host, 'tsconfig.base.json', (json) => {
|
|
191
|
-
const c = json.compilerOptions;
|
|
192
|
-
c.paths = c.paths || {};
|
|
193
|
-
delete c.paths[options.name];
|
|
194
|
-
if (c.paths[options.importPath]) {
|
|
195
|
-
throw new Error(`You already have a library using the import path "${options.importPath}". Make sure to specify a unique one.`);
|
|
196
|
-
}
|
|
197
|
-
c.paths[options.importPath] = [
|
|
198
|
-
(0, devkit_1.joinPathFragments)(options.projectRoot, './src', 'index.' + (options.js ? 'js' : 'ts')),
|
|
199
|
-
];
|
|
200
|
-
return json;
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
//# sourceMappingURL=project-generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-generator.js","sourceRoot":"","sources":["../../../../../packages/js/src/utils/project-generator.ts"],"names":[],"mappings":"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"}
|