@fedify/init 2.3.0-dev.1377 → 2.3.0-dev.1404
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/action/cleanup.js +46 -0
- package/dist/action/configs.js +51 -6
- package/dist/action/deps.js +1 -1
- package/dist/action/mod.js +2 -1
- package/dist/action/patch.js +27 -16
- package/dist/action/templates.js +3 -2
- package/dist/deno.js +1 -1
- package/dist/json/deps.js +15 -13
- package/dist/json/deps.json +17 -15
- package/dist/json/kv.js +3 -3
- package/dist/json/kv.json +3 -3
- package/dist/json/mq.js +3 -3
- package/dist/json/mq.json +3 -3
- package/dist/json/oxfmt.js +16 -0
- package/dist/json/oxfmt.json +13 -0
- package/dist/json/oxlint.js +38 -0
- package/dist/json/oxlint.json +37 -0
- package/dist/json/vscode-settings.js +11 -10
- package/dist/json/vscode-settings.json +11 -10
- package/dist/templates/bare-bones/main/bun.ts.tpl +3 -3
- package/dist/templates/bare-bones/main/node.ts.tpl +7 -8
- package/dist/templates/defaults/federation.oxc.ts.tpl +22 -0
- package/dist/templates/defaults/federation.ts.tpl +1 -0
- package/dist/templates/elysia/index/bun.ts.tpl +1 -1
- package/dist/templates/elysia/index/node.ts.tpl +2 -2
- package/dist/templates/express/app.ts.tpl +0 -3
- package/dist/templates/hono/app.tsx.tpl +0 -3
- package/dist/templates/hono/index/node.ts.tpl +1 -2
- package/dist/templates/next/middleware.ts.tpl +3 -3
- package/dist/templates/nitro/nitro.config.ts.tpl +2 -2
- package/dist/templates/nitro/server/error.ts.tpl +1 -1
- package/dist/templates/nitro/server/middleware/federation.ts.tpl +2 -6
- package/dist/templates/nitro/server/routes/index.ts.tpl +11 -0
- package/dist/test/create.js +30 -1
- package/dist/types.d.ts +13 -0
- package/dist/utils.js +14 -7
- package/dist/webframeworks/astro.js +18 -7
- package/dist/webframeworks/bare-bones.js +4 -7
- package/dist/webframeworks/const.js +3 -3
- package/dist/webframeworks/elysia.js +4 -7
- package/dist/webframeworks/express.js +4 -5
- package/dist/webframeworks/hono.js +4 -5
- package/dist/webframeworks/next.js +9 -4
- package/dist/webframeworks/nitro.js +30 -3
- package/dist/webframeworks/nuxt.js +4 -4
- package/dist/webframeworks/solidstart.js +5 -5
- package/dist/webframeworks/utils.js +7 -1
- package/package.json +3 -2
- package/dist/json/biome.js +0 -16
- package/dist/json/biome.json +0 -19
- package/dist/templates/defaults/eslint.config.ts.tpl +0 -3
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { formatJson } from "../utils.js";
|
|
2
|
+
import { throwUnlessNotExists } from "../lib.js";
|
|
3
|
+
import { readFile, rm, writeFile } from "node:fs/promises";
|
|
4
|
+
import { isAbsolute, join, relative, resolve } from "node:path";
|
|
5
|
+
//#region src/action/cleanup.ts
|
|
6
|
+
async function cleanupScaffoldedFiles({ dir, initializer }) {
|
|
7
|
+
await Promise.all((initializer.cleanupFiles ?? []).filter((path) => path.trim() !== "").map((path) => rm(resolveCleanupPath(dir, path), {
|
|
8
|
+
force: true,
|
|
9
|
+
recursive: true
|
|
10
|
+
})));
|
|
11
|
+
await cleanupPackageJson(dir, initializer.cleanupPackageJson);
|
|
12
|
+
}
|
|
13
|
+
function resolveCleanupPath(dir, path) {
|
|
14
|
+
const baseDir = resolve(dir);
|
|
15
|
+
const targetPath = resolve(baseDir, path);
|
|
16
|
+
const relative$1 = relative(baseDir, targetPath);
|
|
17
|
+
if (relative$1 === "" || relative$1.startsWith("..") || isAbsolute(relative$1)) throw new Error(`Cleanup path escapes project directory: ${path}`);
|
|
18
|
+
return targetPath;
|
|
19
|
+
}
|
|
20
|
+
async function cleanupPackageJson(dir, cleanup) {
|
|
21
|
+
if (cleanup == null || isEmptyPackageJsonCleanup(cleanup)) return;
|
|
22
|
+
const path = join(dir, "package.json");
|
|
23
|
+
const packageJson = await readPackageJson(path);
|
|
24
|
+
if (packageJson == null) return;
|
|
25
|
+
deleteKeys(packageJson.scripts, cleanup.scripts);
|
|
26
|
+
deleteKeys(packageJson.dependencies, cleanup.dependencies);
|
|
27
|
+
deleteKeys(packageJson.devDependencies, cleanup.devDependencies);
|
|
28
|
+
await writeFile(path, formatJson(packageJson));
|
|
29
|
+
}
|
|
30
|
+
function isEmptyPackageJsonCleanup(cleanup) {
|
|
31
|
+
return (cleanup.scripts?.length ?? 0) === 0 && (cleanup.dependencies?.length ?? 0) === 0 && (cleanup.devDependencies?.length ?? 0) === 0;
|
|
32
|
+
}
|
|
33
|
+
async function readPackageJson(path) {
|
|
34
|
+
try {
|
|
35
|
+
return JSON.parse(await readFile(path, "utf8"));
|
|
36
|
+
} catch (error) {
|
|
37
|
+
throwUnlessNotExists(error);
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function deleteKeys(target, keys) {
|
|
42
|
+
if (target == null || typeof target !== "object" || keys == null) return;
|
|
43
|
+
for (const key of keys) Reflect.deleteProperty(target, key);
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { cleanupScaffoldedFiles };
|
package/dist/action/configs.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { merge } from "../utils.js";
|
|
2
|
-
import
|
|
2
|
+
import oxfmt_default from "../json/oxfmt.js";
|
|
3
|
+
import oxlint_default from "../json/oxlint.js";
|
|
3
4
|
import vscode_settings_for_deno_default from "../json/vscode-settings-for-deno.js";
|
|
4
5
|
import vscode_settings_default from "../json/vscode-settings.js";
|
|
5
6
|
import { getPackagesPath } from "./const.js";
|
|
@@ -93,19 +94,63 @@ const loadPackageJson = (data) => ({
|
|
|
93
94
|
devDependencies: getDevDependencies(data)
|
|
94
95
|
}
|
|
95
96
|
});
|
|
97
|
+
const loadOxfmtConfig = (data) => ({
|
|
98
|
+
path: join(".oxfmtrc.json"),
|
|
99
|
+
data: withFormatIgnorePatterns(oxfmt_default, data)
|
|
100
|
+
});
|
|
101
|
+
const loadOxlintConfig = (data) => ({
|
|
102
|
+
path: join(".oxlintrc.json"),
|
|
103
|
+
data: withFormatIgnorePatterns(oxlint_default, data)
|
|
104
|
+
});
|
|
105
|
+
const loadVscodeSettings = (data) => ({
|
|
106
|
+
path: devToolConfigs.vscSet.path,
|
|
107
|
+
data: data.initializer.format?.tool === "prettier" ? getVscodeSettingsForPrettier() : vscode_settings_default
|
|
108
|
+
});
|
|
109
|
+
const loadVscodeExtensions = (data) => ({
|
|
110
|
+
path: devToolConfigs.vscExt.path,
|
|
111
|
+
data: data.initializer.format?.tool === "prettier" ? { recommendations: [
|
|
112
|
+
"astro-build.astro-vscode",
|
|
113
|
+
"esbenp.prettier-vscode",
|
|
114
|
+
"oxc.oxc-vscode"
|
|
115
|
+
] } : devToolConfigs.vscExt.data
|
|
116
|
+
});
|
|
117
|
+
const withFormatIgnorePatterns = (config, data) => ({
|
|
118
|
+
...config,
|
|
119
|
+
ignorePatterns: [...new Set([...config.ignorePatterns ?? [], ...data.initializer.format?.ignorePatterns ?? []])].sort()
|
|
120
|
+
});
|
|
121
|
+
function getVscodeSettingsForPrettier() {
|
|
122
|
+
const { "oxc.fmt.configPath": _configPath, ...settings } = vscode_settings_default;
|
|
123
|
+
const prettierSettings = {};
|
|
124
|
+
for (const [key, value] of Object.entries(settings)) if (key.startsWith("[") && typeof value === "object" && value != null) prettierSettings[key] = {
|
|
125
|
+
...value,
|
|
126
|
+
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
127
|
+
};
|
|
128
|
+
else prettierSettings[key] = value;
|
|
129
|
+
return {
|
|
130
|
+
...prettierSettings,
|
|
131
|
+
"[astro]": {
|
|
132
|
+
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
133
|
+
"editor.formatOnSave": true
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
}
|
|
96
137
|
/**
|
|
97
138
|
* Configuration objects for various development tool setup files.
|
|
98
139
|
* Contains predefined configurations for code formatting, VS Code settings, and extensions
|
|
99
140
|
* based on the project type (Node.js/Bun or Deno).
|
|
100
141
|
*/
|
|
101
142
|
const devToolConfigs = {
|
|
102
|
-
|
|
103
|
-
path: join("
|
|
104
|
-
data:
|
|
143
|
+
oxfmt: {
|
|
144
|
+
path: join(".oxfmtrc.json"),
|
|
145
|
+
data: oxfmt_default
|
|
146
|
+
},
|
|
147
|
+
oxlint: {
|
|
148
|
+
path: join(".oxlintrc.json"),
|
|
149
|
+
data: oxlint_default
|
|
105
150
|
},
|
|
106
151
|
vscExt: {
|
|
107
152
|
path: join(".vscode", "extensions.json"),
|
|
108
|
-
data: { recommendations: ["
|
|
153
|
+
data: { recommendations: ["oxc.oxc-vscode"] }
|
|
109
154
|
},
|
|
110
155
|
vscSet: {
|
|
111
156
|
path: join(".vscode", "settings.json"),
|
|
@@ -121,4 +166,4 @@ const devToolConfigs = {
|
|
|
121
166
|
}
|
|
122
167
|
};
|
|
123
168
|
//#endregion
|
|
124
|
-
export { devToolConfigs, loadDenoConfig, loadPackageJson, loadTsConfig };
|
|
169
|
+
export { devToolConfigs, loadDenoConfig, loadOxfmtConfig, loadOxlintConfig, loadPackageJson, loadTsConfig, loadVscodeExtensions, loadVscodeSettings };
|
package/dist/action/deps.js
CHANGED
|
@@ -28,7 +28,7 @@ const addLocalFedifyDeps = (deps) => pipe(deps, entries, map(when(([name]) => na
|
|
|
28
28
|
const convertFedifyToLocal = (name) => pipe(name, replace("@fedify/", ""), (pkg) => join$1(getPackagesPath(), pkg));
|
|
29
29
|
/** Gathers all devDependencies required for the project based on the
|
|
30
30
|
* initializer, key-value store, and message queue configurations,
|
|
31
|
-
* including
|
|
31
|
+
* including Oxfmt and Oxlint for formatting and linting.
|
|
32
32
|
*
|
|
33
33
|
* @param data - Web Framework initializer, key-value store
|
|
34
34
|
* and message queue descriptions
|
package/dist/action/mod.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { set } from "../utils.js";
|
|
2
2
|
import askOptions from "../ask/mod.js";
|
|
3
|
+
import { cleanupScaffoldedFiles } from "./cleanup.js";
|
|
3
4
|
import { makeDirIfHyd } from "./dir.js";
|
|
4
5
|
import { drawDinosaur, noticeHowToRun, noticeOptions, noticePrecommand, noticeSkippedInstall } from "./notice.js";
|
|
5
6
|
import recommendConfigEnv from "./env.js";
|
|
@@ -30,6 +31,6 @@ import process from "node:process";
|
|
|
30
31
|
const runInit = (options) => pipe(options, tap(drawDinosaur), setTestMode, askOptions, tap(noticeOptions), setData, when(isDry, handleDryRun), unless(isDry, handleHydRun), tap(recommendConfigEnv), tap(noticeHowToRun));
|
|
31
32
|
const setTestMode = set("testMode", () => Boolean(process.env["FEDIFY_TEST_MODE"]));
|
|
32
33
|
const handleDryRun = (data) => pipe(data, tap(when(hasCommand, noticePrecommand)), tap(recommendPatchFiles), tap(recommendDependencies));
|
|
33
|
-
const handleHydRun = (data) => pipe(data, tap(makeDirIfHyd), tap(assertNoGeneratedFileConflicts), tap(when(hasCommand, runPrecommand)), tap(patchFiles), tap(unless(isSkipInstall, installDependencies)), tap(when(isSkipInstall, noticeSkippedInstall)));
|
|
34
|
+
const handleHydRun = (data) => pipe(data, tap(makeDirIfHyd), tap(assertNoGeneratedFileConflicts), tap(when(hasCommand, runPrecommand)), tap(cleanupScaffoldedFiles), tap(patchFiles), tap(unless(isSkipInstall, installDependencies)), tap(when(isSkipInstall, noticeSkippedInstall)));
|
|
34
35
|
//#endregion
|
|
35
36
|
export { runInit as default };
|
package/dist/action/patch.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { formatJson, merge,
|
|
1
|
+
import { formatJson, merge, set } from "../utils.js";
|
|
2
2
|
import { createFile, throwUnlessNotExists } from "../lib.js";
|
|
3
3
|
import { displayFile, noticeFilesToCreate, noticeFilesToInsert } from "./notice.js";
|
|
4
4
|
import { joinDir, stringifyEnvs } from "./utils.js";
|
|
5
|
-
import { devToolConfigs, loadDenoConfig, loadPackageJson, loadTsConfig } from "./configs.js";
|
|
5
|
+
import { devToolConfigs, loadDenoConfig, loadOxfmtConfig, loadOxlintConfig, loadPackageJson, loadTsConfig, loadVscodeExtensions, loadVscodeSettings } from "./configs.js";
|
|
6
6
|
import { getImports, loadFederation, loadLogging } from "./templates.js";
|
|
7
7
|
import { always, apply, entries, map, pipe, pipeLazy, tap } from "@fxts/core";
|
|
8
8
|
import { toMerged } from "es-toolkit";
|
|
9
9
|
import { access, readFile } from "node:fs/promises";
|
|
10
10
|
import { join as join$1 } from "node:path";
|
|
11
|
+
import { parse, printParseErrorCode } from "jsonc-parser";
|
|
11
12
|
//#region src/action/patch.ts
|
|
12
13
|
const jsonsCache = /* @__PURE__ */ new Map();
|
|
13
14
|
const getJsonsCacheKey = (data) => JSON.stringify({
|
|
@@ -20,6 +21,7 @@ const getJsonsCacheKey = (data) => JSON.stringify({
|
|
|
20
21
|
compilerOptions: data.initializer.compilerOptions ?? {},
|
|
21
22
|
dependencies: data.initializer.dependencies ?? {},
|
|
22
23
|
devDependencies: data.initializer.devDependencies ?? {},
|
|
24
|
+
format: data.initializer.format ?? {},
|
|
23
25
|
tasks: data.initializer.tasks ?? {}
|
|
24
26
|
},
|
|
25
27
|
kv: {
|
|
@@ -47,8 +49,8 @@ const recommendPatchFiles = (data) => pipe(data, set("files", getFiles), set("js
|
|
|
47
49
|
/**
|
|
48
50
|
* Verifies that `--allow-non-empty` will not modify files that already
|
|
49
51
|
* existed before any framework scaffolding command runs. This only covers
|
|
50
|
-
* files that Fedify writes itself; framework scaffolders may still
|
|
51
|
-
* unrelated pre-existing files independently.
|
|
52
|
+
* files that Fedify writes or deletes itself; framework scaffolders may still
|
|
53
|
+
* reject unrelated pre-existing files independently.
|
|
52
54
|
*/
|
|
53
55
|
async function assertNoGeneratedFileConflicts(data) {
|
|
54
56
|
if (!data.allowNonEmpty) return;
|
|
@@ -101,9 +103,10 @@ const getJsons = (data) => {
|
|
|
101
103
|
} : {
|
|
102
104
|
...data.initializer.compilerOptions ? { "tsconfig.json": loadTsConfig(data).data } : {},
|
|
103
105
|
"package.json": loadPackageJson(data).data,
|
|
104
|
-
[devToolConfigs["
|
|
105
|
-
[devToolConfigs["
|
|
106
|
-
[devToolConfigs["
|
|
106
|
+
...data.initializer.format?.tool !== "prettier" ? { [devToolConfigs["oxfmt"].path]: loadOxfmtConfig(data).data } : {},
|
|
107
|
+
[devToolConfigs["oxlint"].path]: loadOxlintConfig(data).data,
|
|
108
|
+
[devToolConfigs["vscSet"].path]: loadVscodeSettings(data).data,
|
|
109
|
+
[devToolConfigs["vscExt"].path]: loadVscodeExtensions(data).data
|
|
107
110
|
};
|
|
108
111
|
jsonsCache.set(cacheKey, jsons);
|
|
109
112
|
return jsons;
|
|
@@ -118,7 +121,8 @@ const getGeneratedFilePaths = (data) => [
|
|
|
118
121
|
data.initializer.loggingFile,
|
|
119
122
|
".env",
|
|
120
123
|
...Object.keys(data.initializer.files ?? {}),
|
|
121
|
-
...Object.keys(getJsons(data))
|
|
124
|
+
...Object.keys(getJsons(data)),
|
|
125
|
+
...(data.initializer.cleanupFiles ?? []).filter((path) => path.trim() !== "")
|
|
122
126
|
];
|
|
123
127
|
const getExistingGeneratedFiles = async (data) => {
|
|
124
128
|
const paths = [...new Set(getGeneratedFilePaths(data))];
|
|
@@ -136,7 +140,7 @@ const pathExists = async (path) => {
|
|
|
136
140
|
}
|
|
137
141
|
};
|
|
138
142
|
const formatConflictMessage = (conflicts) => [
|
|
139
|
-
"Cannot initialize in a non-empty directory because these
|
|
143
|
+
"Cannot initialize in a non-empty directory because these files",
|
|
140
144
|
"already exist:",
|
|
141
145
|
...conflicts.map((path) => ` - ${path}`),
|
|
142
146
|
"Remove the conflicting files or choose another directory."
|
|
@@ -186,21 +190,28 @@ async function patchContent(path, content) {
|
|
|
186
190
|
* Merges new JSON data with existing JSON content and formats the result.
|
|
187
191
|
* Parses existing JSON content (if any) and deep merges it with new data,
|
|
188
192
|
* then formats the result for consistent output.
|
|
189
|
-
* Supports JSONC
|
|
193
|
+
* Supports JSONC by removing comments and trailing commas before parsing.
|
|
190
194
|
*
|
|
191
195
|
* @param prev - The previous JSON content as string
|
|
192
196
|
* @param data - The new data object to merge
|
|
193
197
|
* @returns Formatted JSON string with merged content
|
|
194
198
|
*/
|
|
195
|
-
const mergeJson = (prev, data) =>
|
|
199
|
+
const mergeJson = (prev, data) => formatJson(merge(data)(prev ? parseJsoncObject(prev) : {}));
|
|
196
200
|
/**
|
|
197
|
-
*
|
|
198
|
-
* This allows parsing JSONC (JSON with Comments) files.
|
|
201
|
+
* Parses a JSONC string, accepting comments and trailing commas.
|
|
199
202
|
*
|
|
200
|
-
* @param jsonString - The JSON string potentially containing
|
|
201
|
-
* @returns JSON
|
|
203
|
+
* @param jsonString - The JSON string potentially containing JSONC syntax
|
|
204
|
+
* @returns Parsed JSON value
|
|
202
205
|
*/
|
|
203
|
-
const
|
|
206
|
+
const parseJsoncObject = (jsonString) => {
|
|
207
|
+
const errors = [];
|
|
208
|
+
const value = parse(jsonString, errors, { allowTrailingComma: true });
|
|
209
|
+
if (value === void 0 && isEmptyJsonc(errors)) return {};
|
|
210
|
+
if (errors.length > 0) throw new SyntaxError(errors.map(({ error, offset }) => `${printParseErrorCode(error)} at ${offset}`).join("; "));
|
|
211
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) throw new SyntaxError("Expected a JSON object.");
|
|
212
|
+
return value;
|
|
213
|
+
};
|
|
214
|
+
const isEmptyJsonc = (errors) => errors.length > 0 && errors.every(({ error }) => printParseErrorCode(error) === "ValueExpected");
|
|
204
215
|
/**
|
|
205
216
|
* Appends new text content to existing text content line by line.
|
|
206
217
|
* Concatenates new content lines with existing content lines,
|
package/dist/action/templates.js
CHANGED
|
@@ -13,7 +13,8 @@ import { toMerged } from "es-toolkit";
|
|
|
13
13
|
* KV store, message queue, and package manager
|
|
14
14
|
* @returns The complete federation configuration file content as a string
|
|
15
15
|
*/
|
|
16
|
-
const loadFederation = async ({ imports, projectName, kv, mq, packageManager }) => pipe(await readTemplate(
|
|
16
|
+
const loadFederation = async ({ imports, projectName, kv, mq, packageManager }) => pipe(await readTemplate(getFederationTemplate(packageManager)), replace(/\/\* imports \*\//, imports), replace(/\/\* logger \*\//, JSON.stringify(projectName)), replace(/\/\* kv \*\//, convertEnv(kv.object, packageManager)), replace(/\/\* queue \*\//, convertEnv(mq.object, packageManager)));
|
|
17
|
+
const getFederationTemplate = (packageManager) => packageManager === "deno" ? "defaults/federation.ts" : "defaults/federation.oxc.ts";
|
|
17
18
|
/**
|
|
18
19
|
* Loads logging configuration file content for the initializer.
|
|
19
20
|
*
|
|
@@ -58,7 +59,7 @@ const getImports = ({ kv, mq, packageManager, env }) => pipe(toMerged(kv.imports
|
|
|
58
59
|
* @param imports - A record mapping import names to their local aliases
|
|
59
60
|
* @returns A comma-separated string of named imports with aliases where needed
|
|
60
61
|
*/
|
|
61
|
-
const getAlias = (imports) =>
|
|
62
|
+
const getAlias = (imports) => Object.entries(imports).map(([name, alias]) => name === alias ? name : `${name} as ${alias}`).sort().join(", ");
|
|
62
63
|
const ENV_REG_EXP = /process\.env\.(\w+)/g;
|
|
63
64
|
/**
|
|
64
65
|
* Converts Node.js environment variable access to Deno-compatible syntax when
|
package/dist/deno.js
CHANGED
package/dist/json/deps.js
CHANGED
|
@@ -1,32 +1,34 @@
|
|
|
1
1
|
//#region src/json/deps.json
|
|
2
2
|
var _hongminhee_x_forwarded_fetch = "^0.2.0";
|
|
3
|
-
var _hono_hono = "^4.12.
|
|
4
|
-
var _logtape_logtape = "^2.2.
|
|
5
|
-
var _std_dotenv = "^0.225.
|
|
3
|
+
var _hono_hono = "^4.12.27";
|
|
4
|
+
var _logtape_logtape = "^2.2.1";
|
|
5
|
+
var _std_dotenv = "^0.225.7";
|
|
6
6
|
var npm__astrojs_node = "^10.0.4";
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var npm__dotenvx_dotenvx = "^1.59.1";
|
|
7
|
+
var npm__deno_astro_adapter = "^0.5.2";
|
|
8
|
+
var npm__dotenvx_dotenvx = "^1.75.1";
|
|
10
9
|
var npm__elysiajs_node = "^1.4.5";
|
|
11
10
|
var npm__hono_node_server = "^1.19.12";
|
|
12
11
|
var npm__nurodev_astro_bun = "^2.1.2";
|
|
13
12
|
var npm__sinclair_typebox = "^0.34.49";
|
|
14
13
|
var npm__solidjs_router = "^0.16.1";
|
|
15
14
|
var npm__solidjs_start = "^1.3.2";
|
|
16
|
-
var npm__types_bun = "^1.3.
|
|
15
|
+
var npm__types_bun = "^1.3.14";
|
|
17
16
|
var npm__types_express = "^4.17.21";
|
|
18
17
|
var npm__types_node_20 = "^20.11.2";
|
|
19
18
|
var npm__types_node_22 = "^22.17.0";
|
|
20
19
|
var npm__types_node_25 = "^25.5.0";
|
|
21
|
-
var npm_elysia = "^1.4.
|
|
22
|
-
var npm_eslint = "^9.0.0";
|
|
20
|
+
var npm_elysia = "^1.4.29";
|
|
23
21
|
var npm_express = "^5.2.1";
|
|
24
|
-
var npm_hono = "^4.12.
|
|
22
|
+
var npm_hono = "^4.12.27";
|
|
25
23
|
var npm_openapi_types = "^12.1.3";
|
|
26
|
-
var
|
|
27
|
-
var
|
|
24
|
+
var npm_oxfmt = "^0.56.0";
|
|
25
|
+
var npm_oxlint = "^1.71.0";
|
|
26
|
+
var npm_prettier = "^3.8.4";
|
|
27
|
+
var npm_prettier_plugin_astro = "^0.14.1";
|
|
28
|
+
var npm_solid_js = "^1.9.13";
|
|
29
|
+
var npm_tsx = "^4.22.4";
|
|
28
30
|
var npm_typescript = "^5.9.3";
|
|
29
31
|
var npm_vinxi = "^0.5.11";
|
|
30
32
|
var npm_x_forwarded_fetch = "^0.2.0";
|
|
31
33
|
//#endregion
|
|
32
|
-
export { _hongminhee_x_forwarded_fetch, _hono_hono, _logtape_logtape, _std_dotenv, npm__astrojs_node,
|
|
34
|
+
export { _hongminhee_x_forwarded_fetch, _hono_hono, _logtape_logtape, _std_dotenv, npm__astrojs_node, npm__deno_astro_adapter, npm__dotenvx_dotenvx, npm__elysiajs_node, npm__hono_node_server, npm__nurodev_astro_bun, npm__sinclair_typebox, npm__solidjs_router, npm__solidjs_start, npm__types_bun, npm__types_express, npm__types_node_20, npm__types_node_22, npm__types_node_25, npm_elysia, npm_express, npm_hono, npm_openapi_types, npm_oxfmt, npm_oxlint, npm_prettier, npm_prettier_plugin_astro, npm_solid_js, npm_tsx, npm_typescript, npm_vinxi, npm_x_forwarded_fetch };
|
package/dist/json/deps.json
CHANGED
|
@@ -1,35 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"@hongminhee/x-forwarded-fetch": "^0.2.0",
|
|
3
|
-
"@hono/hono": "^4.12.
|
|
4
|
-
"@logtape/logtape": "^2.2.
|
|
5
|
-
"@std/dotenv": "^0.225.
|
|
3
|
+
"@hono/hono": "^4.12.27",
|
|
4
|
+
"@logtape/logtape": "^2.2.1",
|
|
5
|
+
"@std/dotenv": "^0.225.7",
|
|
6
6
|
"npm:@astrojs/node": "^10.0.4",
|
|
7
|
-
"npm:@
|
|
8
|
-
"npm:@
|
|
9
|
-
"npm:@dotenvx/dotenvx": "^1.59.1",
|
|
7
|
+
"npm:@deno/astro-adapter": "^0.5.2",
|
|
8
|
+
"npm:@dotenvx/dotenvx": "^1.75.1",
|
|
10
9
|
"npm:@elysiajs/node": "^1.4.5",
|
|
11
10
|
"npm:@hono/node-server": "^1.19.12",
|
|
12
|
-
"npm:@nuxt/kit": "^4.4.
|
|
11
|
+
"npm:@nuxt/kit": "^4.4.8",
|
|
13
12
|
"npm:@nurodev/astro-bun": "^2.1.2",
|
|
14
13
|
"npm:@sinclair/typebox": "^0.34.49",
|
|
15
14
|
"npm:@solidjs/router": "^0.16.1",
|
|
16
15
|
"npm:@solidjs/start": "^1.3.2",
|
|
17
|
-
"npm:@types/bun": "^1.3.
|
|
16
|
+
"npm:@types/bun": "^1.3.14",
|
|
18
17
|
"npm:@types/express": "^4.17.21",
|
|
19
18
|
"npm:@types/node@20": "^20.11.2",
|
|
20
19
|
"npm:@types/node@22": "^22.17.0",
|
|
21
20
|
"npm:@types/node@25": "^25.5.0",
|
|
22
21
|
"npm:astro": "^6.1.1",
|
|
23
|
-
"npm:elysia": "^1.4.
|
|
24
|
-
"npm:eslint": "^9.0.0",
|
|
22
|
+
"npm:elysia": "^1.4.29",
|
|
25
23
|
"npm:express": "^5.2.1",
|
|
26
24
|
"npm:h3": "^1.15.0",
|
|
27
|
-
"npm:hono": "^4.12.
|
|
28
|
-
"npm:nuxi": "^3.
|
|
29
|
-
"npm:nuxt": "^4.4.
|
|
25
|
+
"npm:hono": "^4.12.27",
|
|
26
|
+
"npm:nuxi": "^3.36.0",
|
|
27
|
+
"npm:nuxt": "^4.4.8",
|
|
30
28
|
"npm:openapi-types": "^12.1.3",
|
|
31
|
-
"npm:
|
|
32
|
-
"npm:
|
|
29
|
+
"npm:oxfmt": "^0.56.0",
|
|
30
|
+
"npm:oxlint": "^1.71.0",
|
|
31
|
+
"npm:prettier": "^3.8.4",
|
|
32
|
+
"npm:prettier-plugin-astro": "^0.14.1",
|
|
33
|
+
"npm:solid-js": "^1.9.13",
|
|
34
|
+
"npm:tsx": "^4.22.4",
|
|
33
35
|
"npm:typescript": "^5.9.3",
|
|
34
36
|
"npm:vinxi": "^0.5.11",
|
|
35
37
|
"npm:x-forwarded-fetch": "^0.2.0"
|
package/dist/json/kv.js
CHANGED
|
@@ -21,7 +21,7 @@ var kv_default = {
|
|
|
21
21
|
"yarn",
|
|
22
22
|
"pnpm"
|
|
23
23
|
],
|
|
24
|
-
"dependencies": { "npm:ioredis": "^5.
|
|
24
|
+
"dependencies": { "npm:ioredis": "^5.11.1" },
|
|
25
25
|
"imports": {
|
|
26
26
|
"@fedify/redis": { "RedisKvStore": "RedisKvStore" },
|
|
27
27
|
"ioredis": { "Redis": "Redis" }
|
|
@@ -38,7 +38,7 @@ var kv_default = {
|
|
|
38
38
|
"yarn",
|
|
39
39
|
"pnpm"
|
|
40
40
|
],
|
|
41
|
-
"dependencies": { "npm:postgres": "^3.4.
|
|
41
|
+
"dependencies": { "npm:postgres": "^3.4.9" },
|
|
42
42
|
"imports": {
|
|
43
43
|
"@fedify/postgres": { "PostgresKvStore": "PostgresKvStore" },
|
|
44
44
|
"postgres": { "default": "postgres" }
|
|
@@ -55,7 +55,7 @@ var kv_default = {
|
|
|
55
55
|
"yarn",
|
|
56
56
|
"pnpm"
|
|
57
57
|
],
|
|
58
|
-
"dependencies": { "npm:mysql2": "^3.22.
|
|
58
|
+
"dependencies": { "npm:mysql2": "^3.22.5" },
|
|
59
59
|
"imports": {
|
|
60
60
|
"@fedify/mysql": { "MysqlKvStore": "MysqlKvStore" },
|
|
61
61
|
"mysql2/promise": { "default": "mysql" }
|
package/dist/json/kv.json
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"pnpm"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"npm:ioredis": "^5.
|
|
28
|
+
"npm:ioredis": "^5.11.1"
|
|
29
29
|
},
|
|
30
30
|
"imports": {
|
|
31
31
|
"@fedify/redis": {
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"pnpm"
|
|
51
51
|
],
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"npm:postgres": "^3.4.
|
|
53
|
+
"npm:postgres": "^3.4.9"
|
|
54
54
|
},
|
|
55
55
|
"imports": {
|
|
56
56
|
"@fedify/postgres": {
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"pnpm"
|
|
76
76
|
],
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"npm:mysql2": "^3.22.
|
|
78
|
+
"npm:mysql2": "^3.22.5"
|
|
79
79
|
},
|
|
80
80
|
"imports": {
|
|
81
81
|
"@fedify/mysql": {
|
package/dist/json/mq.js
CHANGED
|
@@ -21,7 +21,7 @@ var mq_default = {
|
|
|
21
21
|
"yarn",
|
|
22
22
|
"pnpm"
|
|
23
23
|
],
|
|
24
|
-
"dependencies": { "npm:ioredis": "^5.
|
|
24
|
+
"dependencies": { "npm:ioredis": "^5.11.1" },
|
|
25
25
|
"imports": {
|
|
26
26
|
"@fedify/redis": { "RedisMessageQueue": "RedisMessageQueue" },
|
|
27
27
|
"ioredis": { "Redis": "Redis" }
|
|
@@ -38,7 +38,7 @@ var mq_default = {
|
|
|
38
38
|
"yarn",
|
|
39
39
|
"pnpm"
|
|
40
40
|
],
|
|
41
|
-
"dependencies": { "npm:postgres": "^3.4.
|
|
41
|
+
"dependencies": { "npm:postgres": "^3.4.9" },
|
|
42
42
|
"imports": {
|
|
43
43
|
"@fedify/postgres": { "PostgresMessageQueue": "PostgresMessageQueue" },
|
|
44
44
|
"postgres": { "default": "postgres" }
|
|
@@ -55,7 +55,7 @@ var mq_default = {
|
|
|
55
55
|
"yarn",
|
|
56
56
|
"pnpm"
|
|
57
57
|
],
|
|
58
|
-
"dependencies": { "npm:mysql2": "^3.22.
|
|
58
|
+
"dependencies": { "npm:mysql2": "^3.22.5" },
|
|
59
59
|
"imports": {
|
|
60
60
|
"@fedify/mysql": { "MysqlMessageQueue": "MysqlMessageQueue" },
|
|
61
61
|
"mysql2/promise": { "default": "mysql" }
|
package/dist/json/mq.json
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"pnpm"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"npm:ioredis": "^5.
|
|
28
|
+
"npm:ioredis": "^5.11.1"
|
|
29
29
|
},
|
|
30
30
|
"imports": {
|
|
31
31
|
"@fedify/redis": {
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"pnpm"
|
|
51
51
|
],
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"npm:postgres": "^3.4.
|
|
53
|
+
"npm:postgres": "^3.4.9"
|
|
54
54
|
},
|
|
55
55
|
"imports": {
|
|
56
56
|
"@fedify/postgres": {
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"pnpm"
|
|
76
76
|
],
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"npm:mysql2": "^3.22.
|
|
78
|
+
"npm:mysql2": "^3.22.5"
|
|
79
79
|
},
|
|
80
80
|
"imports": {
|
|
81
81
|
"@fedify/mysql": {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/json/oxfmt.json
|
|
2
|
+
var oxfmt_default = {
|
|
3
|
+
$schema: "./node_modules/oxfmt/configuration_schema.json",
|
|
4
|
+
ignorePatterns: [
|
|
5
|
+
"**/*.md",
|
|
6
|
+
"build/**",
|
|
7
|
+
"coverage/**",
|
|
8
|
+
"dist/**",
|
|
9
|
+
"node_modules/**"
|
|
10
|
+
],
|
|
11
|
+
sortPackageJson: false,
|
|
12
|
+
tabWidth: 2,
|
|
13
|
+
useTabs: false
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { oxfmt_default as default };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
//#region src/json/oxlint.json
|
|
2
|
+
var oxlint_default = {
|
|
3
|
+
$schema: "https://raw.githubusercontent.com/oxc-project/oxc/main/npm/oxlint/configuration_schema.json",
|
|
4
|
+
ignorePatterns: [
|
|
5
|
+
"**/*.md",
|
|
6
|
+
"build/**",
|
|
7
|
+
"coverage/**",
|
|
8
|
+
"dist/**",
|
|
9
|
+
"node_modules/**"
|
|
10
|
+
],
|
|
11
|
+
jsPlugins: ["@fedify/lint/oxlint"],
|
|
12
|
+
rules: {
|
|
13
|
+
"@fedify/lint/actor-id-mismatch": "error",
|
|
14
|
+
"@fedify/lint/actor-id-required": "error",
|
|
15
|
+
"@fedify/lint/actor-following-property-required": "warn",
|
|
16
|
+
"@fedify/lint/actor-following-property-mismatch": "warn",
|
|
17
|
+
"@fedify/lint/actor-followers-property-required": "warn",
|
|
18
|
+
"@fedify/lint/actor-followers-property-mismatch": "warn",
|
|
19
|
+
"@fedify/lint/actor-outbox-property-required": "warn",
|
|
20
|
+
"@fedify/lint/actor-outbox-property-mismatch": "warn",
|
|
21
|
+
"@fedify/lint/actor-liked-property-required": "warn",
|
|
22
|
+
"@fedify/lint/actor-liked-property-mismatch": "warn",
|
|
23
|
+
"@fedify/lint/actor-featured-property-required": "warn",
|
|
24
|
+
"@fedify/lint/actor-featured-property-mismatch": "warn",
|
|
25
|
+
"@fedify/lint/actor-featured-tags-property-required": "warn",
|
|
26
|
+
"@fedify/lint/actor-featured-tags-property-mismatch": "warn",
|
|
27
|
+
"@fedify/lint/actor-inbox-property-required": "warn",
|
|
28
|
+
"@fedify/lint/actor-inbox-property-mismatch": "warn",
|
|
29
|
+
"@fedify/lint/actor-shared-inbox-property-required": "warn",
|
|
30
|
+
"@fedify/lint/actor-shared-inbox-property-mismatch": "warn",
|
|
31
|
+
"@fedify/lint/actor-public-key-required": "warn",
|
|
32
|
+
"@fedify/lint/actor-assertion-method-required": "warn",
|
|
33
|
+
"@fedify/lint/collection-filtering-not-implemented": "warn",
|
|
34
|
+
"@fedify/lint/outbox-listener-delivery-required": "warn"
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
//#endregion
|
|
38
|
+
export { oxlint_default as default };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/oxc-project/oxc/main/npm/oxlint/configuration_schema.json",
|
|
3
|
+
"ignorePatterns": [
|
|
4
|
+
"**/*.md",
|
|
5
|
+
"build/**",
|
|
6
|
+
"coverage/**",
|
|
7
|
+
"dist/**",
|
|
8
|
+
"node_modules/**"
|
|
9
|
+
],
|
|
10
|
+
"jsPlugins": [
|
|
11
|
+
"@fedify/lint/oxlint"
|
|
12
|
+
],
|
|
13
|
+
"rules": {
|
|
14
|
+
"@fedify/lint/actor-id-mismatch": "error",
|
|
15
|
+
"@fedify/lint/actor-id-required": "error",
|
|
16
|
+
"@fedify/lint/actor-following-property-required": "warn",
|
|
17
|
+
"@fedify/lint/actor-following-property-mismatch": "warn",
|
|
18
|
+
"@fedify/lint/actor-followers-property-required": "warn",
|
|
19
|
+
"@fedify/lint/actor-followers-property-mismatch": "warn",
|
|
20
|
+
"@fedify/lint/actor-outbox-property-required": "warn",
|
|
21
|
+
"@fedify/lint/actor-outbox-property-mismatch": "warn",
|
|
22
|
+
"@fedify/lint/actor-liked-property-required": "warn",
|
|
23
|
+
"@fedify/lint/actor-liked-property-mismatch": "warn",
|
|
24
|
+
"@fedify/lint/actor-featured-property-required": "warn",
|
|
25
|
+
"@fedify/lint/actor-featured-property-mismatch": "warn",
|
|
26
|
+
"@fedify/lint/actor-featured-tags-property-required": "warn",
|
|
27
|
+
"@fedify/lint/actor-featured-tags-property-mismatch": "warn",
|
|
28
|
+
"@fedify/lint/actor-inbox-property-required": "warn",
|
|
29
|
+
"@fedify/lint/actor-inbox-property-mismatch": "warn",
|
|
30
|
+
"@fedify/lint/actor-shared-inbox-property-required": "warn",
|
|
31
|
+
"@fedify/lint/actor-shared-inbox-property-mismatch": "warn",
|
|
32
|
+
"@fedify/lint/actor-public-key-required": "warn",
|
|
33
|
+
"@fedify/lint/actor-assertion-method-required": "warn",
|
|
34
|
+
"@fedify/lint/collection-filtering-not-implemented": "warn",
|
|
35
|
+
"@fedify/lint/outbox-listener-delivery-required": "warn"
|
|
36
|
+
}
|
|
37
|
+
}
|