@confluxjs/create-conflux 0.1.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/README.md ADDED
@@ -0,0 +1,27 @@
1
+ # @confluxjs/create-conflux
2
+
3
+ Scaffold a new Conflux bot project.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ bunx create-conflux
9
+ # npm: npm create @confluxjs/create-conflux@latest
10
+ # pnpm: pnpm create @confluxjs/create-conflux
11
+ ```
12
+
13
+ ## Publishing (maintainers)
14
+
15
+ Build and publish from the monorepo root (see [root README](../../README.md#publishing) or `packages/conflux/README.md`). This package is published as `@confluxjs/create-conflux`.
16
+
17
+ ## Scripts
18
+
19
+ | Script | Description |
20
+ | --------------------- | ----------- |
21
+ | `bun run build` | Build CLI |
22
+ | `bun run check-types` | Typecheck |
23
+ | `bun run lint` | ESLint |
24
+
25
+ ## Links
26
+
27
+ - [Manual installation](https://conflux.js.org/guides/manual-installation)
package/dist/cli.cjs ADDED
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node
package/dist/cli.d.cts ADDED
@@ -0,0 +1 @@
1
+ export { };
package/dist/cli.d.ts ADDED
@@ -0,0 +1 @@
1
+ export { };
package/dist/cli.js ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export { };
package/dist/index.cjs ADDED
@@ -0,0 +1,54 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+
23
+ //#endregion
24
+ let __clack_prompts = require("@clack/prompts");
25
+ __clack_prompts = __toESM(__clack_prompts);
26
+ let picocolors = require("picocolors");
27
+ picocolors = __toESM(picocolors);
28
+ let validate_npm_package_name = require("validate-npm-package-name");
29
+ validate_npm_package_name = __toESM(validate_npm_package_name);
30
+
31
+ //#region src/lib/create-project.ts
32
+ async function runCreateConflux(options = {}) {
33
+ __clack_prompts.intro(picocolors.default.bgCyan(picocolors.default.black(" create-conflux ")));
34
+ const name = options.name ?? await __clack_prompts.text({
35
+ message: "Project name",
36
+ placeholder: "my-conflux-bot",
37
+ validate(value) {
38
+ if (!value) return "Name is required";
39
+ const result = (0, validate_npm_package_name.default)(value);
40
+ if (!result.validForNewPackages) return result.errors?.[0] ?? result.warnings?.[0] ?? "Invalid package name";
41
+ }
42
+ });
43
+ if (__clack_prompts.isCancel(name)) {
44
+ __clack_prompts.cancel("Cancelled");
45
+ return 1;
46
+ }
47
+ __clack_prompts.log.info(`Scaffold stub — would create ${picocolors.default.cyan(String(name))} in ${options.cwd ?? process.cwd()}`);
48
+ __clack_prompts.outro(picocolors.default.green("Done"));
49
+ return 0;
50
+ }
51
+
52
+ //#endregion
53
+ exports.runCreateConflux = runCreateConflux;
54
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["pc","p"],"sources":["../src/lib/create-project.ts"],"sourcesContent":["import * as p from \"@clack/prompts\";\nimport pc from \"picocolors\";\nimport validatePackageName from \"validate-npm-package-name\";\n\nexport type CreateConfluxOptions = {\n name?: string;\n cwd?: string;\n};\n\nexport async function runCreateConflux(options: CreateConfluxOptions = {}): Promise<number> {\n p.intro(pc.bgCyan(pc.black(\" create-conflux \")));\n\n const name =\n options.name ??\n (await p.text({\n message: \"Project name\",\n placeholder: \"my-conflux-bot\",\n validate(value) {\n if (!value) return \"Name is required\";\n const result = validatePackageName(value);\n if (!result.validForNewPackages) {\n return result.errors?.[0] ?? result.warnings?.[0] ?? \"Invalid package name\";\n }\n },\n }));\n\n if (p.isCancel(name)) {\n p.cancel(\"Cancelled\");\n return 1;\n }\n\n p.log.info(\n `Scaffold stub — would create ${pc.cyan(String(name))} in ${options.cwd ?? process.cwd()}`,\n );\n p.outro(pc.green(\"Done\"));\n return 0;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,eAAsB,iBAAiB,UAAgC,EAAE,EAAmB;AAC1F,iBAAE,MAAMA,mBAAG,OAAOA,mBAAG,MAAM,mBAAmB,CAAC,CAAC;CAEhD,MAAM,OACJ,QAAQ,QACP,MAAMC,gBAAE,KAAK;EACZ,SAAS;EACT,aAAa;EACb,SAAS,OAAO;AACd,OAAI,CAAC,MAAO,QAAO;GACnB,MAAM,gDAA6B,MAAM;AACzC,OAAI,CAAC,OAAO,oBACV,QAAO,OAAO,SAAS,MAAM,OAAO,WAAW,MAAM;;EAG1D,CAAC;AAEJ,KAAIA,gBAAE,SAAS,KAAK,EAAE;AACpB,kBAAE,OAAO,YAAY;AACrB,SAAO;;AAGT,iBAAE,IAAI,KACJ,gCAAgCD,mBAAG,KAAK,OAAO,KAAK,CAAC,CAAC,MAAM,QAAQ,OAAO,QAAQ,KAAK,GACzF;AACD,iBAAE,MAAMA,mBAAG,MAAM,OAAO,CAAC;AACzB,QAAO"}
@@ -0,0 +1,9 @@
1
+ //#region src/lib/create-project.d.ts
2
+ type CreateConfluxOptions = {
3
+ name?: string;
4
+ cwd?: string;
5
+ };
6
+ declare function runCreateConflux(options?: CreateConfluxOptions): Promise<number>;
7
+ //#endregion
8
+ export { type CreateConfluxOptions, runCreateConflux };
9
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/lib/create-project.ts"],"sourcesContent":[],"mappings":";KAIY,oBAAA;EAAA,IAAA,CAAA,EAAA,MAAA;EAKU,GAAA,CAAA,EAAA,MAAA;;iBAAA,gBAAA,WAA0B,uBAA4B"}
@@ -0,0 +1,9 @@
1
+ //#region src/lib/create-project.d.ts
2
+ type CreateConfluxOptions = {
3
+ name?: string;
4
+ cwd?: string;
5
+ };
6
+ declare function runCreateConflux(options?: CreateConfluxOptions): Promise<number>;
7
+ //#endregion
8
+ export { type CreateConfluxOptions, runCreateConflux };
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/lib/create-project.ts"],"sourcesContent":[],"mappings":";KAIY,oBAAA;EAAA,IAAA,CAAA,EAAA,MAAA;EAKU,GAAA,CAAA,EAAA,MAAA;;iBAAA,gBAAA,WAA0B,uBAA4B"}
package/dist/index.js ADDED
@@ -0,0 +1,28 @@
1
+ import * as p from "@clack/prompts";
2
+ import pc from "picocolors";
3
+ import validatePackageName from "validate-npm-package-name";
4
+
5
+ //#region src/lib/create-project.ts
6
+ async function runCreateConflux(options = {}) {
7
+ p.intro(pc.bgCyan(pc.black(" create-conflux ")));
8
+ const name = options.name ?? await p.text({
9
+ message: "Project name",
10
+ placeholder: "my-conflux-bot",
11
+ validate(value) {
12
+ if (!value) return "Name is required";
13
+ const result = validatePackageName(value);
14
+ if (!result.validForNewPackages) return result.errors?.[0] ?? result.warnings?.[0] ?? "Invalid package name";
15
+ }
16
+ });
17
+ if (p.isCancel(name)) {
18
+ p.cancel("Cancelled");
19
+ return 1;
20
+ }
21
+ p.log.info(`Scaffold stub — would create ${pc.cyan(String(name))} in ${options.cwd ?? process.cwd()}`);
22
+ p.outro(pc.green("Done"));
23
+ return 0;
24
+ }
25
+
26
+ //#endregion
27
+ export { runCreateConflux };
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/lib/create-project.ts"],"sourcesContent":["import * as p from \"@clack/prompts\";\nimport pc from \"picocolors\";\nimport validatePackageName from \"validate-npm-package-name\";\n\nexport type CreateConfluxOptions = {\n name?: string;\n cwd?: string;\n};\n\nexport async function runCreateConflux(options: CreateConfluxOptions = {}): Promise<number> {\n p.intro(pc.bgCyan(pc.black(\" create-conflux \")));\n\n const name =\n options.name ??\n (await p.text({\n message: \"Project name\",\n placeholder: \"my-conflux-bot\",\n validate(value) {\n if (!value) return \"Name is required\";\n const result = validatePackageName(value);\n if (!result.validForNewPackages) {\n return result.errors?.[0] ?? result.warnings?.[0] ?? \"Invalid package name\";\n }\n },\n }));\n\n if (p.isCancel(name)) {\n p.cancel(\"Cancelled\");\n return 1;\n }\n\n p.log.info(\n `Scaffold stub — would create ${pc.cyan(String(name))} in ${options.cwd ?? process.cwd()}`,\n );\n p.outro(pc.green(\"Done\"));\n return 0;\n}\n"],"mappings":";;;;;AASA,eAAsB,iBAAiB,UAAgC,EAAE,EAAmB;AAC1F,GAAE,MAAM,GAAG,OAAO,GAAG,MAAM,mBAAmB,CAAC,CAAC;CAEhD,MAAM,OACJ,QAAQ,QACP,MAAM,EAAE,KAAK;EACZ,SAAS;EACT,aAAa;EACb,SAAS,OAAO;AACd,OAAI,CAAC,MAAO,QAAO;GACnB,MAAM,SAAS,oBAAoB,MAAM;AACzC,OAAI,CAAC,OAAO,oBACV,QAAO,OAAO,SAAS,MAAM,OAAO,WAAW,MAAM;;EAG1D,CAAC;AAEJ,KAAI,EAAE,SAAS,KAAK,EAAE;AACpB,IAAE,OAAO,YAAY;AACrB,SAAO;;AAGT,GAAE,IAAI,KACJ,gCAAgC,GAAG,KAAK,OAAO,KAAK,CAAC,CAAC,MAAM,QAAQ,OAAO,QAAQ,KAAK,GACzF;AACD,GAAE,MAAM,GAAG,MAAM,OAAO,CAAC;AACzB,QAAO"}
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@confluxjs/create-conflux",
3
+ "version": "0.1.0",
4
+ "description": "Scaffold a new Conflux bot project",
5
+ "keywords": [
6
+ "conflux",
7
+ "fluxer",
8
+ "bot",
9
+ "create",
10
+ "scaffold",
11
+ "cli"
12
+ ],
13
+ "homepage": "https://conflux.js.org",
14
+ "bugs": "https://github.com/maybeizen/confluxjs/issues",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/maybeizen/confluxjs.git",
18
+ "directory": "packages/create-conflux"
19
+ },
20
+ "license": "MIT",
21
+ "sideEffects": false,
22
+ "type": "module",
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/index.d.ts",
26
+ "import": "./dist/index.js",
27
+ "require": "./dist/index.cjs"
28
+ },
29
+ "./cli": {
30
+ "types": "./dist/cli.d.ts",
31
+ "import": "./dist/cli.js",
32
+ "require": "./dist/cli.cjs"
33
+ },
34
+ "./package.json": "./package.json"
35
+ },
36
+ "main": "./dist/index.cjs",
37
+ "module": "./dist/index.js",
38
+ "types": "./dist/index.d.ts",
39
+ "bin": {
40
+ "create-conflux": "./dist/cli.cjs"
41
+ },
42
+ "files": [
43
+ "dist",
44
+ "templates",
45
+ "README.md"
46
+ ],
47
+ "scripts": {
48
+ "build": "tsdown",
49
+ "check-types": "tsc -p tsconfig.json --noEmit",
50
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
51
+ "dev": "tsdown --watch",
52
+ "lint": "eslint src",
53
+ "prepublishOnly": "bun run build"
54
+ },
55
+ "dependencies": {
56
+ "@clack/prompts": "^0.10.0",
57
+ "picocolors": "^1.1.1",
58
+ "validate-npm-package-name": "^6.0.0"
59
+ },
60
+ "devDependencies": {
61
+ "@confluxjs/tsconfig": "workspace:*",
62
+ "@types/node": "^22.0.0",
63
+ "tsdown": "catalog:build",
64
+ "typescript": "catalog:build"
65
+ },
66
+ "engines": {
67
+ "node": ">=20"
68
+ },
69
+ "publishConfig": {
70
+ "access": "public"
71
+ }
72
+ }
@@ -0,0 +1 @@
1
+ FLUXER_BOT_TOKEN=
@@ -0,0 +1,3 @@
1
+ import { defineConfig } from "@confluxjs/conflux";
2
+
3
+ export default defineConfig({});
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "my-conflux-bot",
3
+ "private": true,
4
+ "type": "module",
5
+ "scripts": {
6
+ "build": "conflux build",
7
+ "dev": "conflux dev",
8
+ "start": "conflux start"
9
+ },
10
+ "dependencies": {
11
+ "@confluxjs/conflux": "latest",
12
+ "@fluxerjs/core": "^2.1.0"
13
+ },
14
+ "devDependencies": {
15
+ "@confluxjs/tsconfig": "latest",
16
+ "typescript": "^5.9.2"
17
+ }
18
+ }
File without changes
@@ -0,0 +1,9 @@
1
+ import type { MessageCommand } from "@confluxjs/conflux";
2
+
3
+ export const data = {
4
+ name: "pong",
5
+ };
6
+
7
+ export const message: MessageCommand = async (ctx) => {
8
+ await ctx.message.reply(ctx.args().join(" ") || "Pong!");
9
+ };
@@ -0,0 +1,9 @@
1
+ import type { MessageCommand } from "@confluxjs/conflux";
2
+
3
+ export const data = {
4
+ name: "ping",
5
+ };
6
+
7
+ export const message: MessageCommand = async (ctx) => {
8
+ await ctx.message.reply("Pong!");
9
+ };
File without changes
@@ -0,0 +1,7 @@
1
+ import type { EventHandler } from "@confluxjs/conflux";
2
+
3
+ const handler: EventHandler<"ready"> = (ctx) => {
4
+ console.log(`Logged in as ${ctx.client.user?.username ?? "unknown"}`);
5
+ };
6
+
7
+ export default handler;
@@ -0,0 +1,10 @@
1
+ import type { Conflux } from "@confluxjs/conflux";
2
+ import { Client } from "@fluxerjs/core";
3
+
4
+ const client = new Client({ intents: 0 });
5
+
6
+ export async function configure(conflux: Conflux) {
7
+ conflux.setPrefix(async () => ["!"]);
8
+ }
9
+
10
+ export { client };
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "@confluxjs/tsconfig/node.json",
3
+ "compilerOptions": {
4
+ "rootDir": "."
5
+ },
6
+ "include": ["src", "conflux.config.ts"]
7
+ }