@ahmedrowaihi/8n 6.0.26 → 6.0.27

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/adapter.cjs CHANGED
@@ -1,33 +1,6 @@
1
- let node_fs = require("node:fs");
2
- let node_path = require("node:path");
3
1
 
4
2
  //#region src/adapter.ts
5
- const adapter = {
6
- name: "8n",
7
- async onBuildComplete({ projectDir }) {
8
- const docsProjectDir = process.env.DOCS_PROJECT_DIR;
9
- const staticExport = process.env.NEXT_STATIC_EXPORT === "true";
10
- if (!docsProjectDir) return;
11
- if (process.env.NEXT_DIST_DIR && !staticExport) return;
12
- const folder = staticExport ? "out" : ".next";
13
- const src = (0, node_path.join)(projectDir, folder);
14
- const dest = (0, node_path.join)(docsProjectDir, folder);
15
- if ((0, node_fs.existsSync)(dest)) (0, node_fs.rmSync)(dest, {
16
- recursive: true,
17
- force: true
18
- });
19
- try {
20
- (0, node_fs.renameSync)(src, dest);
21
- } catch (err) {
22
- if (err.code !== "EXDEV") throw err;
23
- (0, node_fs.cpSync)(src, dest, { recursive: true });
24
- (0, node_fs.rmSync)(src, {
25
- recursive: true,
26
- force: true
27
- });
28
- }
29
- }
30
- };
3
+ const adapter = { name: "8n" };
31
4
  module.exports = adapter;
32
5
 
33
6
  //#endregion
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import { Command, Option } from "commander";
3
3
  import pc from "picocolors";
4
4
  import { basename, dirname, extname, join, relative, resolve, sep } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
- import { appendFileSync, cpSync, existsSync, mkdirSync, readFileSync, readdirSync, watch, writeFileSync } from "node:fs";
6
+ import { appendFileSync, cpSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, watch, writeFileSync } from "node:fs";
7
7
  import { x } from "tinyexec";
8
8
  import { loadConfig } from "c12";
9
9
  import { createInterface } from "node:readline/promises";
@@ -3674,7 +3674,7 @@ async function checkSelfUpdate() {
3674
3674
  });
3675
3675
  if (!res.ok) return;
3676
3676
  const { version: latest } = await res.json();
3677
- const current = "6.0.26";
3677
+ const current = "6.0.27";
3678
3678
  if (latest !== current) console.log(pc.yellow("⚠") + pc.dim(` new version available: `) + pc.cyan(latest) + pc.dim(` (current: ${current}) — run `) + pc.cyan("npm i -g @ahmedrowaihi/8n") + pc.dim(" to update"));
3679
3679
  } catch {}
3680
3680
  }
@@ -3732,45 +3732,8 @@ async function runNext(cmd, env, flags = []) {
3732
3732
  env
3733
3733
  } });
3734
3734
  }
3735
- function getProjectBuildDir(projectDir) {
3736
- return join(projectDir, ".8n");
3737
- }
3738
- async function copyStarterToProject(projectDir) {
3739
- const starterDir = getStarterDir();
3740
- const buildDir = getProjectBuildDir(projectDir);
3741
- const spin = spinner("preparing build environment");
3742
- try {
3743
- cpSync(starterDir, buildDir, {
3744
- recursive: true,
3745
- force: true,
3746
- filter: (src) => {
3747
- const rel = src.slice(starterDir.length);
3748
- return !rel.startsWith(sep + "node_modules") && !rel.startsWith(sep + ".next") && !rel.startsWith(sep + "out");
3749
- }
3750
- });
3751
- await x("npm", [
3752
- "install",
3753
- "--legacy-peer-deps",
3754
- "--include=dev"
3755
- ], { nodeOptions: {
3756
- cwd: buildDir,
3757
- stdio: process.env.DEBUG_8N ? "inherit" : "pipe"
3758
- } });
3759
- spin.succeed("build environment ready");
3760
- } catch (err) {
3761
- spin.fail(`setup failed: ${err.message}`);
3762
- throw err;
3763
- }
3764
- }
3765
- async function runNextIn(dir, cmd, env, flags = []) {
3766
- await x(join(dir, "node_modules", ".bin", "next"), [cmd, ...flags], { nodeOptions: {
3767
- cwd: dir,
3768
- stdio: "inherit",
3769
- env
3770
- } });
3771
- }
3772
3735
  const adapterPath = join(dirname(fileURLToPath(import.meta.url)), "adapter.cjs");
3773
- function buildEnv({ config, contentDir, staticExport = false }) {
3736
+ function buildEnv({ config, contentDir, staticExport = false, adapter = true }) {
3774
3737
  const ghRepo = process.env.GITHUB_REPOSITORY;
3775
3738
  const ghServer = process.env.GITHUB_SERVER_URL ?? "https://github.com";
3776
3739
  const ghPagesUrl = ghRepo ? `${ghServer}/${ghRepo}` : void 0;
@@ -3786,10 +3749,19 @@ function buildEnv({ config, contentDir, staticExport = false }) {
3786
3749
  NEXT_PUBLIC_ANIMATIONS: config.animations === false ? "false" : "true",
3787
3750
  NEXT_BASE_PATH: config.basePath ?? ghPagesBasePath ?? "",
3788
3751
  NEXT_STATIC_EXPORT: staticExport ? "true" : "false",
3789
- NEXT_ADAPTER_PATH: adapterPath,
3790
- DOCS_PROJECT_DIR: process.cwd()
3752
+ ...adapter ? {
3753
+ NEXT_ADAPTER_PATH: adapterPath,
3754
+ DOCS_PROJECT_DIR: process.cwd()
3755
+ } : {}
3791
3756
  };
3792
3757
  }
3758
+ async function runNextFlat(projectDir, cmd, env) {
3759
+ await x(join(projectDir, "node_modules", ".bin", "next"), [cmd], { nodeOptions: {
3760
+ cwd: projectDir,
3761
+ stdio: "inherit",
3762
+ env
3763
+ } });
3764
+ }
3793
3765
 
3794
3766
  //#endregion
3795
3767
  //#region src/commands/dev.ts
@@ -3811,28 +3783,43 @@ async function dev() {
3811
3783
  async function build({ server = false } = {}) {
3812
3784
  const { config, contentDir } = await resolveProject();
3813
3785
  const projectDir = process.cwd();
3814
- console.log(pc.cyan("8n") + pc.dim(` v6.0.26 build → ${contentDir}`));
3815
- syncPublicDir(projectDir);
3816
- if (server) {
3817
- await copyStarterToProject(projectDir);
3818
- await runNextIn(getProjectBuildDir(projectDir), "build", {
3819
- ...buildEnv({
3820
- config,
3821
- contentDir,
3822
- staticExport: false
3823
- }),
3824
- NEXT_DIST_DIR: join("..", ".next")
3825
- });
3826
- } else {
3786
+ console.log(pc.cyan("8n") + pc.dim(` v6.0.27 build → ${contentDir}`));
3787
+ if (server) await runNextFlat(projectDir, "build", buildEnv({
3788
+ config,
3789
+ contentDir,
3790
+ staticExport: false,
3791
+ adapter: false
3792
+ }));
3793
+ else {
3827
3794
  await ensureDepsInstalled();
3795
+ syncPublicDir(projectDir);
3828
3796
  await runNext("build", buildEnv({
3829
3797
  config,
3830
3798
  contentDir,
3831
- staticExport: true
3799
+ staticExport: true,
3800
+ adapter: false
3832
3801
  }));
3802
+ moveOutput(join(getStarterDir(), "out"), join(projectDir, "out"));
3833
3803
  }
3834
3804
  console.log(pc.green("✓") + pc.dim(` build complete → ${server ? ".next/" : "out/"}`));
3835
3805
  }
3806
+ function moveOutput(src, dest) {
3807
+ if (!existsSync(src)) return;
3808
+ if (existsSync(dest)) rmSync(dest, {
3809
+ recursive: true,
3810
+ force: true
3811
+ });
3812
+ try {
3813
+ renameSync(src, dest);
3814
+ } catch (err) {
3815
+ if (err.code !== "EXDEV") throw err;
3816
+ cpSync(src, dest, { recursive: true });
3817
+ rmSync(src, {
3818
+ recursive: true,
3819
+ force: true
3820
+ });
3821
+ }
3822
+ }
3836
3823
 
3837
3824
  //#endregion
3838
3825
  //#region src/commands/start.ts
@@ -4003,8 +3990,42 @@ async function init() {
4003
3990
  //#endregion
4004
3991
  //#region src/commands/install.ts
4005
3992
  async function install() {
3993
+ const starterDir = getStarterDir();
3994
+ const projectDir = process.cwd();
4006
3995
  console.log(pc.cyan("8n") + pc.dim(" install"));
4007
- await ensureDepsInstalled();
3996
+ process.stdout.write(pc.dim(" copying starter files...\n"));
3997
+ cpSync(starterDir, projectDir, {
3998
+ recursive: true,
3999
+ force: true,
4000
+ filter: (src) => {
4001
+ const rel = src.slice(starterDir.length);
4002
+ return !rel.startsWith(sep + "node_modules") && !rel.startsWith(sep + ".next") && !rel.startsWith(sep + "out") && !rel.startsWith(sep + "content") && rel !== sep + "package.json";
4003
+ }
4004
+ });
4005
+ const starterPkg = JSON.parse(readFileSync(join(starterDir, "package.json"), "utf-8"));
4006
+ const projectPkg = JSON.parse(readFileSync(join(projectDir, "package.json"), "utf-8"));
4007
+ const merged = {
4008
+ ...projectPkg,
4009
+ dependencies: {
4010
+ ...starterPkg.dependencies ?? {},
4011
+ ...projectPkg.dependencies ?? {}
4012
+ },
4013
+ devDependencies: {
4014
+ ...starterPkg.devDependencies ?? {},
4015
+ ...projectPkg.devDependencies ?? {}
4016
+ }
4017
+ };
4018
+ writeFileSync(join(projectDir, "package.json"), JSON.stringify(merged, null, 2) + "\n");
4019
+ process.stdout.write(pc.dim(" installing dependencies...\n"));
4020
+ await x("npm", [
4021
+ "install",
4022
+ "--legacy-peer-deps",
4023
+ "--include=dev"
4024
+ ], { nodeOptions: {
4025
+ cwd: projectDir,
4026
+ stdio: process.env.DEBUG_8N ? "inherit" : "pipe"
4027
+ } });
4028
+ process.stdout.write(pc.green("✓") + pc.dim(" project ready\n"));
4008
4029
  }
4009
4030
 
4010
4031
  //#endregion
@@ -4022,7 +4043,7 @@ async function mcp() {
4022
4043
  const mcpDir = join(getStarterDir(), "content", "mcp", "en");
4023
4044
  const server = new McpServer({
4024
4045
  name: "8n",
4025
- version: "6.0.26"
4046
+ version: "6.0.27"
4026
4047
  });
4027
4048
  server.registerTool("read_me", {
4028
4049
  description: "Returns how to use the 8n MCP tools. Call this BEFORE documenting anything with 8n.",
@@ -4163,7 +4184,7 @@ Example: get_component({ name: "components" }) returns all available MDX compone
4163
4184
 
4164
4185
  //#endregion
4165
4186
  //#region src/index.ts
4166
- const program = new Command().name("8n").description("Run your 8n docs site").version("6.0.26").addOption(new Option("--debug").hideHelp()).hook("preAction", (cmd) => {
4187
+ const program = new Command().name("8n").description("Run your 8n docs site").version("6.0.27").addOption(new Option("--debug").hideHelp()).hook("preAction", (cmd) => {
4167
4188
  if (cmd.opts().debug) process.env.DEBUG_8N = "1";
4168
4189
  });
4169
4190
  program.command("init").description("Scaffold a new docs project in the current directory").action(init);
package/package.json CHANGED
@@ -30,5 +30,5 @@
30
30
  "typescript": "^5.9.3",
31
31
  "zod": "^4.3.6"
32
32
  },
33
- "version": "6.0.26"
33
+ "version": "6.0.27"
34
34
  }
@@ -15,9 +15,7 @@ const config = {
15
15
  unoptimized: true,
16
16
  },
17
17
 
18
- distDir: process.env.NEXT_DIST_DIR || ".next",
19
-
20
- ...(staticExport ? { output: "export", trailingSlash: true } : {}),
18
+ ...(staticExport ? { output: "export", trailingSlash: true } : {}),
21
19
  ...(basePath ? { basePath, assetPrefix: basePath } : {}),
22
20
  };
23
21
 
@@ -106,5 +106,5 @@
106
106
  "tsx": "^4.21.0",
107
107
  "typescript": "^5.9.3"
108
108
  },
109
- "version": "6.0.26"
109
+ "version": "6.0.27"
110
110
  }