zudoku 0.19.0 → 0.20.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/cli/common/outdated.js +2 -1
- package/dist/cli/common/outdated.js.map +1 -1
- package/dist/config/common.d.ts +8 -0
- package/dist/config/common.js +2 -0
- package/dist/config/common.js.map +1 -0
- package/dist/config/config.d.ts +3 -2
- package/dist/config/loader.d.ts +5 -0
- package/dist/config/loader.js +110 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/validators/common.d.ts +4651 -0
- package/dist/config/validators/common.js +269 -0
- package/dist/config/validators/common.js.map +1 -0
- package/dist/config/validators/validate.d.ts +350 -584
- package/dist/config/validators/validate.js +9 -246
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +1 -1
- package/dist/lib/components/TopNavigation.d.ts +1 -1
- package/dist/lib/components/navigation/SidebarCategory.d.ts +1 -2
- package/dist/lib/components/navigation/SidebarCategory.js +3 -4
- package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
- package/dist/lib/components/navigation/SidebarItem.d.ts +1 -3
- package/dist/lib/components/navigation/SidebarItem.js +4 -9
- package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
- package/dist/lib/components/navigation/SidebarWrapper.js +1 -1
- package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
- package/dist/lib/core/ZudokuContext.d.ts +1 -1
- package/dist/lib/plugins/markdown/index.d.ts +1 -1
- package/dist/lib/plugins/markdown/resolver.js.map +1 -1
- package/dist/lib/plugins/redirect/index.d.ts +1 -1
- package/dist/lib/ui/Command.d.ts +1 -1
- package/dist/lib/util/MdxComponents.d.ts +2 -3
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/vite/build.js +4 -1
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.d.ts +1 -3
- package/dist/vite/config.js +2 -4
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/output.d.ts +1 -1
- package/dist/vite/output.js.map +1 -1
- package/dist/vite/plugin-config-reload.d.ts +1 -2
- package/dist/vite/plugin-config-reload.js.map +1 -1
- package/dist/vite/plugin.d.ts +1 -2
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender.d.ts +2 -1
- package/dist/vite/prerender.js +2 -2
- package/dist/vite/prerender.js.map +1 -1
- package/dist/vite/sitemap.d.ts +1 -1
- package/dist/zuplo/env.d.ts +6 -0
- package/dist/zuplo/env.js +9 -0
- package/dist/zuplo/env.js.map +1 -0
- package/dist/zuplo/with-zuplo.d.ts +2 -2
- package/dist/zuplo/with-zuplo.js.map +1 -1
- package/lib/Markdown-ievDDhFT.js.map +1 -1
- package/lib/zudoku.components.js +259 -271
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-redirect.js.map +1 -1
- package/package.json +2 -2
- package/src/lib/components/TopNavigation.tsx +1 -1
- package/src/lib/components/navigation/SidebarCategory.tsx +7 -9
- package/src/lib/components/navigation/SidebarItem.tsx +3 -16
- package/src/lib/components/navigation/SidebarWrapper.tsx +1 -1
- package/src/lib/core/ZudokuContext.ts +1 -1
- package/src/lib/plugins/markdown/index.tsx +1 -1
- package/src/lib/plugins/markdown/resolver.ts +2 -4
- package/src/lib/plugins/redirect/index.tsx +1 -1
- package/src/lib/util/MdxComponents.tsx +2 -5
|
@@ -17,7 +17,8 @@ export async function warnIfOutdatedVersion(currentVersion) {
|
|
|
17
17
|
if (!versionCheckInfo.latestVersion) {
|
|
18
18
|
return false;
|
|
19
19
|
}
|
|
20
|
-
const shouldWarn = gt(versionCheckInfo.latestVersion, currentVersion)
|
|
20
|
+
const shouldWarn = gt(versionCheckInfo.latestVersion, currentVersion) &&
|
|
21
|
+
!process.env.ZUDOKU_INTERNAL_DEV;
|
|
21
22
|
if (shouldWarn) {
|
|
22
23
|
printWarningToConsole(box(`Update available! ${colors.gray(`v${currentVersion}`)} ≫ ${colors.green(`v${versionCheckInfo.latestVersion}`)}
|
|
23
24
|
Run ${colors.cyan("npm install zudoku@latest")} to update.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outdated.js","sourceRoot":"","sources":["../../../src/cli/common/outdated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,MAAM,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAMrD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,cAAsB;IAChE,yCAAyC;IACzC,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B;QACvC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAC3D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAErD,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"outdated.js","sourceRoot":"","sources":["../../../src/cli/common/outdated.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/config/common.ts"],"names":[],"mappings":""}
|
package/dist/config/config.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { ConfigWithMeta } from "./common.js";
|
|
1
2
|
import type { ZudokuConfig } from "./validators/validate.js";
|
|
2
|
-
import type { LoadedConfig } from "../vite/config.js";
|
|
3
3
|
export type URLString = `https://${string}` | `http://${string}`;
|
|
4
4
|
export { type ZudokuConfig };
|
|
5
|
-
export
|
|
5
|
+
export type LoadedConfig = ConfigWithMeta<ZudokuConfig>;
|
|
6
|
+
export interface ZudokuPluginOptions extends ConfigWithMeta<ZudokuConfig> {
|
|
6
7
|
rootDir: string;
|
|
7
8
|
moduleDir: string;
|
|
8
9
|
mode: "internal" | "module" | "standalone";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { RollupOutput, RollupWatcher } from "rollup";
|
|
2
|
+
import { ConfigWithMeta } from "./common.js";
|
|
3
|
+
import { CommonConfig } from "./validators/common.js";
|
|
4
|
+
export declare function tryLoadZudokuConfig<TConfig extends CommonConfig>(rootDir: string): Promise<ConfigWithMeta<TConfig>>;
|
|
5
|
+
export declare function findOutputPathOfServerConfig(output: RollupOutput | RollupOutput[] | RollupWatcher): string;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { readFile, stat } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
4
|
+
import { tsImport } from "tsx/esm/api";
|
|
5
|
+
import withZuplo from "../zuplo/with-zuplo.js";
|
|
6
|
+
import { validateCommonConfig } from "./validators/common.js";
|
|
7
|
+
import { validateConfig } from "./validators/validate.js";
|
|
8
|
+
const zudokuConfigFiles = [
|
|
9
|
+
"zudoku.config.js",
|
|
10
|
+
"zudoku.config.jsx",
|
|
11
|
+
"zudoku.config.ts",
|
|
12
|
+
"zudoku.config.tsx",
|
|
13
|
+
"zudoku.config.mjs",
|
|
14
|
+
];
|
|
15
|
+
const devPortalConfigFile = "dev-portal.json";
|
|
16
|
+
const fileExists = (path) => stat(path)
|
|
17
|
+
.then(() => true)
|
|
18
|
+
.catch(() => false);
|
|
19
|
+
let configPath;
|
|
20
|
+
let configType;
|
|
21
|
+
async function getConfigFilePath(rootDir) {
|
|
22
|
+
// Also check if file exists, so renaming the file will trigger a restart as well
|
|
23
|
+
if (configPath && configType && (await fileExists(configPath))) {
|
|
24
|
+
return { configPath, configType };
|
|
25
|
+
}
|
|
26
|
+
const devPortalConfigPath = path.join(rootDir, devPortalConfigFile);
|
|
27
|
+
if (await fileExists(devPortalConfigPath)) {
|
|
28
|
+
configPath = devPortalConfigPath;
|
|
29
|
+
configType = "dev-portal";
|
|
30
|
+
return { configPath, configType };
|
|
31
|
+
}
|
|
32
|
+
for (const fileName of zudokuConfigFiles) {
|
|
33
|
+
const filepath = path.join(rootDir, fileName);
|
|
34
|
+
if (await fileExists(filepath)) {
|
|
35
|
+
configPath = filepath;
|
|
36
|
+
configType = "zudoku";
|
|
37
|
+
return { configPath, configType };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
configPath = undefined;
|
|
41
|
+
configType = undefined;
|
|
42
|
+
throw new Error(`No zudoku config file found in project root.`);
|
|
43
|
+
}
|
|
44
|
+
async function loadZudokuCodeConfig(rootDir, configPath) {
|
|
45
|
+
const configFilePath = pathToFileURL(configPath).href;
|
|
46
|
+
const dependencies = [];
|
|
47
|
+
const config = await tsImport(configFilePath, {
|
|
48
|
+
parentURL: import.meta.url,
|
|
49
|
+
onImport: (file) => {
|
|
50
|
+
const path = fileURLToPath(file.startsWith("file://") ? file : pathToFileURL(file).href);
|
|
51
|
+
if (path.startsWith(rootDir)) {
|
|
52
|
+
dependencies.push(path);
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
}).then((m) => m.default);
|
|
56
|
+
if (!config) {
|
|
57
|
+
throw new Error(`Failed to load config file: ${configPath}`);
|
|
58
|
+
}
|
|
59
|
+
validateConfig(config);
|
|
60
|
+
return { dependencies, config };
|
|
61
|
+
}
|
|
62
|
+
async function loadDevPortalConfig(configPath) {
|
|
63
|
+
const json = await readFile(configPath, "utf-8");
|
|
64
|
+
let config;
|
|
65
|
+
try {
|
|
66
|
+
config = JSON.parse(json);
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
throw new Error("Failed to parse dev-portal.json. Check that the file is valid JSON.");
|
|
70
|
+
}
|
|
71
|
+
validateCommonConfig(config);
|
|
72
|
+
return withZuplo(config);
|
|
73
|
+
}
|
|
74
|
+
// WARNING: If you change function signature, you must also change the
|
|
75
|
+
// corresponding type in packages/config/src/index.d.ts
|
|
76
|
+
export async function tryLoadZudokuConfig(rootDir) {
|
|
77
|
+
const { configPath, configType } = await getConfigFilePath(rootDir);
|
|
78
|
+
let config;
|
|
79
|
+
let dependencies;
|
|
80
|
+
if (configType === "dev-portal") {
|
|
81
|
+
config = await loadDevPortalConfig(configPath);
|
|
82
|
+
dependencies = [];
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
({ config, dependencies } = await loadZudokuCodeConfig(rootDir, configPath));
|
|
86
|
+
}
|
|
87
|
+
const configWithMetadata = {
|
|
88
|
+
...config,
|
|
89
|
+
__meta: {
|
|
90
|
+
dependencies,
|
|
91
|
+
path: configPath,
|
|
92
|
+
registerDependency: (...files) => dependencies.push(...files),
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
return configWithMetadata;
|
|
96
|
+
}
|
|
97
|
+
const outputFileNames = ["dev-portal.js", "zudoku.config.js"];
|
|
98
|
+
export function findOutputPathOfServerConfig(output) {
|
|
99
|
+
if (Array.isArray(output)) {
|
|
100
|
+
throw new Error("Expected a single output, but got an array");
|
|
101
|
+
}
|
|
102
|
+
if ("output" in output) {
|
|
103
|
+
const result = output.output.find((o) => "isEntry" in o && o.isEntry && outputFileNames.includes(o.fileName));
|
|
104
|
+
if (result) {
|
|
105
|
+
return result.fileName;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
throw new Error("Could not find server config output file");
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|