chore: move to pnpm and refine build

This commit is contained in:
Justineo
2022-05-11 22:38:00 +08:00
parent e51adb12d0
commit 57cd2e6a16
9 changed files with 9149 additions and 32597 deletions

32557
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -5,12 +5,14 @@
"author": "GU Yiling <justice360@gmail.com>",
"scripts": {
"serve": "vue-cli-service serve",
"build": "npm run docs && rimraf dist && rollup -c rollup.config.js",
"build": "pnpm run docs && rimraf dist && pnpm run build:2 && pnpm run build:3 && vue-demi-switch 3",
"build:2": "vue-demi-switch 2 vue2 && rollup -c rollup.vue2.config.js",
"build:3": "vue-demi-switch 3 && rollup -c rollup.config.js",
"lint": "vue-cli-service lint",
"build:demo": "vue-cli-service build",
"docs": "node -r esm ./scripts/docs.js",
"postinstall": "node ./scripts/postinstall.js",
"prepare": "npm run build"
"prepare": "pnpm run build"
},
"main": "dist/index.cjs.min.js",
"module": "dist/index.esm.min.js",
@ -21,9 +23,10 @@
],
"dependencies": {
"resize-detector": "^0.3.0",
"vue-demi": "^0.12.1"
"vue-demi": "^0.12.5"
},
"devDependencies": {
"@babel/core": "^7.17.10",
"@rollup/plugin-node-resolve": "^11.1.1",
"@typescript-eslint/eslint-plugin": "^4.15.1",
"@typescript-eslint/parser": "^4.15.1",
@ -31,30 +34,33 @@
"@vue/cli-plugin-eslint": "^5.0.4",
"@vue/cli-plugin-typescript": "^5.0.4",
"@vue/cli-service": "^5.0.4",
"@vue/compiler-sfc": "^3.1.1",
"@vue/compiler-sfc": "^3.2.33",
"@vue/composition-api": "^1.6.1",
"@vue/eslint-config-prettier": "^6.0.0",
"@vue/eslint-config-typescript": "^7.0.0",
"@vue/eslint-config-typescript": "^10.0.0",
"codesandbox": "^2.2.3",
"comment-mark": "^1.0.0",
"echarts": "^5.3.2",
"eslint": "^7.20.0",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^7.6.0",
"eslint-plugin-vue": "^8.7.1",
"esm": "^3.2.25",
"postcss": "^8.3.0",
"postcss-loader": "^5.0.0",
"postcss-nested": "^5.0.5",
"prettier": "^2.2.1",
"prettier": "^2.6.2",
"resize-detector": "^0.3.0",
"rimraf": "^3.0.2",
"rollup": "^2.38.5",
"rollup-plugin-dts": "^2.0.1",
"rollup-plugin-styles": "^3.14.1",
"rollup": "^2.72.1",
"rollup-plugin-dts": "^4.2.1",
"rollup-plugin-styles": "^4.0.0",
"rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.29.0",
"typescript": "~4.1.5",
"vue": "^3.2.33"
"rollup-plugin-ts": "^2.0.7",
"tslib": "^2.4.0",
"typescript": "4.6.4",
"vue": "^3.2.33",
"vue2": "npm:vue@^2.6.14",
"webpack": "^5.72.1"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.5",

9089
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +1,38 @@
import typescript from "rollup-plugin-typescript2";
import typescript from "rollup-plugin-ts";
import { terser } from "rollup-plugin-terser";
import resolve from "@rollup/plugin-node-resolve";
import styles from "rollup-plugin-styles";
import dts from "rollup-plugin-dts";
import { injectVueDemi, ingoreCss } from "./scripts/rollup";
import { injectVueDemi } from "./scripts/rollup";
/** @type {import('rollup').RollupOptions[]} */
const options = [
{
input: "src/index.ts",
plugins: [
typescript({
tsconfig: resolvedConfig => ({ ...resolvedConfig, declaration: true }),
hook: {
outputPath: (path, kind) =>
kind === "declaration" ? "dist/index.d.ts" : path
}
}),
styles()
],
external: ["vue-demi", "echarts/core", "resize-detector"],
output: {
file: "dist/index.esm.js",
format: "esm",
sourcemap: true
}
},
{
input: "src/index.ts",
plugins: [typescript(), styles()],
external: ["vue-demi", "echarts/core", "resize-detector"],
output: [
{
file: "dist/index.esm.js",
format: "es",
sourcemap: true
},
{
file: "dist/index.esm.min.js",
format: "es",
format: "esm",
sourcemap: true,
plugins: [
terser({
@ -89,22 +102,6 @@ const options = [
]
}
]
},
{
input: "src/index.ts",
plugins: [ingoreCss, dts()],
output: {
file: "dist/index.d.ts",
format: "es"
}
},
{
input: "src/index.vue2.d.ts",
plugins: [dts()],
output: {
file: "dist/index.vue2.d.ts",
format: "es"
}
}
];

15
rollup.vue2.config.js Normal file
View File

@ -0,0 +1,15 @@
import dts from "rollup-plugin-dts";
/** @type {import('rollup').RollupOptions[]} */
const options = [
{
input: "src/index.vue2.d.ts",
plugins: [dts()],
output: {
file: "dist/index.vue2.d.ts",
format: "esm"
}
}
];
export default options;

View File

@ -1,3 +1,4 @@
/* eslint-disable vue/multi-word-component-names */
/* eslint-disable @typescript-eslint/no-explicit-any */
import {
defineComponent,

View File

@ -19,6 +19,7 @@ const METHOD_NAMES = [
"isDisposed",
"dispose"
] as const;
type MethodName = typeof METHOD_NAMES[number];
type PublicMethods = Pick<EChartsType, MethodName>;

View File

@ -375,6 +375,7 @@ registerMap("world", worldMap);
registerTheme("ovilia-green", theme);
export default {
name: "vue-echarts-demo",
components: {
VChart
},

3
src/index.vue2.d.ts vendored
View File

@ -1,6 +1,5 @@
/* eslint-disable @typescript-eslint/ban-types */
import { DefineComponent } from "@vue/runtime-dom";
import { Ref } from "@vue/composition-api";
import { Ref, DefineComponent } from "vue-demi";
import { Option, InitOptions, UpdateOptions, EChartsType } from "./types";
declare const LOADING_OPTIONS_KEY = "ecLoadingOptions";