diff --git a/buildin/dm/package.json b/buildin/dm/package.json index 5bbfd7b..5bfebe0 100644 --- a/buildin/dm/package.json +++ b/buildin/dm/package.json @@ -1,10 +1,15 @@ { "name": "dm", + "version": "0.0.1", "type": "module", "bin": { "dm": "dist/index.mjs" }, "scripts": { + "start": "bun run src/index.ts", "build": "tsdown --env.NODE_ENV=production" + }, + "dependencies": { + "cac": "catalog:" } } \ No newline at end of file diff --git a/buildin/dm/src/index.ts b/buildin/dm/src/index.ts index 14347a7..36240dc 100644 --- a/buildin/dm/src/index.ts +++ b/buildin/dm/src/index.ts @@ -1,33 +1,40 @@ +import cac from 'cac' +import pkg from "../package.json" import { build } from "tsdown" -const argvs = process.argv.slice(2) -const command = argvs[0] -// const entryPath = argvs[1] +const cli = cac() -if (command === 'dev') { +cli.version(pkg.version) + +cli.help() + +cli.option('--entry ', 'Choose entry path', { + default: 'src/index.ts', +}) + +cli.command('dev [module]', '开发').action((_, options) => { build({ watch: true, - // entry: entryPath ? [entryPath] : undefined, + entry: options.entry ? [options.entry] : undefined, sourcemap: false, dts: false, - alias: { - "@": "./src" - }, outExtensions: () => { return { js: '.js', dts: '.d.ts' } } }) -} else { +}) + + +cli.command('build [module]', '构建').action((_, options) => { build({ - // entry: entryPath ? [entryPath] : undefined, + entry: options.entry ? [options.entry] : undefined, sourcemap: false, dts: true, - alias: { - "@": "./src" - }, format: ['esm', 'cjs'], outExtensions: () => { return { js: '.js', dts: '.d.ts' } } }) -} +}) + +cli.parse() diff --git a/bun.lock b/bun.lock index 9d77e2b..db4c983 100644 --- a/bun.lock +++ b/bun.lock @@ -8,7 +8,7 @@ "@changesets/cli": "^2.30.0", "@prettier/plugin-oxc": "^0.1.3", "@types/node": "^25.6.0", - "dm": "workspace", + "dm": "workspace:*", "lefthook": "^2.1.5", "oxlint": "^1.59.0", "tsdown": "^0.21.8", @@ -18,14 +18,38 @@ }, "buildin/dm": { "name": "dm", + "version": "0.0.1", "bin": { "dm": "dist/index.mjs", }, + "dependencies": { + "cac": "catalog:", + }, }, "packages/core": { "name": "@dm/core", "version": "0.0.1-alpha.1", }, + "packages/dx": { + "name": "@dm/dx", + "version": "0.0.1-alpha.1", + "dependencies": { + "@dm/core": "workspace:*", + }, + }, + "packages/example": { + "name": "example", + "dependencies": { + "@dm/core": "workspace:*", + "@dm/dx": "workspace:*", + }, + "devDependencies": { + "vite": "^8.0.8", + }, + }, + }, + "catalog": { + "cac": "^7.0.0", }, "packages": { "@babel/generator": ["@babel/generator@8.0.0-rc.3", "", { "dependencies": { "@babel/parser": "^8.0.0-rc.3", "@babel/types": "^8.0.0-rc.3", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "@types/jsesc": "^2.5.0", "jsesc": "^3.0.2" } }, "sha512-em37/13/nR320G4jab/nIIHZgc2Wz2y/D39lxnTyxB4/D/omPQncl/lSdlnJY1OhQcRGugTSIF2l/69o31C9dA=="], @@ -76,6 +100,8 @@ "@dm/core": ["@dm/core@workspace:packages/core"], + "@dm/dx": ["@dm/dx@workspace:packages/dx"], + "@emnapi/core": ["@emnapi/core@1.9.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA=="], "@emnapi/runtime": ["@emnapi/runtime@1.9.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw=="], @@ -300,6 +326,8 @@ "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + "example": ["example@workspace:packages/example"], + "expect-type": ["expect-type@1.3.0", "", {}, "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA=="], "extendable-error": ["extendable-error@0.1.7", "", {}, "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg=="], diff --git a/package.json b/package.json index 57123e0..ee85b1a 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "cli:install": "bun add dm@workspace -D", "build": "bun --elide-lines=0 --filter ./packages/$1 build", "dev": "bun --elide-lines=0 --filter ./packages/$1 dev", + "example": "bun --elide-lines=0 --filter ./packages/example dev", "lint": "oxlint", "lint:fix": "oxlint --fix", "test": "vitest", @@ -22,6 +23,9 @@ "version": "changeset version", "postinstall": "lefthook install" }, + "catalog": { + "cac": "^7.0.0" + }, "devDependencies": { "@changesets/cli": "^2.30.0", "@prettier/plugin-oxc": "^0.1.3", diff --git a/packages/core/package.json b/packages/core/package.json index 17a2aae..423173c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,5 +1,6 @@ { "name": "@dm/core", + "type": "module", "version": "0.0.1-alpha.1", "scripts": { "dev": "dm dev", @@ -13,10 +14,12 @@ ], "exports": { ".": { + "development": "./src/index.ts", "import": "./dist/index.js", "types": "./dist/index.d.ts" }, "./*": { + "development": "./src/*.ts", "import": "./dist/*.js", "types": "./dist/*.d.ts" }, diff --git a/packages/core/readme.md b/packages/core/readme.md new file mode 100644 index 0000000..b6b8b18 --- /dev/null +++ b/packages/core/readme.md @@ -0,0 +1,4 @@ + +## @dm/core + +代码基础包 \ No newline at end of file diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index cb022bb..f4944e7 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,3 +1,3 @@ -import fire from "@/event"; +import fire from "./event"; export default fire \ No newline at end of file diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json deleted file mode 100644 index 4b8da04..0000000 --- a/packages/core/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../../tsconfig.web.json", - "compilerOptions": { - "baseUrl": ".", - "paths": { - "@/*": [ - "src/*" - ] - } - }, - "include": [ - "src/**/*" - ], -} \ No newline at end of file diff --git a/packages/core/tsconfig.vitest.json b/packages/core/tsconfig.vitest.json deleted file mode 100644 index eabd6a6..0000000 --- a/packages/core/tsconfig.vitest.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.node.json", - "compilerOptions": {}, - "include": [ - "src/**/*.test.ts", - "vitest.config.ts", - ], -} \ No newline at end of file diff --git a/packages/dx/package.json b/packages/dx/package.json new file mode 100644 index 0000000..744255f --- /dev/null +++ b/packages/dx/package.json @@ -0,0 +1,31 @@ +{ + "name": "@dm/dx", + "type": "module", + "version": "0.0.1-alpha.1", + "scripts": { + "dev": "dm dev", + "build": "dm build" + }, + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "exports": { + ".": { + "development": "./src/index.ts", + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "./*": { + "development": "./src/*.ts", + "import": "./dist/*.js", + "types": "./dist/*.d.ts" + }, + "./package.json": "./package.json" + }, + "dependencies": { + "@dm/core": "workspace:*" + } +} \ No newline at end of file diff --git a/packages/dx/readme.md b/packages/dx/readme.md new file mode 100644 index 0000000..b4ea9d1 --- /dev/null +++ b/packages/dx/readme.md @@ -0,0 +1,3 @@ + +## @dm/dx + diff --git a/packages/dx/src/index.ts b/packages/dx/src/index.ts new file mode 100644 index 0000000..98b9efb --- /dev/null +++ b/packages/dx/src/index.ts @@ -0,0 +1,4 @@ +import fire from "@dm/core"; +console.log(123) +console.log(fire) +export default fire \ No newline at end of file diff --git a/packages/dx/vitest.config.ts b/packages/dx/vitest.config.ts new file mode 100644 index 0000000..6610e98 --- /dev/null +++ b/packages/dx/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineProject } from 'vitest/config' + +export default defineProject({ + test: { + name: "core", + exclude: [], + include: ['src/**/*.test.ts'], + environment: 'node', + alias: { + "@": "./src" + }, + }, +}) \ No newline at end of file diff --git a/packages/example/index.html b/packages/example/index.html new file mode 100644 index 0000000..817bc4e --- /dev/null +++ b/packages/example/index.html @@ -0,0 +1,14 @@ + + + + + + + Document + + + + + + + \ No newline at end of file diff --git a/packages/example/package.json b/packages/example/package.json new file mode 100644 index 0000000..d7b8cb4 --- /dev/null +++ b/packages/example/package.json @@ -0,0 +1,14 @@ +{ + "name": "example", + "private": true, + "scripts": { + "dev": "vite" + }, + "dependencies": { + "@dm/core": "workspace:*", + "@dm/dx": "workspace:*" + }, + "devDependencies": { + "vite": "^8.0.8" + } +} \ No newline at end of file diff --git a/packages/example/src/index.ts b/packages/example/src/index.ts new file mode 100644 index 0000000..25c63f5 --- /dev/null +++ b/packages/example/src/index.ts @@ -0,0 +1,3 @@ +import fire from "@dm/core" + +console.log(fire, 123); diff --git a/packages/example/vite.config.ts b/packages/example/vite.config.ts new file mode 100644 index 0000000..47e50c7 --- /dev/null +++ b/packages/example/vite.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from "vite" + +export default defineConfig({ + base: "./" +}) \ No newline at end of file diff --git a/tsconfig.base.json b/tsconfig.base.json index 88f3381..ff0028c 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -20,14 +20,12 @@ "forceConsistentCasingInFileNames": true, "isolatedModules": true, "allowImportingTsExtensions": false, - "verbatimModuleSyntax": false - }, - "references": [ - { - "path": "./tsconfig.web.json" - }, - { - "path": "./tsconfig.node.json" + "verbatimModuleSyntax": false, + "baseUrl": ".", + "paths": { + "@dm/*": [ + "packages/*/src/index.ts" + ] } - ] + } } \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..77218cf --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,25 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "composite": true, + "lib": [ + "ES2022", + "DOM", + "DOM.Iterable" + ], + }, + "include": [ + "packages/*/src" + ], + "exclude": [ + "packages/**/src/**/*.test.ts" + ], + "references": [ + { + "path": "./tsconfig.vitest.json" + }, + { + "path": "./tsconfig.node.json" + } + ] +} \ No newline at end of file diff --git a/tsconfig.node.json b/tsconfig.node.json index b5c9772..964d9f8 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -5,5 +5,8 @@ "types": [ "node" ] - } + }, + "include": [ + "packages/example/vite.config.ts" + ], } \ No newline at end of file diff --git a/tsconfig.vitest.json b/tsconfig.vitest.json new file mode 100644 index 0000000..49b5022 --- /dev/null +++ b/tsconfig.vitest.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.node.json", + "compilerOptions": { + "composite": true + }, + "include": [ + "packages/**/src/**/*.test.ts", + "packages/**/vitest.config.ts", + ], +} \ No newline at end of file diff --git a/tsconfig.web.json b/tsconfig.web.json deleted file mode 100644 index 07aa802..0000000 --- a/tsconfig.web.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.base.json", - "compilerOptions": { - "composite": true, - "lib": [ - "ES2022", - "DOM", - "DOM.Iterable" - ], - }, -} \ No newline at end of file