diff --git a/build/build.plugin.js b/build/build.plugin.js index 599a72469d4c1f54d2c0c024772c46d469f8c254..76f10ca6d690749a5416698a40b19c5db6fbfae1 100644 --- a/build/build.plugin.js +++ b/build/build.plugin.js @@ -21,7 +21,7 @@ del.sync(['node_modules/.cache']) let pluginDir = process.argv[2] if (!pluginDir) { - console.error(`缺少参数`) + console.error('缺少参数') process.exit(0) } @@ -31,7 +31,7 @@ if (pluginDir.indexOf('/') === -1) { const pkg = require(path.join(pluginDir, 'package.json')) if (!pkg['uni-app']) { - console.error(`缺少 uni-app 配置`) + console.error('缺少 uni-app 配置') process.exit(0) } @@ -51,8 +51,8 @@ service.webpackRawConfigFns.push(function () { use: [{ loader: path.resolve(__dirname, '../lib/extends-loader'), options: { - 'extends': path.resolve(pluginDir, 'src/service/api'), - 'base': path.resolve(__dirname, '../src/platforms/h5/service/api') + extends: path.resolve(pluginDir, 'src/service/api'), + base: path.resolve(__dirname, '../src/platforms/h5/service/api') } }] }] diff --git a/build/manifest.js b/build/manifest.js index 06bd8f7a27afc51f4d12c4678a19df9c8819bbb0..e6ab74460c036fd979a2c2531d1a25b8e88527d6 100644 --- a/build/manifest.js +++ b/build/manifest.js @@ -24,33 +24,33 @@ const TOAST_DEPS = [ // TODO 暂不考虑 head,tabBar 的动态拆分 const DEPS = { - 'chooseLocation': [ + chooseLocation: [ ['/platforms/h5/components/system-routes/choose-location/index.vue', 'ChooseLocation'] ], - 'openLocation': [ + openLocation: [ ['/platforms/h5/components/system-routes/open-location/index.vue', 'OpenLocation'] ], - 'previewImage': [ + previewImage: [ ['/core/view/components/swiper/index.vue', 'Swiper'], ['/core/view/components/swiper-item/index.vue', 'SwiperItem'], ['/platforms/h5/components/system-routes/preview-image/index.vue', 'PreviewImage'] ], - 'showToast': TOAST_DEPS, - 'hideToast': TOAST_DEPS, - 'showLoading': TOAST_DEPS, - 'hideLoading': TOAST_DEPS, - 'showModal': [ + showToast: TOAST_DEPS, + hideToast: TOAST_DEPS, + showLoading: TOAST_DEPS, + hideLoading: TOAST_DEPS, + showModal: [ ['/platforms/h5/components/app/popup/modal.vue', 'Modal'], ['/platforms/h5/components/app/popup/mixins/modal.js', 'ModalMixin'] ], - 'showActionSheet': [ + showActionSheet: [ ['/platforms/h5/components/app/popup/actionSheet.vue', 'ActionSheet'], ['/platforms/h5/components/app/popup/mixins/action-sheet.js', 'ActionSheetMixin'] ], - 'createSelectorQuery': [ + createSelectorQuery: [ ['/core/view/bridge/subscribe/api/request-component-info.js', 'requestComponentInfo'] ], - 'createIntersectionObserver': [ + createIntersectionObserver: [ ['/core/view/bridge/subscribe/api/request-component-observer.js', 'requestComponentObserver'], ['/core/view/bridge/subscribe/api/request-component-observer.js', 'destroyComponentObserver'] ] diff --git a/build/rollup.config.app.js b/build/rollup.config.app.js index 9896a8f26f4eff63b47968acbeb33f116af21454..a31893c374448c266eb9874c4c9fd4fd1ac12ba9 100644 --- a/build/rollup.config.app.js +++ b/build/rollup.config.app.js @@ -1,8 +1,8 @@ const path = require('path') -const alias = require('rollup-plugin-alias') -const replace = require('rollup-plugin-replace') -const nodeResolve = require('rollup-plugin-node-resolve') -const commonjs = require('rollup-plugin-commonjs') +const alias = require('@rollup/plugin-alias') +const replace = require('@rollup/plugin-replace') +const nodeResolve = require('@rollup/plugin-node-resolve') +const commonjs = require('@rollup/plugin-commonjs') const requireContext = require('../lib/rollup-plugin-require-context') let input = 'src/platforms/app-plus/service/framework/create-instance-context.js' @@ -27,9 +27,9 @@ if (process.env.UNI_SERVICE === 'legacy') { } else { input = 'src/platforms/app-plus/service/index.js' if (process.env.UNI_PLATFORM === 'app-plus') { - output.file = `packages/uni-app-plus/dist/index.v3.js` + output.file = 'packages/uni-app-plus/dist/index.v3.js' } else { - output.file = `packages/uni-app-plus-nvue/dist/index.js` + output.file = 'packages/uni-app-plus-nvue/dist/index.js' } output.format = 'iife' output.name = 'serviceContext' @@ -38,8 +38,8 @@ if (process.env.UNI_SERVICE === 'legacy') { var setTimeout = instanceContext.setTimeout var clearTimeout = instanceContext.clearTimeout var setInterval = instanceContext.setInterval -var clearInterval = instanceContext.clearInterval -var __uniConfig = instanceContext.__uniConfig +var clearInterval = instanceContext.clearInterval +var __uniConfig = instanceContext.__uniConfig var __uniRoutes = instanceContext.__uniRoutes ` output.footer = @@ -47,9 +47,9 @@ var __uniRoutes = instanceContext.__uniRoutes var uni = serviceContext.uni var getApp = serviceContext.getApp var getCurrentPages = serviceContext.getCurrentPages - + var __definePage = serviceContext.__definePage -var __registerPage = serviceContext.__registerPage +var __registerPage = serviceContext.__registerPage return serviceContext \n} @@ -61,17 +61,33 @@ const resolve = dir => path.resolve(__dirname, '../', dir) module.exports = { input, output, - plugins: [ - alias({ - // 'vue': resolve('packages/uni-app-plus/dist/service.runtime.esm.js'), - 'uni-core': resolve('src/core'), - 'uni-platform': resolve('src/platforms/' + process.env.UNI_PLATFORM), - 'uni-platforms': resolve('src/platforms'), - 'uni-shared': resolve('src/shared/index.js'), - 'uni-helpers': resolve('src/core/helpers'), - 'uni-invoke-api': resolve('src/platforms/app-plus/service/api'), - 'uni-service-api': resolve('src/core/service/platform-api'), - 'uni-api-protocol': resolve('src/core/helpers/protocol') + plugins: [ + alias({ + entries: [{ + find: 'uni-core', + replacement: resolve('src/core') + }, { + find: 'uni-platform', + replacement: resolve('src/platforms/' + process.env.UNI_PLATFORM) + }, { + find: 'uni-platforms', + replacement: resolve('src/platforms') + }, { + find: 'uni-shared', + replacement: resolve('src/shared/index.js') + }, { + find: 'uni-helpers', + replacement: resolve('src/core/helpers') + }, { + find: 'uni-invoke-api', + replacement: resolve('src/platforms/app-plus/service/api') + }, { + find: 'uni-service-api', + replacement: resolve('src/core/service/platform-api') + }, { + find: 'uni-api-protocol', + replacement: resolve('src/core/helpers/protocol') + }] }), nodeResolve(), commonjs(), diff --git a/build/rollup.config.mp.js b/build/rollup.config.mp.js index b39600cebcaf9f67a85ab09a132f0d99a7dc9c1b..92f6fb1b622cd8fb667a7024d7b889d94f3e0877 100644 --- a/build/rollup.config.mp.js +++ b/build/rollup.config.mp.js @@ -1,6 +1,6 @@ const path = require('path') -const alias = require('rollup-plugin-alias') -const replace = require('rollup-plugin-replace') +const alias = require('@rollup/plugin-alias') +const replace = require('@rollup/plugin-replace') const PLATFORMS = { 'mp-weixin': { @@ -51,10 +51,19 @@ module.exports = { output, plugins: [ alias({ - 'uni-shared': path.resolve(__dirname, '../src/shared/util.js'), - 'uni-platform': path.resolve(__dirname, '../src/platforms/' + process.env.UNI_PLATFORM), - 'uni-wrapper': path.resolve(__dirname, '../src/core/runtime/wrapper'), - 'uni-helpers': path.resolve(__dirname, '../src/core/helpers') + entries: [{ + find: 'uni-shared', + replacement: path.resolve(__dirname, '../src/shared/util.js') + }, { + find: 'uni-platform', + replacement: path.resolve(__dirname, '../src/platforms/' + process.env.UNI_PLATFORM) + }, { + find: 'uni-wrapper', + replacement: path.resolve(__dirname, '../src/core/runtime/wrapper') + }, { + find: 'uni-helpers', + replacement: path.resolve(__dirname, '../src/core/helpers') + }] }), replace({ __GLOBAL__: platform.prefix, @@ -64,4 +73,4 @@ module.exports = { }) ], external: ['vue'] -} +} diff --git a/build/rollup.config.qa.js b/build/rollup.config.qa.js index e739152342d0267db6ff5d10fb216d83f01eab3f..67f43a56c806f8ecb885ed72bf9a528e55fa7891 100644 --- a/build/rollup.config.qa.js +++ b/build/rollup.config.qa.js @@ -1,8 +1,8 @@ const path = require('path') -const alias = require('rollup-plugin-alias') -const replace = require('rollup-plugin-replace') -const nodeResolve = require('rollup-plugin-node-resolve') -const commonjs = require('rollup-plugin-commonjs') +const alias = require('@rollup/plugin-alias') +const replace = require('@rollup/plugin-replace') +const nodeResolve = require('@rollup/plugin-node-resolve') +const commonjs = require('@rollup/plugin-commonjs') const terser = require('rollup-plugin-terser') const requireContext = require('../lib/rollup-plugin-require-context') @@ -31,14 +31,31 @@ const plugins = [{ } }, alias({ - 'uni-core': resolve('src/core'), - 'uni-platform': resolve('src/platforms/quickapp-vue'), - 'uni-platforms': resolve('src/platforms'), - 'uni-shared': resolve('src/shared/index.js'), - 'uni-helpers': resolve('src/core/helpers'), - 'uni-invoke-api': resolve('src/platforms/quickapp-vue/service/invoke-api'), - 'uni-service-api': resolve('src/platforms/quickapp-vue/service/api'), - 'uni-api-protocol': resolve('src/core/helpers/protocol') + entries: [{ + find: 'uni-core', + replacement: resolve('src/core') + }, { + find: 'uni-platform', + replacement: resolve('src/platforms/quickapp-vue') + }, { + find: 'uni-platforms', + replacement: resolve('src/platforms') + }, { + find: 'uni-shared', + replacement: resolve('src/shared/index.js') + }, { + find: 'uni-helpers', + replacement: resolve('src/core/helpers') + }, { + find: 'uni-invoke-api', + replacement: resolve('src/platforms/quickapp-vue/service/invoke-api') + }, { + find: 'uni-service-api', + replacement: resolve('src/platforms/quickapp-vue/service/api') + }, { + find: 'uni-api-protocol', + replacement: resolve('src/core/helpers/protocol') + }] }), nodeResolve(), requireContext(), diff --git a/build/rollup.config.service.js b/build/rollup.config.service.js index 6e3cfd5fa4b40b869ec0736cf46494cc6db2e192..1aeed8e29e3cb114bcbc33166d47b391f430bbf2 100644 --- a/build/rollup.config.service.js +++ b/build/rollup.config.service.js @@ -1,22 +1,32 @@ -const path = require('path') -const alias = require('rollup-plugin-alias') -const replace = require('rollup-plugin-replace') - -module.exports = { - input: 'src/platforms/app-plus-nvue/services/index.legacy.old.js', - output: { - file: `packages/uni-app-plus-nvue/dist/service.legacy.js`, - format: 'es' - }, - plugins: [ - alias({ - 'uni-core': path.resolve(__dirname, '../src/core'), - 'uni-shared': path.resolve(__dirname, '../src/shared/util.js'), - 'uni-helpers': path.resolve(__dirname, '../src/core/helpers') - }), - replace({ - __GLOBAL__: 'getGlobalUni()', - __PLATFORM_TITLE__: 'app-plus-nvue' - }) - ] +const path = require('path') +const alias = require('@rollup/plugin-alias') +const replace = require('@rollup/plugin-replace') + +module.exports = { + input: 'src/platforms/app-plus-nvue/services/index.legacy.old.js', + output: { + file: 'packages/uni-app-plus-nvue/dist/service.legacy.js', + format: 'es' + }, + plugins: [ + alias({ + entries: [{ + find: 'uni-core', + replacement: path.resolve(__dirname, '../src/core') + }, + { + find: 'uni-shared', + replacement: path.resolve(__dirname, '../src/shared/util.js') + }, + { + find: 'uni-helpers', + replacement: path.resolve(__dirname, '../src/core/helpers') + } + ] + }), + replace({ + __GLOBAL__: 'getGlobalUni()', + __PLATFORM_TITLE__: 'app-plus-nvue' + }) + ] } diff --git a/build/rollup.config.web-view.js b/build/rollup.config.web-view.js index 25e9c089a5152d7a2e47e38e1ff6fa421ede16f7..dcc55f58e0d476adf0e783cc5f491a7a96ea3c8a 100644 --- a/build/rollup.config.web-view.js +++ b/build/rollup.config.web-view.js @@ -1,23 +1,25 @@ const path = require('path') const babel = require('rollup-plugin-babel') -const alias = require('rollup-plugin-alias') -const uglify = require('rollup-plugin-uglify') +const alias = require('@rollup/plugin-alias') +const terser = require('rollup-plugin-terser') module.exports = { input: 'src/core/runtime/web-view/index.js', output: { name: 'uni', - file: `dist/uni.webview.1.5.2.js`, + file: 'dist/uni.webview.1.5.2.js', format: 'umd' }, plugins: [ alias({ - 'uni-platforms': path.resolve(__dirname, '../src/platforms') + entries: [{ + find: 'uni-shared', + replacement: path.resolve(__dirname, '../src/shared/index.js') + }, { + find: 'uni-platforms', + replacement: path.resolve(__dirname, '../src/platforms') + }] }), babel(), - uglify.uglify({ - output: { - ascii_only: true - } - }) + terser.terser() ] } diff --git a/build/webpack.config.js b/build/webpack.config.js index 74a2ee56e82971ddf2469e9c3957052326e1e4db..2ca26492e4fe0839517512213f38420a306859d6 100644 --- a/build/webpack.config.js +++ b/build/webpack.config.js @@ -8,7 +8,7 @@ const pkg = require('../package.json') const externals = {} if (process.env.UNI_VIEW !== 'true') { - externals['vue'] = { + externals.vue = { commonjs: 'vue', commonjs2: 'vue', root: 'Vue' @@ -41,16 +41,16 @@ const alias = { } const provides = { - 'console': [resolve('src/core/helpers/console'), 'default'], - 'UniViewJSBridge': [resolve('src/core/view/bridge/index')], - 'UniServiceJSBridge': [resolve('src/core/service/bridge/index')] + console: [resolve('src/core/helpers/console'), 'default'], + UniViewJSBridge: [resolve('src/core/view/bridge/index')], + UniServiceJSBridge: [resolve('src/core/service/bridge/index')] } if (process.env.UNI_VIEW) { // 方便调试 - delete provides['console'] + delete provides.console } if (process.env.UNI_VIEW === 'true') { - alias['vue$'] = resolve('packages/vue-cli-plugin-uni/packages/h5-vue/dist/vue.runtime.esm.js') + alias.vue$ = resolve('packages/vue-cli-plugin-uni/packages/h5-vue/dist/vue.runtime.esm.js') } module.exports = { diff --git a/build/webpack.config.test.js b/build/webpack.config.test.js index 63059ddfffe8ff831bda34196c8d4ed01a52e562..43942c95e9a20ccd1629c13188b068dc4f0c1aaa 100644 --- a/build/webpack.config.test.js +++ b/build/webpack.config.test.js @@ -49,9 +49,9 @@ config.plugins = config.plugins.concat([ __PLATFORM__: JSON.stringify(process.env.UNI_PLATFORM) }), new webpack.ProvidePlugin({ - 'console': [resolve('src/core/helpers/console'), 'default'], - 'UniViewJSBridge': [resolve('src/core/view/bridge/index')], - 'UniServiceJSBridge': [resolve('src/core/service/bridge/index')] + console: [resolve('src/core/helpers/console'), 'default'], + UniViewJSBridge: [resolve('src/core/view/bridge/index')], + UniServiceJSBridge: [resolve('src/core/service/bridge/index')] }) ]) module.exports = config diff --git a/package.json b/package.json index f035381c195403b2bac3bb4ed5ee5c773150cd86..da9775262c8e8abebe8903b5c527456fbd8ca2c4 100644 --- a/package.json +++ b/package.json @@ -2,34 +2,29 @@ "name": "uni-app", "version": "0.0.1", "scripts": { - "build:service:legacy": "npm run lint && rollup -c build/rollup.config.service.js", "lint": "eslint --fix --config package.json --ext .js --ext .vue --ignore-path .eslintignore build src", "lint:cli": "eslint --fix --config package.json --ext .js --ext .vue --ignore-path .eslintignore packages/uni-cli-shared packages/uni-template-compiler \"packages/uni-*/lib/*.js\" \"packages/vue-cli-*/**/*.js\" \"packages/webpack-uni-*/**/*.js\"", "dev:h5": "npm run lint && cross-env NODE_ENV=production UNI_WATCH=true UNI_PLATFORM=h5 node build/build.js", "build:h5": "npm run lint && cross-env NODE_ENV=production UNI_WATCH=false UNI_PLATFORM=h5 node build/build.js", - "build:h5:ui": "cross-env NODE_ENV=production UNI_WATCH=false UNI_PLATFORM=h5 UNI_UI=true node build/build.js", "dev:plugin": "cross-env NODE_ENV=production UNI_WATCH=true UNI_PLATFORM=h5 node build/build.plugin.js", "build:plugin": "cross-env NODE_ENV=production UNI_WATCH=false UNI_PLATFORM=h5 node build/build.plugin.js", "build:app-plus": "cross-env UNI_PLATFORM=app-plus rollup -c build/rollup.config.mp.js", - "build:app:all": "npm run lint && npm run build:app:nvue && npm run build:app:legacy && npm run build:app:service && npm run build:app:view", - "build:app:v3": "npm run lint && npm run build:app:service && npm run dev:app:view", + "build:app:v3": "npm run lint && npm run build:app:service && npm run build:app:view", "build:app:service": "cross-env UNI_PLATFORM=app-plus rollup -c build/rollup.config.app.js", "build:app:view": "cross-env NODE_ENV=production UNI_WATCH=false UNI_PLATFORM=app-plus UNI_VIEW=true node build/build.js", "dev:app:view": "cross-env NODE_ENV=development UNI_WATCH=true UNI_PLATFORM=app-plus UNI_VIEW=true node build/build.js", - "build:app:nvue": "cross-env UNI_PLATFORM=app-plus-nvue rollup -c build/rollup.config.app.js", - "build:app:legacy": "cross-env UNI_PLATFORM=app-plus-nvue UNI_SERVICE=legacy rollup -c build/rollup.config.app.js", "build:mp-qq": "cross-env UNI_PLATFORM=mp-qq rollup -c build/rollup.config.mp.js", "build:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin rollup -c build/rollup.config.mp.js", "build:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu rollup -c build/rollup.config.mp.js", "build:mp-alipay": "cross-env UNI_PLATFORM=mp-alipay rollup -c build/rollup.config.mp.js", "build:mp-toutiao": "cross-env UNI_PLATFORM=mp-toutiao rollup -c build/rollup.config.mp.js", "build:quickapp-light": "cross-env UNI_PLATFORM=quickapp-light rollup -c build/rollup.config.mp.js", - "build:mp-weixin:mp": "npm run lint && cross-env UNI_PLATFORM=mp-weixin UNI_MP=true rollup -c build/rollup.config.mp.js", + "build:mp-weixin:mp": "cross-env UNI_PLATFORM=mp-weixin UNI_MP=true rollup -c build/rollup.config.mp.js", "build:mp-weixin:wxs": "rollup -c build/rollup.config.wxs.js", "build:quickapp-vue": "cross-env NODE_ENV=development node build/build.qa.js && cross-env NODE_ENV=production node build/build.qa.js", "build:runtime": "npm run lint && npm run build:mp-weixin && npm run build:mp-qq && npm run build:mp-alipay && npm run build:mp-baidu && npm run build:mp-toutiao && npm run build:app-plus && npm run build:quickapp-light && npm run build:quickapp-vue", "build:stat": "npm run lint && rollup -c build/rollup.config.stat.js", - "build:web-view": "npm run lint && rollup -c build/rollup.config.web-view.js", + "build:web-view": "rollup -c build/rollup.config.web-view.js", "test:cli": "cross-env NODE_ENV=test jest", "test:unit": "cross-env NODE_ENV=test UNI_PLATFORM=h5 mocha-webpack --require tests/unit/setup.js --webpack-config build/webpack.config.test.js tests/unit/**/*.spec.js", "release": "npm run lint:cli && lerna publish --force-publish=*",