Browse Source

feat: 更新 dm 包及其子包,添加新功能和配置

main
谢亚昕 3 days ago
parent
commit
4f59f60d60
  1. 5
      buildin/dm/package.json
  2. 35
      buildin/dm/src/index.ts
  3. 30
      bun.lock
  4. 4
      package.json
  5. 3
      packages/core/package.json
  6. 4
      packages/core/readme.md
  7. 2
      packages/core/src/index.ts
  8. 14
      packages/core/tsconfig.json
  9. 8
      packages/core/tsconfig.vitest.json
  10. 31
      packages/dx/package.json
  11. 3
      packages/dx/readme.md
  12. 4
      packages/dx/src/index.ts
  13. 13
      packages/dx/vitest.config.ts
  14. 14
      packages/example/index.html
  15. 14
      packages/example/package.json
  16. 3
      packages/example/src/index.ts
  17. 5
      packages/example/vite.config.ts
  18. 16
      tsconfig.base.json
  19. 25
      tsconfig.json
  20. 5
      tsconfig.node.json
  21. 10
      tsconfig.vitest.json
  22. 11
      tsconfig.web.json

5
buildin/dm/package.json

@ -1,10 +1,15 @@
{ {
"name": "dm", "name": "dm",
"version": "0.0.1",
"type": "module", "type": "module",
"bin": { "bin": {
"dm": "dist/index.mjs" "dm": "dist/index.mjs"
}, },
"scripts": { "scripts": {
"start": "bun run src/index.ts",
"build": "tsdown --env.NODE_ENV=production" "build": "tsdown --env.NODE_ENV=production"
},
"dependencies": {
"cac": "catalog:"
} }
} }

35
buildin/dm/src/index.ts

@ -1,33 +1,40 @@
import cac from 'cac'
import pkg from "../package.json"
import { build } from "tsdown" import { build } from "tsdown"
const argvs = process.argv.slice(2) const cli = cac()
const command = argvs[0]
// const entryPath = argvs[1]
if (command === 'dev') { cli.version(pkg.version)
cli.help()
cli.option('--entry <entryPath>', 'Choose entry path', {
default: 'src/index.ts',
})
cli.command('dev [module]', '开发').action((_, options) => {
build({ build({
watch: true, watch: true,
// entry: entryPath ? [entryPath] : undefined, entry: options.entry ? [options.entry] : undefined,
sourcemap: false, sourcemap: false,
dts: false, dts: false,
alias: {
"@": "./src"
},
outExtensions: () => { outExtensions: () => {
return { js: '.js', dts: '.d.ts' } return { js: '.js', dts: '.d.ts' }
} }
}) })
} else { })
cli.command('build [module]', '构建').action((_, options) => {
build({ build({
// entry: entryPath ? [entryPath] : undefined, entry: options.entry ? [options.entry] : undefined,
sourcemap: false, sourcemap: false,
dts: true, dts: true,
alias: {
"@": "./src"
},
format: ['esm', 'cjs'], format: ['esm', 'cjs'],
outExtensions: () => { outExtensions: () => {
return { js: '.js', dts: '.d.ts' } return { js: '.js', dts: '.d.ts' }
} }
}) })
} })
cli.parse()

30
bun.lock

@ -8,7 +8,7 @@
"@changesets/cli": "^2.30.0", "@changesets/cli": "^2.30.0",
"@prettier/plugin-oxc": "^0.1.3", "@prettier/plugin-oxc": "^0.1.3",
"@types/node": "^25.6.0", "@types/node": "^25.6.0",
"dm": "workspace", "dm": "workspace:*",
"lefthook": "^2.1.5", "lefthook": "^2.1.5",
"oxlint": "^1.59.0", "oxlint": "^1.59.0",
"tsdown": "^0.21.8", "tsdown": "^0.21.8",
@ -18,14 +18,38 @@
}, },
"buildin/dm": { "buildin/dm": {
"name": "dm", "name": "dm",
"version": "0.0.1",
"bin": { "bin": {
"dm": "dist/index.mjs", "dm": "dist/index.mjs",
}, },
"dependencies": {
"cac": "catalog:",
},
}, },
"packages/core": { "packages/core": {
"name": "@dm/core", "name": "@dm/core",
"version": "0.0.1-alpha.1", "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": { "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=="], "@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/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/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=="], "@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=="], "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=="], "expect-type": ["expect-type@1.3.0", "", {}, "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA=="],
"extendable-error": ["extendable-error@0.1.7", "", {}, "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg=="], "extendable-error": ["extendable-error@0.1.7", "", {}, "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg=="],

4
package.json

@ -15,6 +15,7 @@
"cli:install": "bun add dm@workspace -D", "cli:install": "bun add dm@workspace -D",
"build": "bun --elide-lines=0 --filter ./packages/$1 build", "build": "bun --elide-lines=0 --filter ./packages/$1 build",
"dev": "bun --elide-lines=0 --filter ./packages/$1 dev", "dev": "bun --elide-lines=0 --filter ./packages/$1 dev",
"example": "bun --elide-lines=0 --filter ./packages/example dev",
"lint": "oxlint", "lint": "oxlint",
"lint:fix": "oxlint --fix", "lint:fix": "oxlint --fix",
"test": "vitest", "test": "vitest",
@ -22,6 +23,9 @@
"version": "changeset version", "version": "changeset version",
"postinstall": "lefthook install" "postinstall": "lefthook install"
}, },
"catalog": {
"cac": "^7.0.0"
},
"devDependencies": { "devDependencies": {
"@changesets/cli": "^2.30.0", "@changesets/cli": "^2.30.0",
"@prettier/plugin-oxc": "^0.1.3", "@prettier/plugin-oxc": "^0.1.3",

3
packages/core/package.json

@ -1,5 +1,6 @@
{ {
"name": "@dm/core", "name": "@dm/core",
"type": "module",
"version": "0.0.1-alpha.1", "version": "0.0.1-alpha.1",
"scripts": { "scripts": {
"dev": "dm dev", "dev": "dm dev",
@ -13,10 +14,12 @@
], ],
"exports": { "exports": {
".": { ".": {
"development": "./src/index.ts",
"import": "./dist/index.js", "import": "./dist/index.js",
"types": "./dist/index.d.ts" "types": "./dist/index.d.ts"
}, },
"./*": { "./*": {
"development": "./src/*.ts",
"import": "./dist/*.js", "import": "./dist/*.js",
"types": "./dist/*.d.ts" "types": "./dist/*.d.ts"
}, },

4
packages/core/readme.md

@ -0,0 +1,4 @@
## @dm/core
代码基础包

2
packages/core/src/index.ts

@ -1,3 +1,3 @@
import fire from "@/event"; import fire from "./event";
export default fire export default fire

14
packages/core/tsconfig.json

@ -1,14 +0,0 @@
{
"extends": "../../tsconfig.web.json",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": [
"src/*"
]
}
},
"include": [
"src/**/*"
],
}

8
packages/core/tsconfig.vitest.json

@ -1,8 +0,0 @@
{
"extends": "../../tsconfig.node.json",
"compilerOptions": {},
"include": [
"src/**/*.test.ts",
"vitest.config.ts",
],
}

31
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:*"
}
}

3
packages/dx/readme.md

@ -0,0 +1,3 @@
## @dm/dx

4
packages/dx/src/index.ts

@ -0,0 +1,4 @@
import fire from "@dm/core";
console.log(123)
console.log(fire)
export default fire

13
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"
},
},
})

14
packages/example/index.html

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script type="module" src="src/index.ts"></script>
</body>
</html>

14
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"
}
}

3
packages/example/src/index.ts

@ -0,0 +1,3 @@
import fire from "@dm/core"
console.log(fire, 123);

5
packages/example/vite.config.ts

@ -0,0 +1,5 @@
import { defineConfig } from "vite"
export default defineConfig({
base: "./"
})

16
tsconfig.base.json

@ -20,14 +20,12 @@
"forceConsistentCasingInFileNames": true, "forceConsistentCasingInFileNames": true,
"isolatedModules": true, "isolatedModules": true,
"allowImportingTsExtensions": false, "allowImportingTsExtensions": false,
"verbatimModuleSyntax": false "verbatimModuleSyntax": false,
}, "baseUrl": ".",
"references": [ "paths": {
{ "@dm/*": [
"path": "./tsconfig.web.json" "packages/*/src/index.ts"
}, ]
{
"path": "./tsconfig.node.json"
} }
] }
} }

25
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"
}
]
}

5
tsconfig.node.json

@ -5,5 +5,8 @@
"types": [ "types": [
"node" "node"
] ]
} },
"include": [
"packages/example/vite.config.ts"
],
} }

10
tsconfig.vitest.json

@ -0,0 +1,10 @@
{
"extends": "./tsconfig.node.json",
"compilerOptions": {
"composite": true
},
"include": [
"packages/**/src/**/*.test.ts",
"packages/**/vitest.config.ts",
],
}

11
tsconfig.web.json

@ -1,11 +0,0 @@
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"composite": true,
"lib": [
"ES2022",
"DOM",
"DOM.Iterable"
],
},
}
Loading…
Cancel
Save