@nrwl/js 13.8.3 → 13.8.4-beta.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.
Files changed (56) hide show
  1. package/executors.json +0 -10
  2. package/generators.json +0 -14
  3. package/migrations.json +8 -1
  4. package/package.json +5 -5
  5. package/src/executors/swc/schema.json +18 -1
  6. package/src/executors/swc/swc.impl.js +17 -11
  7. package/src/executors/swc/swc.impl.js.map +1 -1
  8. package/src/executors/tsc/schema.json +11 -0
  9. package/src/executors/tsc/tsc.impl.js +3 -3
  10. package/src/executors/tsc/tsc.impl.js.map +1 -1
  11. package/src/generators/library/library.d.ts +12 -2
  12. package/src/generators/library/library.js +190 -3
  13. package/src/generators/library/library.js.map +1 -1
  14. package/src/index.d.ts +0 -1
  15. package/src/index.js +1 -3
  16. package/src/index.js.map +1 -1
  17. package/src/migrations/update-13-9-0/update-node-executor.d.ts +2 -0
  18. package/src/migrations/update-13-9-0/update-node-executor.js +28 -0
  19. package/src/migrations/update-13-9-0/update-node-executor.js.map +1 -0
  20. package/src/utils/check-dependencies.d.ts +4 -1
  21. package/src/utils/check-dependencies.js +4 -0
  22. package/src/utils/check-dependencies.js.map +1 -1
  23. package/src/utils/schema.d.ts +5 -7
  24. package/src/utils/swc/compile-swc.js +5 -8
  25. package/src/utils/swc/compile-swc.js.map +1 -1
  26. package/src/utils/update-package-json.d.ts +4 -1
  27. package/src/utils/update-package-json.js +10 -9
  28. package/src/utils/update-package-json.js.map +1 -1
  29. package/src/utils/versions.d.ts +3 -3
  30. package/src/utils/versions.js +4 -4
  31. package/src/utils/versions.js.map +1 -1
  32. package/src/executors/node/compat.d.ts +0 -2
  33. package/src/executors/node/compat.js +0 -6
  34. package/src/executors/node/compat.js.map +0 -1
  35. package/src/executors/node/node-with-require-overrides.d.ts +0 -5
  36. package/src/executors/node/node-with-require-overrides.js +0 -20
  37. package/src/executors/node/node-with-require-overrides.js.map +0 -1
  38. package/src/executors/node/node.impl.d.ts +0 -5
  39. package/src/executors/node/node.impl.js +0 -142
  40. package/src/executors/node/node.impl.js.map +0 -1
  41. package/src/executors/node/schema.d.ts +0 -16
  42. package/src/executors/node/schema.json +0 -72
  43. package/src/generators/application/application.d.ts +0 -5
  44. package/src/generators/application/application.js +0 -17
  45. package/src/generators/application/application.js.map +0 -1
  46. package/src/generators/application/files/README.md +0 -19
  47. package/src/generators/application/files/package.json__tmpl__ +0 -5
  48. package/src/generators/application/files/src/app/__fileName__.spec.ts__tmpl__ +0 -7
  49. package/src/generators/application/files/src/app/__fileName__.ts__tmpl__ +0 -3
  50. package/src/generators/application/files/src/index.ts__tmpl__ +0 -3
  51. package/src/generators/application/files/tsconfig.app.json__tmpl__ +0 -10
  52. package/src/generators/application/files/tsconfig.json__tmpl__ +0 -14
  53. package/src/generators/application/schema.json +0 -99
  54. package/src/utils/project-generator.d.ts +0 -12
  55. package/src/utils/project-generator.js +0 -203
  56. 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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"}