@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 +1 -28
- package/dist/index.mjs +80 -59
- package/package.json +1 -1
- package/starter/next.config.mjs +1 -3
- package/starter/package.json +1 -1
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.
|
|
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
|
-
|
|
3790
|
-
|
|
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.
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
package/starter/next.config.mjs
CHANGED
|
@@ -15,9 +15,7 @@ const config = {
|
|
|
15
15
|
unoptimized: true,
|
|
16
16
|
},
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
...(staticExport ? { output: "export", trailingSlash: true } : {}),
|
|
18
|
+
...(staticExport ? { output: "export", trailingSlash: true } : {}),
|
|
21
19
|
...(basePath ? { basePath, assetPrefix: basePath } : {}),
|
|
22
20
|
};
|
|
23
21
|
|
package/starter/package.json
CHANGED