@n8n/node-cli 0.14.0 → 0.16.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.
- package/dist/build.tsbuildinfo +1 -1
- package/dist/commands/build.js +1 -2
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/cloud-support.js +3 -3
- package/dist/commands/cloud-support.js.map +1 -1
- package/dist/commands/dev/index.js +57 -63
- package/dist/commands/dev/index.js.map +1 -1
- package/dist/commands/dev/utils.d.ts +26 -11
- package/dist/commands/dev/utils.js +427 -80
- package/dist/commands/dev/utils.js.map +1 -1
- package/dist/commands/lint.js +7 -4
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/new/index.js +1 -2
- package/dist/commands/new/index.js.map +1 -1
- package/dist/commands/new/utils.d.ts +1 -1
- package/dist/commands/new/utils.js +4 -2
- package/dist/commands/new/utils.js.map +1 -1
- package/dist/commands/release.js +3 -0
- package/dist/commands/release.js.map +1 -1
- package/dist/configs/eslint.js +1 -0
- package/dist/configs/eslint.js.map +1 -1
- package/dist/utils/child-process.d.ts +1 -0
- package/dist/utils/child-process.js +4 -1
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/filesystem.d.ts +1 -0
- package/dist/utils/filesystem.js +27 -0
- package/dist/utils/filesystem.js.map +1 -1
- package/dist/utils/prompts.d.ts +2 -0
- package/dist/utils/prompts.js +28 -0
- package/dist/utils/prompts.js.map +1 -1
- package/package.json +5 -5
package/dist/commands/build.js
CHANGED
|
@@ -9,7 +9,6 @@ const core_1 = require("@oclif/core");
|
|
|
9
9
|
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
10
10
|
const promises_1 = require("node:fs/promises");
|
|
11
11
|
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
-
const picocolors_1 = __importDefault(require("picocolors"));
|
|
13
12
|
const rimraf_1 = require("rimraf");
|
|
14
13
|
const child_process_1 = require("../utils/child-process");
|
|
15
14
|
const prompts_2 = require("../utils/prompts");
|
|
@@ -17,7 +16,7 @@ class Build extends core_1.Command {
|
|
|
17
16
|
async run() {
|
|
18
17
|
await this.parse(Build);
|
|
19
18
|
const commandName = 'n8n-node build';
|
|
20
|
-
(0, prompts_1.intro)(
|
|
19
|
+
(0, prompts_1.intro)(await (0, prompts_2.getCommandHeader)(commandName));
|
|
21
20
|
await (0, prompts_2.ensureN8nPackage)(commandName);
|
|
22
21
|
const buildSpinner = (0, prompts_1.spinner)();
|
|
23
22
|
buildSpinner.start('Building TypeScript files');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;;;;AAqDA,0CAYC;AAjED,4CAAoE;AACpE,sCAAsC;AACtC,0DAA6B;AAC7B,+CAA6C;AAC7C,0DAA6B;AAC7B,mCAAgC;AAEhC,0DAAoD;AACpD,8CAAsE;AAEtE,MAAqB,KAAM,SAAQ,cAAO;IAKzC,KAAK,CAAC,GAAG;QACR,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAExB,MAAM,WAAW,GAAG,gBAAgB,CAAC;QACrC,IAAA,eAAK,EAAC,MAAM,IAAA,0BAAgB,EAAC,WAAW,CAAC,CAAC,CAAC;QAE3C,MAAM,IAAA,0BAAgB,EAAC,WAAW,CAAC,CAAC;QAEpC,MAAM,YAAY,GAAG,IAAA,iBAAO,GAAE,CAAC;QAC/B,YAAY,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAChD,MAAM,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC;QAErB,IAAI,CAAC;YACJ,MAAM,WAAW,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAA,gBAAM,EAAC,yBAAyB,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QAED,MAAM,sBAAsB,GAAG,IAAA,iBAAO,GAAE,CAAC;QACzC,sBAAsB,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,eAAe,EAAE,CAAC;QACxB,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAEnD,IAAA,eAAK,EAAC,oBAAoB,CAAC,CAAC;IAC7B,CAAC;;AA9Be,iBAAW,GAAG,2DAA2D,CAAC;AAC1E,cAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACnD,WAAK,GAAG,EAAE,CAAC;kBAHP,KAAK;AAkC1B,KAAK,UAAU,WAAW;IACzB,OAAO,MAAM,IAAA,0BAAU,EAAC,KAAK,EAAE,EAAE,EAAE;QAClC,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YACnC,aAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe;IACpC,MAAM,WAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,EAAE;QAC5E,MAAM,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;KAChC,CAAC,CAAC;IAEH,OAAO,MAAM,OAAO,CAAC,GAAG,CACvB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAA,gBAAK,EAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,OAAO,MAAM,IAAA,aAAE,EAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CACF,CAAC;AACH,CAAC"}
|
|
@@ -27,7 +27,7 @@ class CloudSupport extends core_1.Command {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
async enableCloudSupport(workingDir) {
|
|
30
|
-
(0, prompts_1.intro)(
|
|
30
|
+
(0, prompts_1.intro)(await (0, prompts_2.getCommandHeader)('n8n-node cloud-support enable'));
|
|
31
31
|
await this.updateEslintConfig(workingDir, true);
|
|
32
32
|
prompts_1.log.success(`Updated ${picocolors_1.default.cyan('eslint.config.mjs')} to use default config`);
|
|
33
33
|
await this.updateStrictMode(workingDir, true);
|
|
@@ -36,7 +36,7 @@ class CloudSupport extends core_1.Command {
|
|
|
36
36
|
(0, prompts_1.outro)(`Cloud support enabled. Run "${lintCommand}" to check compliance - your node must pass linting to be eligible for n8n Cloud publishing.`);
|
|
37
37
|
}
|
|
38
38
|
async disableCloudSupport(workingDir) {
|
|
39
|
-
(0, prompts_1.intro)(
|
|
39
|
+
(0, prompts_1.intro)(await (0, prompts_2.getCommandHeader)('n8n-node cloud-support disable'));
|
|
40
40
|
prompts_1.log.warning(`This will make your node ineligible for n8n Cloud verification!
|
|
41
41
|
|
|
42
42
|
The following changes will be made:
|
|
@@ -77,7 +77,7 @@ export default configWithoutCloudSupport;
|
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
async showCloudSupportStatus(workingDir) {
|
|
80
|
-
(0, prompts_1.intro)(
|
|
80
|
+
(0, prompts_1.intro)(await (0, prompts_2.getCommandHeader)('n8n-node cloud-support'));
|
|
81
81
|
try {
|
|
82
82
|
const packageJson = await (0, package_1.getPackageJson)(workingDir);
|
|
83
83
|
const eslintConfigPath = node_path_1.default.resolve(workingDir, 'eslint.config.mjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-support.js","sourceRoot":"","sources":["../../src/commands/cloud-support.ts"],"names":[],"mappings":";;;;;AAAA,4CAA4D;AAC5D,sCAA4C;AAC5C,gEAAkC;AAClC,0DAA6B;AAC7B,4DAAoC;AAEpC,sEAA8F;AAC9F,8CAAqE;AACrE,
|
|
1
|
+
{"version":3,"file":"cloud-support.js","sourceRoot":"","sources":["../../src/commands/cloud-support.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,89 +3,83 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const prompts_1 = require("@clack/prompts");
|
|
7
6
|
const core_1 = require("@oclif/core");
|
|
8
7
|
const node_os_1 = __importDefault(require("node:os"));
|
|
9
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
9
|
const picocolors_1 = __importDefault(require("picocolors"));
|
|
11
|
-
const rimraf_1 = require("rimraf");
|
|
12
10
|
const filesystem_1 = require("../../utils/filesystem");
|
|
13
11
|
const package_manager_1 = require("../../utils/package-manager");
|
|
14
|
-
const
|
|
12
|
+
const prompts_1 = require("../../utils/prompts");
|
|
15
13
|
const validation_1 = require("../../utils/validation");
|
|
16
14
|
const build_1 = require("../build");
|
|
17
15
|
const utils_1 = require("./utils");
|
|
18
|
-
const child_process_1 = require("../../utils/child-process");
|
|
19
16
|
class Dev extends core_1.Command {
|
|
20
17
|
async run() {
|
|
21
18
|
const { flags } = await this.parse(Dev);
|
|
22
19
|
const packageManager = (await (0, package_manager_1.detectPackageManager)()) ?? 'npm';
|
|
23
|
-
const { runPersistentCommand } = (0, utils_1.commands)();
|
|
24
|
-
(0, prompts_1.intro)(picocolors_1.default.inverse(' n8n-node dev '));
|
|
25
|
-
await (0, prompts_2.ensureN8nPackage)('n8n-node dev');
|
|
26
20
|
await (0, build_1.copyStaticFiles)();
|
|
27
|
-
const linkingSpinner = (0, prompts_1.spinner)();
|
|
28
|
-
linkingSpinner.start('Linking custom node to n8n');
|
|
29
|
-
await (0, child_process_1.runCommand)(packageManager, ['link']);
|
|
30
21
|
const n8nUserFolder = flags['custom-user-folder'];
|
|
31
22
|
const customNodesFolder = node_path_1.default.join(n8nUserFolder, '.n8n', 'custom');
|
|
32
|
-
|
|
23
|
+
const nodeModulesFolder = node_path_1.default.join(customNodesFolder, 'node_modules');
|
|
24
|
+
await (0, filesystem_1.ensureFolder)(nodeModulesFolder);
|
|
33
25
|
const packageName = await (0, utils_1.readPackageName)();
|
|
34
26
|
const invalidNodeNameError = (0, validation_1.validateNodeName)(packageName);
|
|
35
27
|
if (invalidNodeNameError)
|
|
36
|
-
return (0,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
28
|
+
return (0, prompts_1.onCancel)(invalidNodeNameError);
|
|
29
|
+
const currentDir = process.cwd();
|
|
30
|
+
const symlinkPath = node_path_1.default.join(nodeModulesFolder, packageName);
|
|
31
|
+
try {
|
|
32
|
+
await (0, filesystem_1.createSymlink)(currentDir, symlinkPath);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
const message = error instanceof Error ? error.message : 'Unknown error creating symbolic link';
|
|
36
|
+
return (0, prompts_1.onCancel)(`Failed to create symbolic link: ${message}`);
|
|
37
|
+
}
|
|
38
|
+
let n8nReady = false;
|
|
39
|
+
const hasN8n = !flags['external-n8n'];
|
|
40
|
+
let spinnerMessage = 'Starting n8n...';
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
spinnerMessage = `Installing n8n... ${picocolors_1.default.dim('(this can take a while on first run)')}`;
|
|
43
|
+
}, 10_000);
|
|
44
|
+
const n8nSpinner = (0, utils_1.createSpinner)(() => spinnerMessage);
|
|
45
|
+
const commandsList = [
|
|
46
|
+
{
|
|
47
|
+
cmd: packageManager,
|
|
48
|
+
args: ['exec', '--', 'tsc', '--watch', '--pretty'],
|
|
49
|
+
name: 'TypeScript Build (watching)',
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
if (hasN8n) {
|
|
53
|
+
commandsList.push({
|
|
54
|
+
cmd: 'npx',
|
|
55
|
+
args: ['-y', '--color=always', '--prefer-online', 'n8n@latest'],
|
|
56
|
+
name: 'n8n Server',
|
|
57
|
+
cwd: n8nUserFolder,
|
|
58
|
+
env: {
|
|
59
|
+
...process.env,
|
|
60
|
+
N8N_DEV_RELOAD: 'true',
|
|
61
|
+
N8N_RUNNERS_ENABLED: 'true',
|
|
62
|
+
DB_SQLITE_POOL_SIZE: '10',
|
|
63
|
+
N8N_USER_FOLDER: n8nUserFolder,
|
|
64
|
+
},
|
|
65
|
+
onOutput: (line) => {
|
|
66
|
+
if (line.includes('Editor is now accessible')) {
|
|
67
|
+
n8nReady = true;
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
getPlaceholder: n8nSpinner,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
const keyHandlers = [];
|
|
74
|
+
if (hasN8n) {
|
|
75
|
+
keyHandlers.push((0, utils_1.createOpenN8nHandler)());
|
|
84
76
|
}
|
|
85
|
-
(0, prompts_1.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
77
|
+
const headerText = await (0, prompts_1.getCommandHeader)('n8n-node dev');
|
|
78
|
+
(0, utils_1.runCommands)({
|
|
79
|
+
commands: commandsList,
|
|
80
|
+
keyHandlers,
|
|
81
|
+
helpText: () => (0, utils_1.buildHelpText)(hasN8n, n8nReady),
|
|
82
|
+
headerText,
|
|
89
83
|
});
|
|
90
84
|
}
|
|
91
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
2
|
+
export declare function createSpinner(text: string | (() => string)): () => string;
|
|
3
|
+
export declare function openUrl(url: string): void;
|
|
4
|
+
export interface CommandConfig {
|
|
5
|
+
cmd: string;
|
|
6
|
+
args: string[];
|
|
7
|
+
name: string;
|
|
8
|
+
cwd?: string;
|
|
9
|
+
env?: NodeJS.ProcessEnv;
|
|
10
|
+
onOutput?: (line: string) => void;
|
|
11
|
+
getPlaceholder?: () => string;
|
|
12
|
+
}
|
|
13
|
+
export interface KeyHandler {
|
|
14
|
+
key: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
handler: (cleanup: () => void) => void;
|
|
17
|
+
}
|
|
18
|
+
export interface CommandsConfig {
|
|
19
|
+
commands: CommandConfig[];
|
|
20
|
+
keyHandlers?: KeyHandler[];
|
|
21
|
+
helpText?: () => string;
|
|
22
|
+
headerText?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function runCommands(config: CommandsConfig): void;
|
|
12
25
|
export declare function readPackageName(): Promise<string>;
|
|
26
|
+
export declare function createOpenN8nHandler(): KeyHandler;
|
|
27
|
+
export declare function buildHelpText(hasN8n: boolean, isN8nReady: boolean): string;
|