@dressed/framework 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.
- package/dist/bin/dressed.js +2 -2
- package/dist/bin/dressed.js.map +1 -1
- package/dist/build/build.js +18 -2
- package/dist/build/build.js.map +1 -1
- package/dist/build/index.d.ts +1 -1
- package/dist/build/index.js +1 -1
- package/dist/build/index.js.map +1 -1
- package/dist/build/utils.d.ts +8 -0
- package/dist/{utils.js → build/utils.js} +9 -23
- package/dist/build/utils.js.map +1 -0
- package/package.json +2 -2
- package/dist/utils.d.ts +0 -7
- package/dist/utils.js.map +0 -1
package/dist/bin/dressed.js
CHANGED
|
@@ -5,7 +5,7 @@ import { Command, InvalidArgumentError } from "commander";
|
|
|
5
5
|
import { logger } from "dressed/utils";
|
|
6
6
|
import build from "../build/build.js";
|
|
7
7
|
import bundleFiles from "../build/bundle.js";
|
|
8
|
-
import {
|
|
8
|
+
import { generateCategoryExports, generateFileImport, normalizeImportPath } from "../build/utils.js";
|
|
9
9
|
const program = new Command().name("dressed").description("A sleek, serverless-ready Discord bot framework.");
|
|
10
10
|
program
|
|
11
11
|
.command("build")
|
|
@@ -36,7 +36,7 @@ ${instance || register
|
|
|
36
36
|
import { config as dressedConfig } from "dressed/utils";
|
|
37
37
|
import config from "${configPath ? normalizeImportPath(configPath) : "./dressed.config.mjs"}";
|
|
38
38
|
Object.assign(dressedConfig, config);
|
|
39
|
-
${[categories.map((c) => c.map(
|
|
39
|
+
${[categories.map((c) => c.map(generateFileImport)), generateCategoryExports(categories)].flat(2).join("")}
|
|
40
40
|
export { config };
|
|
41
41
|
${register ? "registerCommands(commands);" : ""}
|
|
42
42
|
${instance ? "createServer(commands, components, events);" : ""}`.trim();
|
package/dist/bin/dressed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dressed.js","sourceRoot":"","sources":["../../src/bin/dressed.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dressed.js","sourceRoot":"","sources":["../../src/bin/dressed.ts"],"names":[],"mappings":"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"}
|
package/dist/build/build.js
CHANGED
|
@@ -10,11 +10,11 @@ import { appendFileSync, mkdirSync, readdirSync, writeFileSync } from "node:fs";
|
|
|
10
10
|
import { basename, extname, resolve } from "node:path";
|
|
11
11
|
import { getApp } from "dressed";
|
|
12
12
|
import { botEnv, config as dressedConfig, logger } from "dressed/utils";
|
|
13
|
-
import { categoryExports, crawlDir, importFileString, override } from "../utils.js";
|
|
14
13
|
import bundleFiles from "./bundle.js";
|
|
15
14
|
import { parseCommands } from "./parsers/commands.js";
|
|
16
15
|
import { parseComponents } from "./parsers/components.js";
|
|
17
16
|
import { parseEvents } from "./parsers/events.js";
|
|
17
|
+
import { crawlDir, generateCategoryExports, generateFileImport } from "./utils.js";
|
|
18
18
|
/**
|
|
19
19
|
* Builds the bot imports and other variables.
|
|
20
20
|
*/
|
|
@@ -37,7 +37,7 @@ export default async function build(config = {}, { bundle = bundleFiles } = {})
|
|
|
37
37
|
const categories = ["commands", "components", "events"];
|
|
38
38
|
const files = await Promise.all(categories.map((d) => { var _a; return crawlDir(root, d, (_a = config.build) === null || _a === void 0 ? void 0 : _a.extensions); }));
|
|
39
39
|
const entriesPath = ".dressed/tmp/entries.ts";
|
|
40
|
-
writeFileSync(entriesPath, [files.map((c) => c.map(
|
|
40
|
+
writeFileSync(entriesPath, [files.map((c) => c.map(generateFileImport)), generateCategoryExports(files)].flat(2).join(""));
|
|
41
41
|
logger.defer("Bundling handlers");
|
|
42
42
|
await bundle(entriesPath, ".dressed/tmp");
|
|
43
43
|
const { commands, components, events } = await import(__rewriteRelativeImportExtension(resolve(entriesPath.replace(".ts", ".mjs"))));
|
|
@@ -85,4 +85,20 @@ async function fetchMissingVars() {
|
|
|
85
85
|
logger.error("Failed to fetch missing variables");
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
/** Deep merges two objects, producing a new object where values from {@link b} override those from {@link a}. */
|
|
89
|
+
function override(a, b) {
|
|
90
|
+
const result = { ...a };
|
|
91
|
+
for (const key in b) {
|
|
92
|
+
const k = key;
|
|
93
|
+
const bv = b[k];
|
|
94
|
+
const av = a[k];
|
|
95
|
+
if (bv !== undefined && typeof bv === "object" && bv !== null && !Array.isArray(bv)) {
|
|
96
|
+
result[k] = override(av !== null && av !== void 0 ? av : {}, bv);
|
|
97
|
+
}
|
|
98
|
+
else if (bv !== undefined) {
|
|
99
|
+
result[k] = bv;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
88
104
|
//# sourceMappingURL=build.js.map
|
package/dist/build/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/build/build.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/build/build.ts"],"names":[],"mappings":"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"}
|
package/dist/build/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* This separation is intended to shield esbuild from bundling, as Next.js especially seems to freak out when it's referenced
|
|
3
|
-
*
|
|
4
3
|
* @module
|
|
5
4
|
*/
|
|
6
5
|
export { default } from "./build.ts";
|
|
@@ -8,3 +7,4 @@ export * from "./parsers/commands.ts";
|
|
|
8
7
|
export * from "./parsers/components.ts";
|
|
9
8
|
export * from "./parsers/events.ts";
|
|
10
9
|
export * from "./parsers/index.ts";
|
|
10
|
+
export * from "./utils.ts";
|
package/dist/build/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* This separation is intended to shield esbuild from bundling, as Next.js especially seems to freak out when it's referenced
|
|
3
|
-
*
|
|
4
3
|
* @module
|
|
5
4
|
*/
|
|
6
5
|
export { default } from "./build.js";
|
|
@@ -8,4 +7,5 @@ export * from "./parsers/commands.js";
|
|
|
8
7
|
export * from "./parsers/components.js";
|
|
9
8
|
export * from "./parsers/events.js";
|
|
10
9
|
export * from "./parsers/index.js";
|
|
10
|
+
export * from "./utils.js";
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
package/dist/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WalkEntry } from "../types/walk.ts";
|
|
2
|
+
/** @returns Import string-able {@link path} relative to the `.dressed` folder */
|
|
3
|
+
export declare function normalizeImportPath(path: string): string;
|
|
4
|
+
export declare function generateFileImport(file: WalkEntry): `import * as h${string} from "${string}";`;
|
|
5
|
+
/** @returns ESM exports for the input {@link categories} */
|
|
6
|
+
export declare function generateCategoryExports(categories: WalkEntry[][]): string[];
|
|
7
|
+
/** Recursively check for files */
|
|
8
|
+
export declare function crawlDir(root: string, dir: string, extensions?: string[]): Promise<WalkEntry[]>;
|
|
@@ -5,32 +5,18 @@ import { basename, extname, join, relative, resolve } from "node:path";
|
|
|
5
5
|
import { cwd } from "node:process";
|
|
6
6
|
import { logger } from "dressed/utils";
|
|
7
7
|
const hash = (v) => createHash("sha1").update(v).digest("hex");
|
|
8
|
-
|
|
9
|
-
export function
|
|
10
|
-
return
|
|
8
|
+
/** @returns Import string-able {@link path} relative to the `.dressed` folder */
|
|
9
|
+
export function normalizeImportPath(path) {
|
|
10
|
+
return relative(".dressed/tmp", path).replace(/\\/g, "/");
|
|
11
11
|
}
|
|
12
|
-
export function
|
|
13
|
-
return
|
|
14
|
-
const exportKey = `"exports":h${hash(f.path)}`;
|
|
15
|
-
return JSON.stringify({ ...f, exports: null }).replace('"exports":null', exportKey);
|
|
16
|
-
})}];`);
|
|
12
|
+
export function generateFileImport(file) {
|
|
13
|
+
return `import * as h${hash(file.path)} from "${normalizeImportPath(file.path)}";`;
|
|
17
14
|
}
|
|
18
|
-
/**
|
|
19
|
-
export function
|
|
20
|
-
const
|
|
21
|
-
for (const key in b) {
|
|
22
|
-
const k = key;
|
|
23
|
-
const bv = b[k];
|
|
24
|
-
const av = a[k];
|
|
25
|
-
if (bv !== undefined && typeof bv === "object" && bv !== null && !Array.isArray(bv)) {
|
|
26
|
-
result[k] = override(av !== null && av !== void 0 ? av : {}, bv);
|
|
27
|
-
}
|
|
28
|
-
else if (bv !== undefined) {
|
|
29
|
-
result[k] = bv;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return result;
|
|
15
|
+
/** @returns ESM exports for the input {@link categories} */
|
|
16
|
+
export function generateCategoryExports(categories) {
|
|
17
|
+
return categories.map((c, i) => `export const ${["commands", "components", "events"][i]} = [${c.map((f) => JSON.stringify({ ...f, exports: null }).replace('"exports":null', `"exports":h${hash(f.path)}`))}];`);
|
|
33
18
|
}
|
|
19
|
+
/** Recursively check for files */
|
|
34
20
|
export async function crawlDir(root, dir, extensions = ["js", "ts", "mjs"]) {
|
|
35
21
|
const dirPath = resolve(root, dir);
|
|
36
22
|
if (!existsSync(dirPath)) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/build/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEvE,iFAAiF;AACjF,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAe;IAChD,OAAO,gBAAgB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAa,CAAC;AAC9F,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,uBAAuB,CAAC,UAAyB;IAC/D,OAAO,UAAU,CAAC,GAAG,CACnB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAChG,IAAI,CACR,CAAC;AACJ,CAAC;AAED,kCAAkC;AAClC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,GAAW,EAAE,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;IACxF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACnF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dressed/framework",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "A framework for creating Discord bots using Dressed.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dist": "rm -fr dist && tsc",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"esbuild": "^0.27.2"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"dressed": "^2.0.0-canary.
|
|
17
|
+
"dressed": "^2.0.0-canary.2"
|
|
18
18
|
},
|
|
19
19
|
"exports": {
|
|
20
20
|
".": "./dist/index.js",
|
package/dist/utils.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { WalkEntry } from "./types/walk.ts";
|
|
2
|
-
export declare const normalizeImportPath: (path: string) => string;
|
|
3
|
-
export declare function importFileString(file: WalkEntry): string;
|
|
4
|
-
export declare function categoryExports(categories: WalkEntry[][]): string[];
|
|
5
|
-
/** Deep merges two objects, producing a new object where values from `b` override those from `a`. */
|
|
6
|
-
export declare function override<T>(a: Partial<T>, b: Partial<T>): Partial<T>;
|
|
7
|
-
export declare function crawlDir(root: string, dir: string, extensions?: string[]): Promise<WalkEntry[]>;
|
package/dist/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|