@nrwl/js 14.5.1 → 14.5.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/CHANGELOG.md CHANGED
@@ -3,6 +3,6 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [14.5.1](https://github.com/nrwl/nx/compare/14.5.0...14.5.1) (2022-07-28)
6
+ ## [14.5.4](https://github.com/nrwl/nx/compare/14.5.3...14.5.4) (2022-08-04)
7
7
 
8
8
  **Note:** Version bump only for package @nrwl/js
package/executors.json CHANGED
@@ -10,6 +10,11 @@
10
10
  "implementation": "./src/executors/swc/swc.impl",
11
11
  "schema": "./src/executors/swc/schema.json",
12
12
  "description": "Build a project using SWC."
13
+ },
14
+ "node": {
15
+ "implementation": "./src/executors/node/node.impl",
16
+ "schema": "./src/executors/node/schema.json",
17
+ "description": "Execute a Node application."
13
18
  }
14
19
  },
15
20
  "builders": {
@@ -22,6 +27,11 @@
22
27
  "implementation": "./src/executors/swc/compat",
23
28
  "schema": "./src/executors/swc/schema.json",
24
29
  "description": "Build a project using SWC."
30
+ },
31
+ "node": {
32
+ "implementation": "./src/executors/node/compat",
33
+ "schema": "./src/executors/node/schema.json",
34
+ "description": "Execute a Node application."
25
35
  }
26
36
  }
27
37
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/js",
3
- "version": "14.5.1",
3
+ "version": "14.5.4",
4
4
  "description": "The Nx plugin that provides the best experience for developing JavaScript and TypeScript projects.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,10 +31,10 @@
31
31
  "executors": "./executors.json",
32
32
  "builders": "./executors.json",
33
33
  "dependencies": {
34
- "@nrwl/devkit": "14.5.1",
35
- "@nrwl/jest": "14.5.1",
36
- "@nrwl/linter": "14.5.1",
37
- "@nrwl/workspace": "14.5.1",
34
+ "@nrwl/devkit": "14.5.4",
35
+ "@nrwl/jest": "14.5.4",
36
+ "@nrwl/linter": "14.5.4",
37
+ "@nrwl/workspace": "14.5.4",
38
38
  "@parcel/watcher": "2.0.4",
39
39
  "chalk": "4.1.0",
40
40
  "fast-glob": "3.2.7",
@@ -45,5 +45,5 @@
45
45
  "source-map-support": "0.5.19",
46
46
  "tree-kill": "1.2.2"
47
47
  },
48
- "gitHead": "7f259493ac1f0bdb2ba7423d45ac9ec51c3f315c"
48
+ "gitHead": "bcc00c50e4e74ec991385d686493ff784817638c"
49
49
  }
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devkit_1 = require("@nrwl/devkit");
4
+ const node_impl_1 = require("./node.impl");
5
+ exports.default = (0, devkit_1.convertNxExecutor)(node_impl_1.default);
6
+ //# sourceMappingURL=compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.js","sourceRoot":"","sources":["../../../../../../packages/js/src/executors/node/compat.ts"],"names":[],"mappings":";;AAAA,yCAAiD;AACjD,2CAAuC;AAEvC,kBAAe,IAAA,0BAAiB,EAAC,mBAAY,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare const Module: any;
2
+ declare const originalLoader: any;
3
+ declare const mappings: any;
4
+ declare const keys: string[];
5
+ declare const fileToRun: string;
@@ -0,0 +1,20 @@
1
+ const Module = require('module');
2
+ const originalLoader = Module._load;
3
+ const mappings = JSON.parse(process.env.NX_MAPPINGS);
4
+ const keys = Object.keys(mappings);
5
+ const fileToRun = process.env.NX_FILE_TO_RUN;
6
+ Module._load = function (request, parent) {
7
+ if (!parent)
8
+ return originalLoader.apply(this, arguments);
9
+ const match = keys.find((k) => request === k);
10
+ if (match) {
11
+ const newArguments = [...arguments];
12
+ newArguments[0] = mappings[match];
13
+ return originalLoader.apply(this, newArguments);
14
+ }
15
+ else {
16
+ return originalLoader.apply(this, arguments);
17
+ }
18
+ };
19
+ require(fileToRun);
20
+ //# sourceMappingURL=node-with-require-overrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-with-require-overrides.js","sourceRoot":"","sources":["../../../../../../packages/js/src/executors/node/node-with-require-overrides.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;AAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAE7C,MAAM,CAAC,KAAK,GAAG,UAAU,OAAO,EAAE,MAAM;IACtC,IAAI,CAAC,MAAM;QAAE,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;IAC9C,IAAI,KAAK,EAAE;QACT,MAAM,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACpC,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KACjD;SAAM;QACL,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KAC9C;AACH,CAAC,CAAC;AAEF,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ExecutorContext } from '@nrwl/devkit';
2
+ import { NodeExecutorOptions } from './schema';
3
+ export interface ExecutorEvent {
4
+ outfile: string;
5
+ success: boolean;
6
+ }
7
+ export declare function nodeExecutor(options: NodeExecutorOptions, context: ExecutorContext): AsyncGenerator<ExecutorEvent, void, unknown>;
8
+ export default nodeExecutor;
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodeExecutor = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nrwl/devkit");
6
+ const buildable_libs_utils_1 = require("@nrwl/workspace/src/utilities/buildable-libs-utils");
7
+ const child_process_1 = require("child_process");
8
+ const hashing_impl_1 = require("nx/src/hasher/hashing-impl");
9
+ const treeKill = require("tree-kill");
10
+ const util_1 = require("util");
11
+ const hasher = new hashing_impl_1.HashingImpl();
12
+ const processMap = new Map();
13
+ const hashedMap = new Map();
14
+ function nodeExecutor(options, context) {
15
+ return tslib_1.__asyncGenerator(this, arguments, function* nodeExecutor_1() {
16
+ var e_1, _a;
17
+ process.on('SIGTERM', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
18
+ yield killCurrentProcess(options, 'SIGTERM');
19
+ process.exit(128 + 15);
20
+ }));
21
+ process.on('SIGINT', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
22
+ yield killCurrentProcess(options, 'SIGINT');
23
+ process.exit(128 + 2);
24
+ }));
25
+ process.on('SIGHUP', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
26
+ yield killCurrentProcess(options, 'SIGHUP');
27
+ process.exit(128 + 1);
28
+ }));
29
+ if (options.waitUntilTargets && options.waitUntilTargets.length > 0) {
30
+ const results = yield tslib_1.__await(runWaitUntilTargets(options, context));
31
+ for (const [i, result] of results.entries()) {
32
+ if (!result.success) {
33
+ throw new Error(`Wait until target failed: ${options.waitUntilTargets[i]}.`);
34
+ }
35
+ }
36
+ }
37
+ const mappings = calculateResolveMappings(context, options);
38
+ try {
39
+ for (var _b = tslib_1.__asyncValues(startBuild(options, context)), _c; _c = yield tslib_1.__await(_b.next()), !_c.done;) {
40
+ const event = _c.value;
41
+ if (!event.success) {
42
+ devkit_1.logger.error('There was an error with the build. See above.');
43
+ devkit_1.logger.info(`${event.outfile} was not restarted.`);
44
+ }
45
+ yield tslib_1.__await(handleBuildEvent(event, options, mappings));
46
+ yield yield tslib_1.__await(event);
47
+ }
48
+ }
49
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
50
+ finally {
51
+ try {
52
+ if (_c && !_c.done && (_a = _b.return)) yield tslib_1.__await(_a.call(_b));
53
+ }
54
+ finally { if (e_1) throw e_1.error; }
55
+ }
56
+ });
57
+ }
58
+ exports.nodeExecutor = nodeExecutor;
59
+ function calculateResolveMappings(context, options) {
60
+ const projectGraph = (0, devkit_1.readCachedProjectGraph)();
61
+ const parsed = (0, devkit_1.parseTargetString)(options.buildTarget);
62
+ const { dependencies } = (0, buildable_libs_utils_1.calculateProjectDependencies)(projectGraph, context.root, parsed.project, parsed.target, parsed.configuration);
63
+ return dependencies.reduce((m, c) => {
64
+ if (c.node.type !== 'npm' && c.outputs[0] != null) {
65
+ m[c.name] = (0, devkit_1.joinPathFragments)(context.root, c.outputs[0]);
66
+ }
67
+ return m;
68
+ }, {});
69
+ }
70
+ function runProcess(event, options, mappings) {
71
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
72
+ const execArgv = getExecArgv(options);
73
+ const hashed = hasher.hashArray(execArgv.concat(options.args));
74
+ hashedMap.set(options.args, hashed);
75
+ const subProcess = (0, child_process_1.fork)((0, devkit_1.joinPathFragments)(__dirname, 'node-with-require-overrides'), options.args, {
76
+ execArgv,
77
+ stdio: 'inherit',
78
+ env: Object.assign(Object.assign({}, process.env), { NX_FILE_TO_RUN: event.outfile, NX_MAPPINGS: JSON.stringify(mappings) }),
79
+ });
80
+ processMap.set(hashed, subProcess);
81
+ if (!options.watch) {
82
+ return new Promise((resolve, reject) => {
83
+ subProcess.on('exit', (code) => {
84
+ if (code === 0) {
85
+ resolve(undefined);
86
+ }
87
+ else {
88
+ reject();
89
+ }
90
+ });
91
+ });
92
+ }
93
+ });
94
+ }
95
+ function getExecArgv(options) {
96
+ const args = [
97
+ '-r',
98
+ require.resolve('source-map-support/register'),
99
+ ...options.runtimeArgs,
100
+ ];
101
+ if (options.inspect === true) {
102
+ options.inspect = "inspect" /* InspectType.Inspect */;
103
+ }
104
+ if (options.inspect) {
105
+ args.push(`--${options.inspect}=${options.host}:${options.port}`);
106
+ }
107
+ return args;
108
+ }
109
+ function handleBuildEvent(event, options, mappings) {
110
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
111
+ // Don't kill previous run unless new build is successful.
112
+ if (options.watch && event.success) {
113
+ yield killCurrentProcess(options);
114
+ }
115
+ if (event.success) {
116
+ yield runProcess(event, options, mappings);
117
+ }
118
+ });
119
+ }
120
+ const promisifiedTreeKill = (0, util_1.promisify)(treeKill);
121
+ function killCurrentProcess(options, signal = 'SIGTERM') {
122
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
123
+ const currentProcessKey = hashedMap.get(options.args);
124
+ if (!currentProcessKey)
125
+ return;
126
+ const currentProcess = processMap.get(currentProcessKey);
127
+ if (!currentProcess)
128
+ return;
129
+ try {
130
+ yield promisifiedTreeKill(currentProcess.pid, signal);
131
+ // if the currentProcess.killed is false, invoke kill()
132
+ // to properly send the signal to the process
133
+ if (!currentProcess.killed) {
134
+ currentProcess.kill(signal);
135
+ }
136
+ }
137
+ catch (err) {
138
+ if (Array.isArray(err) && err[0] && err[2]) {
139
+ const errorMessage = err[2];
140
+ devkit_1.logger.error(errorMessage);
141
+ }
142
+ else if (err.message) {
143
+ devkit_1.logger.error(err.message);
144
+ }
145
+ }
146
+ finally {
147
+ processMap.delete(currentProcessKey);
148
+ hashedMap.delete(options.args);
149
+ }
150
+ });
151
+ }
152
+ function startBuild(options, context) {
153
+ var _a;
154
+ return tslib_1.__asyncGenerator(this, arguments, function* startBuild_1() {
155
+ const buildTarget = (0, devkit_1.parseTargetString)(options.buildTarget);
156
+ // TODO(jack): [Nx 14] Remove this line once we generate `development` configuration by default + add migration for it if missing
157
+ (_a = buildTarget.configuration) !== null && _a !== void 0 ? _a : (buildTarget.configuration = '');
158
+ yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(yield tslib_1.__await((0, devkit_1.runExecutor)(buildTarget, Object.assign(Object.assign({}, options.buildTargetOptions), { watch: options.watch }), context)))));
159
+ });
160
+ }
161
+ function runWaitUntilTargets(options, context) {
162
+ return Promise.all(options.waitUntilTargets.map((waitUntilTarget) => tslib_1.__awaiter(this, void 0, void 0, function* () {
163
+ const target = (0, devkit_1.parseTargetString)(waitUntilTarget);
164
+ const output = yield (0, devkit_1.runExecutor)(target, {}, context);
165
+ return new Promise((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
166
+ let event = yield output.next();
167
+ // Resolve after first event
168
+ resolve(event.value);
169
+ // Continue iterating
170
+ while (!event.done) {
171
+ event = yield output.next();
172
+ }
173
+ }));
174
+ })));
175
+ }
176
+ exports.default = nodeExecutor;
177
+ //# sourceMappingURL=node.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.impl.js","sourceRoot":"","sources":["../../../../../../packages/js/src/executors/node/node.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export const enum InspectType {
2
+ Inspect = 'inspect',
3
+ InspectBrk = 'inspect-brk',
4
+ }
5
+
6
+ export interface NodeExecutorOptions {
7
+ inspect: boolean | InspectType;
8
+ runtimeArgs: string[];
9
+ args: string[];
10
+ waitUntilTargets: string[];
11
+ buildTarget: string;
12
+ buildTargetOptions: Record<string, any>;
13
+ host: string;
14
+ port: number;
15
+ watch?: boolean;
16
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "cli": "nx",
4
+ "title": "Node executor",
5
+ "description": "Execute Nodejs applications.",
6
+ "type": "object",
7
+ "properties": {
8
+ "buildTarget": {
9
+ "type": "string",
10
+ "description": "The target to run to build you the app."
11
+ },
12
+ "buildTargetOptions": {
13
+ "type": "object",
14
+ "description": "Additional options to pass into the build target.",
15
+ "default": {}
16
+ },
17
+ "waitUntilTargets": {
18
+ "type": "array",
19
+ "description": "The targets to run to before starting the node app.",
20
+ "default": [],
21
+ "items": {
22
+ "type": "string"
23
+ }
24
+ },
25
+ "host": {
26
+ "type": "string",
27
+ "default": "localhost",
28
+ "description": "The host to inspect the process on."
29
+ },
30
+ "port": {
31
+ "type": "number",
32
+ "default": 9229,
33
+ "description": "The port to inspect the process on. Setting port to 0 will assign random free ports to all forked processes."
34
+ },
35
+ "inspect": {
36
+ "oneOf": [
37
+ {
38
+ "type": "string",
39
+ "enum": ["inspect", "inspect-brk"]
40
+ },
41
+ {
42
+ "type": "boolean"
43
+ }
44
+ ],
45
+ "description": "Ensures the app is starting with debugging.",
46
+ "default": "inspect"
47
+ },
48
+ "runtimeArgs": {
49
+ "type": "array",
50
+ "description": "Extra args passed to the node process.",
51
+ "default": [],
52
+ "items": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ "args": {
57
+ "type": "array",
58
+ "description": "Extra args when starting the app.",
59
+ "default": [],
60
+ "items": {
61
+ "type": "string"
62
+ }
63
+ },
64
+ "watch": {
65
+ "type": "boolean",
66
+ "description": "Enable re-building when files change.",
67
+ "default": true
68
+ }
69
+ },
70
+ "additionalProperties": false,
71
+ "required": ["buildTarget"]
72
+ }
@@ -118,6 +118,9 @@ function compileSwcWatch(context, normalizedOptions, postCompilationCallback) {
118
118
  });
119
119
  stderrOnData = (err) => {
120
120
  process.stderr.write(err);
121
+ if (err.includes('Debugger attached.')) {
122
+ return;
123
+ }
121
124
  next(getResult(false));
122
125
  };
123
126
  watcherOnExit = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"compile-swc.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/swc/compile-swc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile-swc.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/swc/compile-swc.ts"],"names":[],"mappings":"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"}