From e1e845a470315aa0f41078e645094d524111baed Mon Sep 17 00:00:00 2001 From: pengzhanbo Date: Fri, 10 Feb 2023 04:34:41 +0800 Subject: [PATCH] build: update create package template --- scripts/create/generator.js | 2 +- scripts/create/template/package.json.tpl | 12 +++++++++--- .../src/client/clientAppEnhance.ts.tpl | 5 ----- .../template/src/client/clientConfig.ts.tpl | 8 ++++++++ .../create/template/src/client/index.ts.tpl | 1 + scripts/create/template/src/node/index.ts.tpl | 6 +++--- scripts/create/template/src/node/plugin.ts.tpl | 7 ++----- .../create/template/tsconfig.build.json.tpl | 18 ++++++------------ scripts/create/template/tsconfig.cjs.json.tpl | 14 -------------- scripts/create/template/tsconfig.esm.json.tpl | 17 ----------------- 10 files changed, 30 insertions(+), 60 deletions(-) delete mode 100644 scripts/create/template/src/client/clientAppEnhance.ts.tpl create mode 100644 scripts/create/template/src/client/clientConfig.ts.tpl create mode 100644 scripts/create/template/src/client/index.ts.tpl delete mode 100644 scripts/create/template/tsconfig.cjs.json.tpl delete mode 100644 scripts/create/template/tsconfig.esm.json.tpl diff --git a/scripts/create/generator.js b/scripts/create/generator.js index 2f559d71..2c5e2325 100644 --- a/scripts/create/generator.js +++ b/scripts/create/generator.js @@ -39,8 +39,8 @@ const generatorFile = async (config) => { } const include = [ !client && 'client', - !client && 'tsconfig.esm.json', !shared && 'shared', + !shared && 'client/index.js' ] .filter(Boolean) .join('|') diff --git a/scripts/create/template/package.json.tpl b/scripts/create/template/package.json.tpl index 90bda795..d7beed33 100644 --- a/scripts/create/template/package.json.tpl +++ b/scripts/create/template/package.json.tpl @@ -18,10 +18,16 @@ }, "license": "MIT", "author": "pengzhanbo ", + "type": "module", + "exports": { + ".": "./lib/node/index.js", + {{#if shared }} + "./client": "./lib/client/index.js", + {{/if}} + "./package.json": "./package.json" + }, "main": "lib/node/index.js", - "files": [ - "lib" - ], + "types": "./lib/node/index.d.ts", "scripts": { "build": "pnpm run clean && pnpm run copy && pnpm run ts", "clean": "rimraf lib *.tsbuildinfo", diff --git a/scripts/create/template/src/client/clientAppEnhance.ts.tpl b/scripts/create/template/src/client/clientAppEnhance.ts.tpl deleted file mode 100644 index 1f8efeb1..00000000 --- a/scripts/create/template/src/client/clientAppEnhance.ts.tpl +++ /dev/null @@ -1,5 +0,0 @@ -import { defineClientAppEnhance } from '@vuepress/client' - -export default defineClientAppEnhance(({ router }) => { - // do something -}) diff --git a/scripts/create/template/src/client/clientConfig.ts.tpl b/scripts/create/template/src/client/clientConfig.ts.tpl new file mode 100644 index 00000000..e5214719 --- /dev/null +++ b/scripts/create/template/src/client/clientConfig.ts.tpl @@ -0,0 +1,8 @@ +import { defineClientConfig } from '@vuepress/client' + + +export default defineClientConfig({ + setup() { + // do something + }, +}) diff --git a/scripts/create/template/src/client/index.ts.tpl b/scripts/create/template/src/client/index.ts.tpl new file mode 100644 index 00000000..72593733 --- /dev/null +++ b/scripts/create/template/src/client/index.ts.tpl @@ -0,0 +1 @@ +export * from '../shared/index.js' diff --git a/scripts/create/template/src/node/index.ts.tpl b/scripts/create/template/src/node/index.ts.tpl index 3cc41374..cecc69ed 100644 --- a/scripts/create/template/src/node/index.ts.tpl +++ b/scripts/create/template/src/node/index.ts.tpl @@ -1,8 +1,8 @@ -import { {{ lowerName }}Plugin } from './plugin' +import { {{ lowerName }}Plugin } from './plugin.js' -export * from './plugin' +export * from './plugin.js' {{#if shared }} -export * from '../shared' +export * from '../shared/index.js' {{/if}} export default {{ lowerName }}Plugin diff --git a/scripts/create/template/src/node/plugin.ts.tpl b/scripts/create/template/src/node/plugin.ts.tpl index 49cc2a53..7c533057 100644 --- a/scripts/create/template/src/node/plugin.ts.tpl +++ b/scripts/create/template/src/node/plugin.ts.tpl @@ -3,7 +3,7 @@ import type { App, Plugin } from '@vuepress/core' import { path } from '@vuepress/utils' {{/if}} {{#if shared}} -import type { {{ upperName }}Options } from '../shared' +import type { {{ upperName }}Options } from '../shared/index.js' {{else}} export interface {{ upperName }}Options { @@ -16,10 +16,7 @@ export const {{ lowerName }}Plugin = (options: {{ upperName }}Options): Plugin = return { name: '@vuepress-plume/vuepress-{{ pkgName }}', {{#if client}} - clientAppEnhanceFiles: path.resolve( - __dirname, - '../client/clientAppEnhance.js' - ), + clientConfigFile: path.resolve(__dirname, '../client/clientConfig.js'), {{/if}} } } diff --git a/scripts/create/template/tsconfig.build.json.tpl b/scripts/create/template/tsconfig.build.json.tpl index ed748a05..66824ada 100644 --- a/scripts/create/template/tsconfig.build.json.tpl +++ b/scripts/create/template/tsconfig.build.json.tpl @@ -1,14 +1,8 @@ { - "extends": "../../tsconfig.base.json", - "references": [ - {{#if client}} - { - "path": "./tsconfig.esm.json" - }, - {{/if}} - { - "path": "./tsconfig.cjs.json" - } - ], - "files": [] +"extends": "../tsconfig.build.json", +"compilerOptions": { +"rootDir": "./src", +"outDir": "./lib" +}, +"include": ["./src"] } diff --git a/scripts/create/template/tsconfig.cjs.json.tpl b/scripts/create/template/tsconfig.cjs.json.tpl deleted file mode 100644 index c0c6d891..00000000 --- a/scripts/create/template/tsconfig.cjs.json.tpl +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "module": "CommonJS", - "rootDir": "./src", - "outDir": "./lib" - }, - "include": [ - {{#if shared}} - "./src/shared", - {{/if}} - "./src/node" - ] -} diff --git a/scripts/create/template/tsconfig.esm.json.tpl b/scripts/create/template/tsconfig.esm.json.tpl deleted file mode 100644 index eb18f932..00000000 --- a/scripts/create/template/tsconfig.esm.json.tpl +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "module": "ES2020", - "rootDir": "./src", - "outDir": "./lib", - "types": [ - "@vuepress/client/types" - ] - }, - "include": [ - {{#if shared}} - "./src/shared", - {{/if}} - "./src/client" - ] -}