@n8n/node-cli 0.3.0 → 0.4.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 (41) hide show
  1. package/README.md +243 -18
  2. package/dist/build.tsbuildinfo +1 -1
  3. package/dist/commands/build.js +7 -28
  4. package/dist/commands/build.js.map +1 -1
  5. package/dist/commands/dev/index.d.ts +1 -1
  6. package/dist/commands/dev/index.js +37 -23
  7. package/dist/commands/dev/index.js.map +1 -1
  8. package/dist/commands/dev/utils.d.ts +0 -5
  9. package/dist/commands/dev/utils.js +0 -30
  10. package/dist/commands/dev/utils.js.map +1 -1
  11. package/dist/commands/lint.d.ts +9 -0
  12. package/dist/commands/lint.js +34 -0
  13. package/dist/commands/lint.js.map +1 -0
  14. package/dist/commands/new/index.js +34 -5
  15. package/dist/commands/new/index.js.map +1 -1
  16. package/dist/commands/new/utils.js +1 -1
  17. package/dist/commands/new/utils.js.map +1 -1
  18. package/dist/commands/prerelease.d.ts +8 -0
  19. package/dist/commands/prerelease.js +20 -0
  20. package/dist/commands/prerelease.js.map +1 -0
  21. package/dist/commands/release.d.ts +7 -0
  22. package/dist/commands/release.js +49 -0
  23. package/dist/commands/release.js.map +1 -0
  24. package/dist/index.d.ts +6 -0
  25. package/dist/index.js +6 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/template/templates/declarative/custom/template/package.json +9 -12
  28. package/dist/template/templates/declarative/github-issues/template/package.json +9 -12
  29. package/dist/template/templates/programmatic/example/template/package.json +9 -12
  30. package/dist/template/templates/shared/default/CHANGELOG.md +0 -0
  31. package/dist/utils/child-process.d.ts +16 -0
  32. package/dist/utils/child-process.js +61 -0
  33. package/dist/utils/child-process.js.map +1 -0
  34. package/dist/utils/git.d.ts +1 -0
  35. package/dist/utils/git.js +5 -0
  36. package/dist/utils/git.js.map +1 -1
  37. package/dist/utils/package-manager.d.ts +2 -5
  38. package/dist/utils/package-manager.js +28 -26
  39. package/dist/utils/package-manager.js.map +1 -1
  40. package/package.json +2 -10
  41. package/LICENSE_EE.md +0 -27
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.copyStaticFiles = copyStaticFiles;
7
7
  const prompts_1 = require("@clack/prompts");
8
8
  const core_1 = require("@oclif/core");
9
- const child_process_1 = require("child_process");
10
9
  const fast_glob_1 = __importDefault(require("fast-glob"));
11
10
  const promises_1 = require("node:fs/promises");
12
11
  const node_path_1 = __importDefault(require("node:path"));
13
12
  const picocolors_1 = __importDefault(require("picocolors"));
14
13
  const rimraf_1 = require("rimraf");
14
+ const child_process_1 = require("../utils/child-process");
15
15
  const prompts_2 = require("../utils/prompts");
16
16
  class Build extends core_1.Command {
17
17
  async run() {
@@ -42,37 +42,16 @@ Build.examples = ['<%= config.bin %> <%= command.id %>'];
42
42
  Build.flags = {};
43
43
  exports.default = Build;
44
44
  async function runTscBuild() {
45
- return await new Promise((resolve, reject) => {
46
- const child = (0, child_process_1.spawn)('tsc', [], {
47
- stdio: ['ignore', 'pipe', 'pipe'],
48
- shell: true,
49
- });
50
- let stderr = '';
51
- let stdout = '';
52
- child.stdout.on('data', (chunk) => {
53
- stdout += chunk.toString();
54
- });
55
- child.stderr.on('data', (chunk) => {
56
- stderr += chunk.toString();
57
- });
58
- child.on('error', (error) => {
59
- prompts_1.log.error(`${stdout.trim()}\n${stderr.trim()}`);
60
- reject(error);
61
- });
62
- child.on('close', (code) => {
63
- if (code === 0) {
64
- resolve();
65
- }
66
- else {
67
- prompts_1.log.error(`${stdout.trim()}\n${stderr.trim()}`);
68
- reject(new Error(`tsc exited with code ${code}`));
69
- }
70
- });
45
+ return await (0, child_process_1.runCommand)('tsc', [], {
46
+ context: 'local',
47
+ printOutput: ({ stdout, stderr }) => {
48
+ prompts_1.log.error(stdout.concat(stderr).toString());
49
+ },
71
50
  });
72
51
  }
73
52
  async function copyStaticFiles() {
74
53
  const staticFiles = fast_glob_1.default.sync(['**/*.{png,svg}', '**/__schema__/**/*.json'], {
75
- ignore: ['dist'],
54
+ ignore: ['dist', 'node_modules'],
76
55
  });
77
56
  return await Promise.all(staticFiles.map(async (filePath) => {
78
57
  const destPath = node_path_1.default.join('dist', filePath);
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;;;;AAsDA,0CAYC;AAlED,4CAAoE;AACpE,sCAAsC;AACtC,0DAA6B;AAC7B,+CAA6C;AAC7C,0DAA6B;AAC7B,4DAAoC;AACpC,mCAAgC;AAEhC,0DAAoD;AACpD,8CAAoD;AAEpD,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,oBAAU,CAAC,OAAO,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QAE9C,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"}
@@ -4,7 +4,7 @@ export default class Dev extends Command {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  'external-n8n': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
- 'custom-nodes-dir': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ 'custom-user-folder': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
8
  };
9
9
  run(): Promise<void>;
10
10
  }
@@ -3,45 +3,59 @@ 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");
6
7
  const core_1 = require("@oclif/core");
7
8
  const node_os_1 = __importDefault(require("node:os"));
8
9
  const node_path_1 = __importDefault(require("node:path"));
9
10
  const picocolors_1 = __importDefault(require("picocolors"));
11
+ const rimraf_1 = require("rimraf");
10
12
  const filesystem_1 = require("../../utils/filesystem");
11
13
  const package_manager_1 = require("../../utils/package-manager");
14
+ const prompts_2 = require("../../utils/prompts");
15
+ const validation_1 = require("../../utils/validation");
12
16
  const build_1 = require("../build");
13
17
  const utils_1 = require("./utils");
14
- const prompts_1 = require("../../utils/prompts");
15
- const validation_1 = require("../../utils/validation");
18
+ const child_process_1 = require("../../utils/child-process");
16
19
  class Dev extends core_1.Command {
17
20
  async run() {
18
21
  const { flags } = await this.parse(Dev);
19
- const packageManager = (0, package_manager_1.detectPackageManager)() ?? 'npm';
20
- const { isN8nInstalled, runCommand, runPersistentCommand } = (0, utils_1.commands)();
21
- await (0, prompts_1.ensureN8nPackage)('n8n-node dev');
22
- const installed = await isN8nInstalled();
23
- if (!installed && !flags['external-n8n']) {
24
- console.error('❌ n8n is not installed or not in PATH. Learn how to install n8n here: https://docs.n8n.io/hosting/installation/npm');
25
- process.exit(1);
26
- }
22
+ 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');
27
26
  await (0, build_1.copyStaticFiles)();
28
- await runCommand(packageManager, ['link']);
29
- const customPath = flags['custom-nodes-dir'];
30
- await (0, filesystem_1.ensureFolder)(customPath);
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
+ const n8nUserFolder = flags['custom-user-folder'];
31
+ const customNodesFolder = node_path_1.default.join(n8nUserFolder, '.n8n', 'custom');
32
+ await (0, filesystem_1.ensureFolder)(customNodesFolder);
31
33
  const packageName = await (0, utils_1.readPackageName)();
32
34
  const invalidNodeNameError = (0, validation_1.validateNodeName)(packageName);
33
35
  if (invalidNodeNameError)
34
- return (0, prompts_1.onCancel)(invalidNodeNameError);
35
- await runCommand(packageManager, ['link', packageName], { cwd: customPath });
36
+ return (0, prompts_2.onCancel)(invalidNodeNameError);
37
+ await (0, rimraf_1.rimraf)(node_path_1.default.join(customNodesFolder, 'package.json'));
38
+ await (0, child_process_1.runCommand)(packageManager, ['link', packageName], {
39
+ cwd: customNodesFolder,
40
+ });
41
+ linkingSpinner.stop('Linked custom node to n8n');
42
+ (0, prompts_1.outro)('✓ Setup complete');
36
43
  if (!flags['external-n8n']) {
37
- runPersistentCommand('n8n', [], {
38
- cwd: customPath,
39
- env: { N8N_DEV_RELOAD: 'true' },
44
+ runPersistentCommand('npx', ['-y', '--quiet', 'n8n'], {
45
+ cwd: n8nUserFolder,
46
+ env: {
47
+ ...process.env,
48
+ N8N_DEV_RELOAD: 'true',
49
+ N8N_RUNNERS_ENABLED: 'true',
50
+ DB_SQLITE_POOL_SIZE: '10',
51
+ N8N_USER_FOLDER: n8nUserFolder,
52
+ N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: 'false',
53
+ },
40
54
  name: 'n8n',
41
55
  color: picocolors_1.default.green,
42
56
  });
43
57
  }
44
- runPersistentCommand('tsc', ['--watch'], {
58
+ runPersistentCommand(packageManager, ['exec', '--', 'tsc', '--watch'], {
45
59
  name: 'build',
46
60
  color: picocolors_1.default.cyan,
47
61
  });
@@ -56,11 +70,11 @@ Dev.examples = [
56
70
  Dev.flags = {
57
71
  'external-n8n': core_1.Flags.boolean({
58
72
  default: false,
59
- description: 'By default n8n-node dev will run n8n in a sub process. Enable this option if you would like to run n8n elsewhere.',
73
+ description: 'By default n8n-node dev will run n8n in a sub process. Enable this option if you would like to run n8n elsewhere. Make sure to set N8N_DEV_RELOAD to true in that case.',
60
74
  }),
61
- 'custom-nodes-dir': core_1.Flags.directory({
62
- default: node_path_1.default.join(node_os_1.default.homedir(), '.n8n/custom'),
63
- description: 'Where to link your custom node. By default it will link to ~/.n8n/custom. You probably want to enable this option if you run n8n with a custom N8N_CUSTOM_EXTENSIONS env variable.',
75
+ 'custom-user-folder': core_1.Flags.directory({
76
+ default: node_path_1.default.join(node_os_1.default.homedir(), '.n8n-node-cli'),
77
+ description: 'Folder to use to store user-specific n8n data. By default it will use ~/.n8n-node-cli. You probably want to enable this option if you run n8n with a custom N8N_CUSTOM_EXTENSIONS env variable.',
64
78
  }),
65
79
  };
66
80
  exports.default = Dev;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":";;;;;AAAA,sCAA6C;AAC7C,sDAAyB;AACzB,0DAA6B;AAC7B,4DAAoC;AAEpC,uDAAsD;AACtD,iEAAmE;AACnE,oCAA2C;AAC3C,mCAAoD;AACpD,iDAAiE;AACjE,uDAA0D;AAE1D,MAAqB,GAAI,SAAQ,cAAO;IAoBvC,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,MAAM,cAAc,GAAG,IAAA,sCAAoB,GAAE,IAAI,KAAK,CAAC;QACvD,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,IAAA,gBAAQ,GAAE,CAAC;QAExE,MAAM,IAAA,0BAAgB,EAAC,cAAc,CAAC,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,cAAc,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CACZ,oHAAoH,CACpH,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,IAAA,uBAAe,GAAE,CAAC;QAExB,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE7C,MAAM,IAAA,yBAAY,EAAC,UAAU,CAAC,CAAC;QAE/B,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAe,GAAE,CAAC;QAC5C,MAAM,oBAAoB,GAAG,IAAA,6BAAgB,EAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,oBAAoB;YAAE,OAAO,IAAA,kBAAQ,EAAC,oBAAoB,CAAC,CAAC;QAEhE,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;QAE7E,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAE5B,oBAAoB,CAAC,KAAK,EAAE,EAAE,EAAE;gBAC/B,GAAG,EAAE,UAAU;gBACf,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE;gBAC/B,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,oBAAU,CAAC,KAAK;aACvB,CAAC,CAAC;QACJ,CAAC;QAGD,oBAAoB,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;YACxC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,oBAAU,CAAC,IAAI;SACtB,CAAC,CAAC;IACJ,CAAC;;AAjEe,eAAW,GAAG,+DAA+D,CAAC;AAC9E,YAAQ,GAAG;IAC1B,qCAAqC;IACrC,oDAAoD;IACpD,4EAA4E;CAC5E,CAAC;AACc,SAAK,GAAG;IACvB,cAAc,EAAE,YAAK,CAAC,OAAO,CAAC;QAC7B,OAAO,EAAE,KAAK;QACd,WAAW,EACV,mHAAmH;KACpH,CAAC;IACF,kBAAkB,EAAE,YAAK,CAAC,SAAS,CAAC;QACnC,OAAO,EAAE,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC;QAC/C,WAAW,EACV,oLAAoL;KACrL,CAAC;CACF,CAAC;kBAlBkB,GAAG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,5 @@
1
1
  import type { Formatter } from 'picocolors/types';
2
2
  export declare function commands(): {
3
- isN8nInstalled: () => Promise<boolean>;
4
- runCommand: (cmd: string, args: string[], opts?: {
5
- cwd?: string;
6
- env?: NodeJS.ProcessEnv;
7
- }) => Promise<void>;
8
3
  runPersistentCommand: (cmd: string, args: string[], opts?: {
9
4
  cwd?: string;
10
5
  env?: NodeJS.ProcessEnv;
@@ -21,25 +21,6 @@ function commands() {
21
21
  }
22
22
  process.on('SIGINT', () => cleanup('SIGINT'));
23
23
  process.on('SIGTERM', () => cleanup('SIGTERM'));
24
- async function runCommand(cmd, args, opts = {}) {
25
- return await new Promise((resolve, reject) => {
26
- const child = (0, child_process_1.spawn)(cmd, args, {
27
- cwd: opts.cwd,
28
- env: { ...process.env, ...opts.env },
29
- stdio: ['inherit', 'pipe', 'pipe'],
30
- });
31
- child.on('error', (error) => {
32
- reject(error);
33
- });
34
- child.on('close', (code) => {
35
- if (code === 0)
36
- resolve();
37
- else
38
- reject(new Error(`${cmd} exited with code ${code}`));
39
- });
40
- registerChild(child);
41
- });
42
- }
43
24
  function runPersistentCommand(cmd, args, opts = {}) {
44
25
  const child = (0, child_process_1.spawn)(cmd, args, {
45
26
  cwd: opts.cwd,
@@ -80,18 +61,7 @@ function commands() {
80
61
  process.exit(code);
81
62
  });
82
63
  }
83
- async function isN8nInstalled() {
84
- try {
85
- await runCommand('n8n', ['--version'], {});
86
- return true;
87
- }
88
- catch {
89
- return false;
90
- }
91
- }
92
64
  return {
93
- isN8nInstalled,
94
- runCommand,
95
65
  runPersistentCommand,
96
66
  };
97
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/dev/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/dev/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Lint extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ fix: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const child_process_1 = require("../utils/child-process");
5
+ class Lint extends core_1.Command {
6
+ async run() {
7
+ const { flags } = await this.parse(Lint);
8
+ const args = ['.'];
9
+ if (flags.fix) {
10
+ args.push('--fix');
11
+ }
12
+ try {
13
+ await (0, child_process_1.runCommand)('eslint', args, { context: 'local', stdio: 'inherit' });
14
+ }
15
+ catch (error) {
16
+ if (error instanceof child_process_1.ChildProcessError) {
17
+ if (error.signal) {
18
+ process.kill(process.pid, error.signal);
19
+ }
20
+ else {
21
+ process.exit(error.code ?? 0);
22
+ }
23
+ }
24
+ throw error;
25
+ }
26
+ }
27
+ }
28
+ Lint.description = 'Lint the node in the current directory. Includes auto-fixing.';
29
+ Lint.examples = ['<%= config.bin %> <%= command.id %>'];
30
+ Lint.flags = {
31
+ fix: core_1.Flags.boolean({ description: 'Automatically fix problems', default: false }),
32
+ };
33
+ exports.default = Lint;
34
+ //# sourceMappingURL=lint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":";;AAAA,sCAA6C;AAE7C,0DAAuE;AAEvE,MAAqB,IAAK,SAAQ,cAAO;IAOxC,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnB,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,IAAA,0BAAU,EAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAI,KAAK,YAAY,iCAAiB,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;;AA3Be,gBAAW,GAAG,+DAA+D,CAAC;AAC9E,aAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACnD,UAAK,GAAG;IACvB,GAAG,EAAE,YAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;CACjF,CAAC;kBALkB,IAAI"}
@@ -12,6 +12,7 @@ const picocolors_1 = __importDefault(require("picocolors"));
12
12
  const prompts_2 = require("./prompts");
13
13
  const utils_1 = require("./utils");
14
14
  const templates_1 = require("../../template/templates");
15
+ const child_process_1 = require("../../utils/child-process");
15
16
  const filesystem_1 = require("../../utils/filesystem");
16
17
  const git_1 = require("../../utils/git");
17
18
  const package_manager_1 = require("../../utils/package-manager");
@@ -55,7 +56,7 @@ class New extends core_1.Command {
55
56
  template = (0, templates_1.getTemplate)('declarative', chosenTemplate);
56
57
  }
57
58
  const config = (await template.prompts?.()) ?? {};
58
- const packageManager = (0, package_manager_1.detectPackageManager)() ?? 'npm';
59
+ const packageManager = (await (0, package_manager_1.detectPackageManager)()) ?? 'npm';
59
60
  const templateData = {
60
61
  destinationPath: destination,
61
62
  nodePackageName: nodeName,
@@ -73,19 +74,47 @@ class New extends core_1.Command {
73
74
  }
74
75
  await (0, filesystem_1.delayAtLeast)(template.run(templateData), 1000);
75
76
  copyingSpinner.stop('Files copied');
77
+ const gitSpinner = (0, prompts_1.spinner)();
78
+ gitSpinner.start('Initializing git repository');
79
+ try {
80
+ await (0, git_1.initGit)(destination);
81
+ gitSpinner.stop('Git repository initialized');
82
+ }
83
+ catch (error) {
84
+ if (error instanceof child_process_1.ChildProcessError) {
85
+ gitSpinner.stop(`Could not initialize git repository: ${error.message}`, error.code ?? undefined);
86
+ process.exit(error.code ?? 1);
87
+ }
88
+ else {
89
+ throw error;
90
+ }
91
+ }
76
92
  if (!flags['skip-install']) {
77
93
  const installingSpinner = (0, prompts_1.spinner)();
78
94
  installingSpinner.start('Installing dependencies');
79
95
  try {
80
- await (0, filesystem_1.delayAtLeast)((0, package_manager_1.installDependencies)({ dir: destination, packageManager }), 1000);
96
+ await (0, filesystem_1.delayAtLeast)((0, child_process_1.runCommand)(packageManager, ['install'], {
97
+ cwd: destination,
98
+ printOutput: ({ stdout, stderr }) => {
99
+ prompts_1.log.error(stdout.concat(stderr).toString());
100
+ },
101
+ }), 1000);
81
102
  }
82
103
  catch (error) {
83
- installingSpinner.stop('Could not install dependencies', 1);
84
- return process.exit(1);
104
+ if (error instanceof child_process_1.ChildProcessError) {
105
+ installingSpinner.stop(`Could not install dependencies: ${error.message}`, error.code ?? undefined);
106
+ process.exit(error.code ?? 1);
107
+ }
108
+ else {
109
+ throw error;
110
+ }
85
111
  }
86
112
  installingSpinner.stop('Dependencies installed');
87
113
  }
88
- (0, prompts_1.note)(`Need help? Check out the docs: https://docs.n8n.io/integrations/creating-nodes/build/${type}-style-node/`, 'Next Steps');
114
+ (0, prompts_1.note)(`cd ./${nodeName} && ${packageManager} run dev
115
+
116
+ 📚 Documentation: https://docs.n8n.io/integrations/creating-nodes/build/${type}-style-node/
117
+ 💬 Community: https://community.n8n.io`, 'Next Steps');
89
118
  (0, prompts_1.outro)(`Created ./${nodeName} ✨`);
90
119
  }
91
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/new/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/new/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createIntro = void 0;
4
4
  const package_manager_1 = require("../../utils/package-manager");
5
5
  const createIntro = () => {
6
- const maybePackageManager = (0, package_manager_1.detectPackageManager)();
6
+ const maybePackageManager = (0, package_manager_1.detectPackageManagerFromUserAgent)();
7
7
  const packageManager = maybePackageManager ?? 'npm';
8
8
  return maybePackageManager ? ` ${packageManager} create @n8n/node ` : ' n8n-node new ';
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/new/utils.ts"],"names":[],"mappings":";;;AAAA,iEAAmE;AAE5D,MAAM,WAAW,GAAG,GAAG,EAAE;IAC/B,MAAM,mBAAmB,GAAG,IAAA,sCAAoB,GAAE,CAAC;IACnD,MAAM,cAAc,GAAG,mBAAmB,IAAI,KAAK,CAAC;IACpD,OAAO,mBAAmB,CAAC,CAAC,CAAC,IAAI,cAAc,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACxF,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/new/utils.ts"],"names":[],"mappings":";;;AAAA,iEAAgF;AAEzE,MAAM,WAAW,GAAG,GAAG,EAAE;IAC/B,MAAM,mBAAmB,GAAG,IAAA,mDAAiC,GAAE,CAAC;IAChE,MAAM,cAAc,GAAG,mBAAmB,IAAI,KAAK,CAAC;IACpD,OAAO,mBAAmB,CAAC,CAAC,CAAC,IAAI,cAAc,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACxF,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB"}
@@ -0,0 +1,8 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Prerelease extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {};
6
+ static hidden: boolean;
7
+ run(): Promise<void>;
8
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const package_manager_1 = require("../utils/package-manager");
5
+ class Prerelease extends core_1.Command {
6
+ async run() {
7
+ await this.parse(Prerelease);
8
+ const packageManager = (await (0, package_manager_1.detectPackageManager)()) ?? 'npm';
9
+ if (!process.env.RELEASE_MODE) {
10
+ console.log(`Run \`${packageManager} run release\` to publish the package`);
11
+ process.exit(1);
12
+ }
13
+ }
14
+ }
15
+ Prerelease.description = 'Only for internal use. Prevent npm publish, instead require npm run release';
16
+ Prerelease.examples = ['<%= config.bin %> <%= command.id %>'];
17
+ Prerelease.flags = {};
18
+ Prerelease.hidden = true;
19
+ exports.default = Prerelease;
20
+ //# sourceMappingURL=prerelease.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prerelease.js","sourceRoot":"","sources":["../../src/commands/prerelease.ts"],"names":[],"mappings":";;AAAA,sCAAsC;AAEtC,8DAAgE;AAEhE,MAAqB,UAAW,SAAQ,cAAO;IAO9C,KAAK,CAAC,GAAG;QACR,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE7B,MAAM,cAAc,GAAG,CAAC,MAAM,IAAA,sCAAoB,GAAE,CAAC,IAAI,KAAK,CAAC;QAE/D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,cAAc,uCAAuC,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;;AAfe,sBAAW,GAC1B,6EAA6E,CAAC;AAC/D,mBAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACnD,gBAAK,GAAG,EAAE,CAAC;AACX,iBAAM,GAAG,IAAI,CAAC;kBALV,UAAU"}
@@ -0,0 +1,7 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Release extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {};
6
+ run(): Promise<void>;
7
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const child_process_1 = require("../utils/child-process");
5
+ const package_manager_1 = require("../utils/package-manager");
6
+ class Release extends core_1.Command {
7
+ async run() {
8
+ await this.parse(Release);
9
+ const pm = (await (0, package_manager_1.detectPackageManager)()) ?? 'npm';
10
+ try {
11
+ await (0, child_process_1.runCommand)('release-it', [
12
+ '-n',
13
+ '--git.requireBranch main',
14
+ '--git.requireCleanWorkingDir',
15
+ '--git.requireUpstream',
16
+ '--git.requireCommits',
17
+ '--git.commit',
18
+ '--git.tag',
19
+ '--git.push',
20
+ '--git.changelog="npx auto-changelog --stdout --unreleased --commit-limit false -u --hide-credit"',
21
+ '--github.release',
22
+ `--hooks.before:init="${pm} run lint && ${pm} run build"`,
23
+ '--hooks.after:bump="npx auto-changelog -p"',
24
+ ], {
25
+ stdio: 'inherit',
26
+ context: 'local',
27
+ env: {
28
+ RELEASE_MODE: 'true',
29
+ },
30
+ });
31
+ }
32
+ catch (error) {
33
+ if (error instanceof child_process_1.ChildProcessError) {
34
+ if (error.signal) {
35
+ process.kill(process.pid, error.signal);
36
+ }
37
+ else {
38
+ process.exit(error.code ?? 0);
39
+ }
40
+ }
41
+ throw error;
42
+ }
43
+ }
44
+ }
45
+ Release.description = 'Publish your community node package to npm';
46
+ Release.examples = ['<%= config.bin %> <%= command.id %>'];
47
+ Release.flags = {};
48
+ exports.default = Release;
49
+ //# sourceMappingURL=release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":";;AAAA,sCAAsC;AAEtC,0DAAuE;AACvE,8DAAgE;AAEhE,MAAqB,OAAQ,SAAQ,cAAO;IAK3C,KAAK,CAAC,GAAG;QACR,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1B,MAAM,EAAE,GAAG,CAAC,MAAM,IAAA,sCAAoB,GAAE,CAAC,IAAI,KAAK,CAAC;QAEnD,IAAI,CAAC;YACJ,MAAM,IAAA,0BAAU,EACf,YAAY,EACZ;gBACC,IAAI;gBACJ,0BAA0B;gBAC1B,8BAA8B;gBAC9B,uBAAuB;gBACvB,sBAAsB;gBACtB,cAAc;gBACd,WAAW;gBACX,YAAY;gBACZ,kGAAkG;gBAClG,kBAAkB;gBAClB,wBAAwB,EAAE,gBAAgB,EAAE,aAAa;gBACzD,4CAA4C;aAC5C,EACD;gBACC,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,OAAO;gBAChB,GAAG,EAAE;oBACJ,YAAY,EAAE,MAAM;iBACpB;aACD,CACD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,iCAAiB,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACF,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;;AA5Ce,mBAAW,GAAG,4CAA4C,CAAC;AAC3D,gBAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACnD,aAAK,GAAG,EAAE,CAAC;kBAHP,OAAO"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,14 @@
1
1
  import Build from './commands/build';
2
2
  import Dev from './commands/dev';
3
+ import Lint from './commands/lint';
3
4
  import New from './commands/new';
5
+ import Prerelease from './commands/prerelease';
6
+ import Release from './commands/release';
4
7
  export declare const commands: {
5
8
  new: typeof New;
6
9
  build: typeof Build;
7
10
  dev: typeof Dev;
11
+ prerelease: typeof Prerelease;
12
+ release: typeof Release;
13
+ lint: typeof Lint;
8
14
  };
package/dist/index.js CHANGED
@@ -6,10 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.commands = void 0;
7
7
  const build_1 = __importDefault(require("./commands/build"));
8
8
  const dev_1 = __importDefault(require("./commands/dev"));
9
+ const lint_1 = __importDefault(require("./commands/lint"));
9
10
  const new_1 = __importDefault(require("./commands/new"));
11
+ const prerelease_1 = __importDefault(require("./commands/prerelease"));
12
+ const release_1 = __importDefault(require("./commands/release"));
10
13
  exports.commands = {
11
14
  new: new_1.default,
12
15
  build: build_1.default,
13
16
  dev: dev_1.default,
17
+ prerelease: prerelease_1.default,
18
+ release: release_1.default,
19
+ lint: lint_1.default,
14
20
  };
15
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAqC;AACrC,yDAAiC;AACjC,yDAAiC;AAEpB,QAAA,QAAQ,GAAG;IACvB,GAAG,EAAE,aAAG;IACR,KAAK,EAAE,eAAK;IACZ,GAAG,EAAE,aAAG;CACR,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAqC;AACrC,yDAAiC;AACjC,2DAAmC;AACnC,yDAAiC;AACjC,uEAA+C;AAC/C,iEAAyC;AAE5B,QAAA,QAAQ,GAAG;IACvB,GAAG,EAAE,aAAG;IACR,KAAK,EAAE,eAAK;IACZ,GAAG,EAAE,aAAG;IACR,UAAU,EAAE,oBAAU;IACtB,OAAO,EAAE,iBAAO;IAChB,IAAI,EAAE,cAAI;CACV,CAAC"}
@@ -15,13 +15,15 @@
15
15
  "type": "git",
16
16
  "url": ""
17
17
  },
18
- "scripts": {
19
- "build": "n8n-node build",
20
- "build:watch": "tsc --watch",
21
- "dev": "n8n-node dev",
22
- "lint": "eslint .",
23
- "release": "release-it"
24
- },
18
+ "scripts": {
19
+ "build": "n8n-node build",
20
+ "build:watch": "tsc --watch",
21
+ "dev": "n8n-node dev",
22
+ "lint": "n8n-node lint",
23
+ "lint:fix": "n8n-node lint --fix",
24
+ "release": "n8n-node release",
25
+ "prepublishOnly": "n8n-node prerelease"
26
+ },
25
27
  "files": [
26
28
  "dist"
27
29
  ],
@@ -32,11 +34,6 @@
32
34
  "dist/nodes/Example/Example.node.js"
33
35
  ]
34
36
  },
35
- "release-it": {
36
- "hooks": {
37
- "before:init": "{{packageManager.name}} run lint && {{packageManager.name}} run build"
38
- }
39
- },
40
37
  "devDependencies": {
41
38
  "@n8n/node-cli": "*",
42
39
  "eslint": "9.32.0",