From c8ef32d3447c84f16a72a02cd853bd454404f269 Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Wed, 25 Nov 2020 21:45:47 +0800 Subject: [PATCH] feat: add precompiled popoverjs --- package.json | 1 - packages/vant-popperjs/babel.config.js | 3 + packages/vant-popperjs/package.json | 29 +++ packages/vant-popperjs/rollup.config.js | 12 + packages/vant-popperjs/src/index.ts | 4 + packages/vant-popperjs/tsconfig.json | 13 + packages/vant-popperjs/yarn.lock | 315 ++++++++++++++++++++++++ 7 files changed, 376 insertions(+), 1 deletion(-) create mode 100644 packages/vant-popperjs/babel.config.js create mode 100644 packages/vant-popperjs/package.json create mode 100644 packages/vant-popperjs/rollup.config.js create mode 100644 packages/vant-popperjs/src/index.ts create mode 100644 packages/vant-popperjs/tsconfig.json create mode 100644 packages/vant-popperjs/yarn.lock diff --git a/package.json b/package.json index 1c99ffce1..69e3095ee 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,6 @@ "license": "MIT", "dependencies": { "@babel/runtime": "7.x", - "@popperjs/core": "^2.5.4", "@vant/icons": "1.4.0", "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", "vue-lazyload": "1.2.3" diff --git a/packages/vant-popperjs/babel.config.js b/packages/vant-popperjs/babel.config.js new file mode 100644 index 000000000..fa5ee221e --- /dev/null +++ b/packages/vant-popperjs/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ['@vant/cli/preset'], +}; diff --git a/packages/vant-popperjs/package.json b/packages/vant-popperjs/package.json new file mode 100644 index 000000000..79c349bff --- /dev/null +++ b/packages/vant-popperjs/package.json @@ -0,0 +1,29 @@ +{ + "name": "@vant/popperjs", + "version": "1.0.0", + "description": "Precompiled popperjs core", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "publishConfig": { + "access": "public" + }, + "scripts": { + "dev": "rollup --config rollup.config.js --watch", + "build": "rollup --config rollup.config.js && tsc -p ./tsconfig.json --emitDeclarationOnly" + }, + "license": "MIT", + "repository": "https://github.com/youzan/vant/tree/dev/packages/vant-popperjs", + "dependencies": { + "@popperjs/core": "^2.5.4" + }, + "devDependencies": { + "@babel/runtime": "7.x", + "@rollup/plugin-babel": "^5.2.1", + "@rollup/plugin-node-resolve": "^10.0.0", + "rollup": "^2.33.3" + }, + "browserslist": [ + "Android >= 4.0", + "iOS >= 8" + ] +} diff --git a/packages/vant-popperjs/rollup.config.js b/packages/vant-popperjs/rollup.config.js new file mode 100644 index 000000000..a2bf18ab5 --- /dev/null +++ b/packages/vant-popperjs/rollup.config.js @@ -0,0 +1,12 @@ +import path from 'path'; +import babel from '@rollup/plugin-babel'; +import nodeResolve from '@rollup/plugin-node-resolve'; + +export default { + input: path.join(__dirname, 'src', 'index.ts'), + output: { + dir: 'lib', + format: 'cjs', + }, + plugins: [nodeResolve(), babel({ babelHelpers: 'runtime' })], +}; diff --git a/packages/vant-popperjs/src/index.ts b/packages/vant-popperjs/src/index.ts new file mode 100644 index 000000000..bc3f0ded6 --- /dev/null +++ b/packages/vant-popperjs/src/index.ts @@ -0,0 +1,4 @@ +import { createPopper } from '@popperjs/core/lib/popper-lite'; +import offsetModifier from '@popperjs/core/lib/modifiers/offset'; + +export { createPopper, offsetModifier }; diff --git a/packages/vant-popperjs/tsconfig.json b/packages/vant-popperjs/tsconfig.json new file mode 100644 index 000000000..4f8094c6f --- /dev/null +++ b/packages/vant-popperjs/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "es5", + "outDir": "./lib", + "module": "ES2015", + "strict": true, + "declaration": true, + "esModuleInterop": true, + "moduleResolution": "node", + "lib": ["esnext", "dom"] + }, + "include": ["src/**/*"] +} diff --git a/packages/vant-popperjs/yarn.lock b/packages/vant-popperjs/yarn.lock new file mode 100644 index 000000000..03c900bf2 --- /dev/null +++ b/packages/vant-popperjs/yarn.lock @@ -0,0 +1,315 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4": + version "7.12.5" + resolved "http://registry.npm.qima-inc.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" + integrity sha1-G/wCKfeUmI927QpNTpCGCFC1Tfs= + dependencies: + "@babel/types" "^7.12.5" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "http://registry.npm.qima-inc.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI= + +"@babel/runtime@7.x": + version "7.12.5" + resolved "http://registry.npm.qima-inc.com/@babel/runtime/download/@babel/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" + integrity sha1-QQ5+SHRB4bNgwpvnFdhw2bmFiC4= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/types@^7.12.5": + version "7.12.7" + resolved "http://registry.npm.qima-inc.com/@babel/types/download/@babel/types-7.12.7.tgz#6039ff1e242640a29452c9ae572162ec9a8f5d13" + integrity sha1-YDn/HiQmQKKUUsmuVyFi7JqPXRM= + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@popperjs/core@^2.5.4": + version "2.5.4" + resolved "http://registry.npm.qima-inc.com/@popperjs/core/download/@popperjs/core-2.5.4.tgz#de25b5da9f727985a3757fd59b5d028aba75841a" + integrity sha1-3iW12p9yeYWjdX/Vm10Cirp1hBo= + +"@rollup/plugin-babel@^5.2.1": + version "5.2.1" + resolved "http://registry.npm.qima-inc.com/@rollup/plugin-babel/download/@rollup/plugin-babel-5.2.1.tgz#20fc8f8864dc0eaa1c5578408459606808f72924" + integrity sha1-IPyPiGTcDqocVXhAhFlgaAj3KSQ= + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/plugin-node-resolve@^10.0.0": + version "10.0.0" + resolved "http://registry.npm.qima-inc.com/@rollup/plugin-node-resolve/download/@rollup/plugin-node-resolve-10.0.0.tgz#44064a2b98df7530e66acf8941ff262fc9b4ead8" + integrity sha1-RAZKK5jfdTDmas+JQf8mL8m06tg= + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.17.0" + +"@rollup/plugin-typescript@^6.1.0": + version "6.1.0" + resolved "http://registry.npm.qima-inc.com/@rollup/plugin-typescript/download/@rollup/plugin-typescript-6.1.0.tgz#289e7f0ea12fd659bd13ad59dda73b9055538b83" + integrity sha1-KJ5/DqEv1lm9E61Z3ac7kFVTi4M= + dependencies: + "@rollup/pluginutils" "^3.1.0" + resolve "^1.17.0" + +"@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "http://registry.npm.qima-inc.com/@rollup/pluginutils/download/@rollup/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha1-cGtFJO5tyLEDs8mVUz5a1oDAK5s= + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@types/estree@0.0.39": + version "0.0.39" + resolved "http://registry.npm.qima-inc.com/@types/estree/download/@types/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha1-4Xfmme4bjCLSMXTKqnQiZEOJUJ8= + +"@types/node@*": + version "14.14.10" + resolved "http://registry.npm.qima-inc.com/@types/node/download/@types/node-14.14.10.tgz#5958a82e41863cfc71f2307b3748e3491ba03785" + integrity sha1-WVioLkGGPPxx8jB7N0jjSRugN4U= + +"@types/resolve@1.17.1": + version "1.17.1" + resolved "http://registry.npm.qima-inc.com/@types/resolve/download/@types/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha1-Ov1q2JZ8d+Q3bFmKgt3Vj0bsRdY= + dependencies: + "@types/node" "*" + +builtin-modules@^3.1.0: + version "3.1.0" + resolved "http://registry.npm.qima-inc.com/builtin-modules/download/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" + integrity sha1-qtl8FRMet2tltQ7yCOdYTNdqdIQ= + +commondir@^1.0.1: + version "1.0.1" + resolved "http://registry.npm.qima-inc.com/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +deepmerge@^4.2.2: + version "4.2.2" + resolved "http://registry.npm.qima-inc.com/deepmerge/download/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha1-RNLqNnm49NT/ujPwPYZfwee/SVU= + +estree-walker@^0.6.1: + version "0.6.1" + resolved "http://registry.npm.qima-inc.com/estree-walker/download/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha1-UwSRQ/QMbrkYsjZx0f4yGfOhs2I= + +estree-walker@^1.0.1: + version "1.0.1" + resolved "http://registry.npm.qima-inc.com/estree-walker/download/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha1-MbxdYSyWtwQQa0d+bdXYqhOMtwA= + +find-cache-dir@^3.3.1: + version "3.3.1" + resolved "http://registry.npm.qima-inc.com/find-cache-dir/download/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha1-ibM/rUpGcNqpT4Vff74x1thP6IA= + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "http://registry.npm.qima-inc.com/find-up/download/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +fs-extra@8.1.0: + version "8.1.0" + resolved "http://registry.npm.qima-inc.com/fs-extra/download/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA= + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fsevents@~2.1.2: + version "2.1.3" + resolved "http://registry.npm.qima-inc.com/fsevents/download/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4= + +function-bind@^1.1.1: + version "1.1.1" + resolved "http://registry.npm.qima-inc.com/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.4" + resolved "http://registry.npm.qima-inc.com/graceful-fs/download/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha1-Ila94U02MpWMRl68ltxGfKB6Kfs= + +has@^1.0.3: + version "1.0.3" + resolved "http://registry.npm.qima-inc.com/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= + dependencies: + function-bind "^1.1.1" + +is-core-module@^2.1.0: + version "2.1.0" + resolved "http://registry.npm.qima-inc.com/is-core-module/download/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" + integrity sha1-pMwDHZsaymPuy9GKZQ4Ty07quUY= + dependencies: + has "^1.0.3" + +is-module@^1.0.0: + version "1.0.0" + resolved "http://registry.npm.qima-inc.com/is-module/download/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +jsonfile@^4.0.0: + version "4.0.0" + resolved "http://registry.npm.qima-inc.com/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +locate-path@^5.0.0: + version "5.0.0" + resolved "http://registry.npm.qima-inc.com/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= + dependencies: + p-locate "^4.1.0" + +lodash@^4.17.19: + version "4.17.20" + resolved "http://registry.npm.qima-inc.com/lodash/download/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI= + +make-dir@^3.0.2: + version "3.1.0" + resolved "http://registry.npm.qima-inc.com/make-dir/download/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8= + dependencies: + semver "^6.0.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "http://registry.npm.qima-inc.com/p-limit/download/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "http://registry.npm.qima-inc.com/p-locate/download/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "http://registry.npm.qima-inc.com/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + +path-exists@^4.0.0: + version "4.0.0" + resolved "http://registry.npm.qima-inc.com/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + +path-parse@^1.0.6: + version "1.0.6" + resolved "http://registry.npm.qima-inc.com/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= + +picomatch@^2.2.2: + version "2.2.2" + resolved "http://registry.npm.qima-inc.com/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "http://registry.npm.qima-inc.com/pkg-dir/download/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= + dependencies: + find-up "^4.0.0" + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "http://registry.npm.qima-inc.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha1-ysLazIoepnX+qrrriugziYrkb1U= + +resolve@1.17.0: + version "1.17.0" + resolved "http://registry.npm.qima-inc.com/resolve/download/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha1-sllBtUloIxzC0bt2p5y38sC/hEQ= + dependencies: + path-parse "^1.0.6" + +resolve@^1.17.0: + version "1.19.0" + resolved "http://registry.npm.qima-inc.com/resolve/download/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha1-GvW/YwQJc0oGfK4pMYqsf6KaJnw= + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +rollup-plugin-babel@^4.4.0: + version "4.4.0" + resolved "http://registry.npm.qima-inc.com/rollup-plugin-babel/download/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb" + integrity sha1-0VvSWUZqnRrMvbL+L/8XxS0DCss= + dependencies: + "@babel/helper-module-imports" "^7.0.0" + rollup-pluginutils "^2.8.1" + +rollup-plugin-typescript2@^0.29.0: + version "0.29.0" + resolved "http://registry.npm.qima-inc.com/rollup-plugin-typescript2/download/rollup-plugin-typescript2-0.29.0.tgz#b7ad83f5241dbc5bdf1e98d9c3fca005ffe39e1a" + integrity sha1-t62D9SQdvFvfHpjZw/ygBf/jnho= + dependencies: + "@rollup/pluginutils" "^3.1.0" + find-cache-dir "^3.3.1" + fs-extra "8.1.0" + resolve "1.17.0" + tslib "2.0.1" + +rollup-pluginutils@^2.8.1: + version "2.8.2" + resolved "http://registry.npm.qima-inc.com/rollup-pluginutils/download/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha1-cvKvB0i1kjZNvTOJ5gDlqURKNR4= + dependencies: + estree-walker "^0.6.1" + +rollup@^2.33.3: + version "2.33.3" + resolved "http://registry.npm.qima-inc.com/rollup/download/rollup-2.33.3.tgz#ae72ce31f992b09a580072951bfea76e9df17342" + integrity sha1-rnLOMfmSsJpYAHKVG/6nbp3xc0I= + optionalDependencies: + fsevents "~2.1.2" + +semver@^6.0.0: + version "6.3.0" + resolved "http://registry.npm.qima-inc.com/semver/download/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "http://registry.npm.qima-inc.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +tslib@2.0.1: + version "2.0.1" + resolved "http://registry.npm.qima-inc.com/tslib/download/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" + integrity sha1-QQ6w0RPltjVkkO7HSWA3JbAhtD4= + +universalify@^0.1.0: + version "0.1.2" + resolved "http://registry.npm.qima-inc.com/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=