diff --git a/lerna.json b/lerna.json index ef06edabdf532195b0a3e875a50f172e0a6b5851..1f05c21e0618b25c6603068fa978d211443b635f 100644 --- a/lerna.json +++ b/lerna.json @@ -7,5 +7,5 @@ "message": "chore(release): publish %s" } }, - "version": "3.0.0-alpha-3000020210827002" + "version": "3.0.0-alpha-3000020210827003" } diff --git a/packages/size-check/package.json b/packages/size-check/package.json index a57258469962c1d36d0a228e2fe2e558bef87aea..ce41c73f3d3cceded90f8aee1fe7d522e829c4f3 100644 --- a/packages/size-check/package.json +++ b/packages/size-check/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@dcloudio/size-check", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "dependencies": { "vue-router": "^4.0.11" } diff --git a/packages/uni-api/package.json b/packages/uni-api/package.json index c59049362167f1ebd79b15d1a9e497121af4e2bc..8467d0f4b2c215455e0d0f3fb8888e05c3ec5427 100644 --- a/packages/uni-api/package.json +++ b/packages/uni-api/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@dcloudio/uni-api", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-api", "sideEffects": false, "repository": { diff --git a/packages/uni-app-plus/__tests__/service/amd.spec.ts b/packages/uni-app-plus/__tests__/service/amd.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..9f22154eb604611b7c58d7cbd621406a3d5583d7 --- /dev/null +++ b/packages/uni-app-plus/__tests__/service/amd.spec.ts @@ -0,0 +1,20 @@ +import { + def, + req, + Exports, + Require, +} from '../../src/service/framework/amd/index' +describe('amd', () => { + test('basic', () => { + def( + 'app-service', + [], + function (require: Require, exports: Exports, vue: Exports) { + console.log(require, exports, vue) + } + ) + req(['app-service'], (AppService: Exports) => { + console.log('app-service.init', AppService) + }) + }) +}) diff --git a/packages/uni-app-plus/package.json b/packages/uni-app-plus/package.json index ec14ecdf68cad99cc3f8e942e0d185afa3ea28a2..c90bf12f913df270d155526b04e5da6ace22aca6 100644 --- a/packages/uni-app-plus/package.json +++ b/packages/uni-app-plus/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-app-plus", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-app-plus", "files": [ "dist", diff --git a/packages/uni-app-plus/src/service/framework/amd/index.ts b/packages/uni-app-plus/src/service/framework/amd/index.ts index 850bb7bacfa1c52867ade178a720d9a00966ce8c..57215232aa188fe39206c3da86579b70ed53c96d 100644 --- a/packages/uni-app-plus/src/service/framework/amd/index.ts +++ b/packages/uni-app-plus/src/service/framework/amd/index.ts @@ -1,32 +1,35 @@ -const registry = { - promises: {} as Record>, - resolves: {} as Record void>, - getDependencyPromise: function (name: string) { - if (!this.promises[name]) { - const resolves = this.resolves - this.promises[name] = new Promise(function (resolve) { - resolves[name] = resolve - }) - } - return this.promises[name] - }, - resolve: function (name: string, value: unknown) { - this.getDependencyPromise(name) - this.resolves[name](value) - delete this.resolves[name] - }, +const promises: Record> = { + require: new Promise(function (resolve) { + resolves.require = req + }), } +const resolves: Record void> = {} -export function define(name: string, deps: string[], definition: Function) { - require(deps, (...args: unknown[]) => { - registry.resolve(name, definition.apply(null, args)) - }) +function deps(name: string) { + if (!promises[name]) { + promises[name] = new Promise(function (resolve) { + resolves[name] = resolve + }) + } + return promises[name] } -export function require(deps: string[], definition: Function) { - Promise.all(deps.map(registry.getDependencyPromise, registry)).then(function ( - result - ) { +function resolve(name: string) { + deps(name) + resolves[name]() + delete resolves[name] +} + +export type Define = typeof def +export type Require = typeof req +export type Exports = Record + +export function def(name: string, deps: string[], definition: Function) { + req(deps, () => resolve(name, definition())) +} + +export function req(modules: string[], definition: Function) { + Promise.all(modules.map(deps)).then((result) => definition.apply(null, result) - }) + ) } diff --git a/packages/uni-app-vite/package.json b/packages/uni-app-vite/package.json index 5c1a9c94a0eed3bb6fd24d1bcf1b2964446c95f9..7594e9569d092eb8e6f07723ae4d375da9eb975d 100644 --- a/packages/uni-app-vite/package.json +++ b/packages/uni-app-vite/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-app-vite", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-app-vite", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/uni-app-vue/package.json b/packages/uni-app-vue/package.json index 44cc96f099dabb5e8dc18b49d7b0539bf3bbf4a4..8010c43bd6c4d49cf04f7883dc20caa3b795d692 100644 --- a/packages/uni-app-vue/package.json +++ b/packages/uni-app-vue/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-app-vue", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-app-vue", "main": "dist/service.runtime.esm.dev.js", "module": "dist/service.runtime.esm.dev.js", diff --git a/packages/uni-app/package.json b/packages/uni-app/package.json index fe020d7967ad4260982c2cb306412150503d102c..8331ffd9cb782c1074f094bb19cfc9cb5aeab339 100644 --- a/packages/uni-app/package.json +++ b/packages/uni-app/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-app", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-app", "main": "./dist/uni-app.cjs.js", "module": "./dist/uni-app.es.js", diff --git a/packages/uni-automator/package.json b/packages/uni-automator/package.json index 2df95d576074f8f3547394da6ffeb77bf3fce7ae..28075a300e9bbd5237ac0c2ab5a501eb2bfe29fd 100644 --- a/packages/uni-automator/package.json +++ b/packages/uni-automator/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-automator", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-automator", "main": "dist/index.js", "files": [ diff --git a/packages/uni-cli-nvue/package.json b/packages/uni-cli-nvue/package.json index 35074782974fd259a6e1e493e112e5d952e18ed1..4bcd1b729a91e268c5910d91e803d17d60a2f494 100644 --- a/packages/uni-cli-nvue/package.json +++ b/packages/uni-cli-nvue/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-cli-nvue", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-cli-nvue", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/uni-cli-shared/package.json b/packages/uni-cli-shared/package.json index 8f1f3a0d080d4543695425d600079c104ad7e95c..c5deabaf480dfaaa23e7dab556a8db3127085915 100644 --- a/packages/uni-cli-shared/package.json +++ b/packages/uni-cli-shared/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-cli-shared", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-cli-shared", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/uni-cloud/package.json b/packages/uni-cloud/package.json index bd971f391f0272f25a65a2d2ff96c01e8e924d42..7b40eb29387d95d0531ed00da71105290f935db1 100644 --- a/packages/uni-cloud/package.json +++ b/packages/uni-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-cloud", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-cloud", "main": "dist/uni-cloud.cjs.js", "module": "dist/uni-cloud.es.js", diff --git a/packages/uni-components/package.json b/packages/uni-components/package.json index 6506e2b7fddd1fbf614d7cb201456aed7793c686..d96af84861b6b05c9781256dbcf61102d2ba2b2d 100644 --- a/packages/uni-components/package.json +++ b/packages/uni-components/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-components", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-components", "main": "index.js", "files": [ diff --git a/packages/uni-core/package.json b/packages/uni-core/package.json index c039bf64f37c176314d2cc03981e8272afb6b317..a0c6b17f74f807ed0907c4f1bbbbb5b0e8731e28 100644 --- a/packages/uni-core/package.json +++ b/packages/uni-core/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@dcloudio/uni-core", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-core", "sideEffects": false, "repository": { diff --git a/packages/uni-h5-vite/package.json b/packages/uni-h5-vite/package.json index f19295fa693854af640d49d64e2b64ea71ab296f..cbd9d089da97014f0373e3d614b8f78b0169f9e0 100644 --- a/packages/uni-h5-vite/package.json +++ b/packages/uni-h5-vite/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-h5-vite", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-h5-vite", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/uni-h5-vue/package.json b/packages/uni-h5-vue/package.json index fa16bd6a3f27d86958d471b4b8b1f5e631c8c36c..56377b9bb520cfb6a0679a9c68321e547331948d 100644 --- a/packages/uni-h5-vue/package.json +++ b/packages/uni-h5-vue/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-h5-vue", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-h5-vue", "main": "dist/vue.runtime.cjs.js", "module": "dist/vue.runtime.esm.js", diff --git a/packages/uni-h5/package.json b/packages/uni-h5/package.json index 2e04cca83c762c5ab8968750aac2799a488cb10f..55886836f711359a936ca043f95725901119ac0f 100644 --- a/packages/uni-h5/package.json +++ b/packages/uni-h5/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-h5", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-h5", "main": "./dist/uni-h5.cjs.js", "module": "./dist/uni-h5.es.js", diff --git a/packages/uni-i18n/package.json b/packages/uni-i18n/package.json index a95b65a04826c0610bb7dfad9b144d1dfcea7240..ed7398b2994ca789943921b0dbb9877a4af20dcd 100644 --- a/packages/uni-i18n/package.json +++ b/packages/uni-i18n/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-i18n", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-i18n", "main": "./dist/uni-i18n.cjs.js", "module": "./dist/uni-i18n.es.js", diff --git a/packages/uni-mp-alipay/package.json b/packages/uni-mp-alipay/package.json index f5b2cc42c9043cc7d654f7c0f466096037f07b8f..4396f355103c085950245da3fa96ab7a73a2d6aa 100644 --- a/packages/uni-mp-alipay/package.json +++ b/packages/uni-mp-alipay/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-alipay", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-app mp-alipay", "main": "dist/index.js", "repository": { diff --git a/packages/uni-mp-baidu/package.json b/packages/uni-mp-baidu/package.json index 97f8e0b19f4c3721a402e4d30de8841c36679484..50f1b6505152efb06b835add0ed94ba27ccbf85f 100644 --- a/packages/uni-mp-baidu/package.json +++ b/packages/uni-mp-baidu/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-baidu", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-app mp-baidu", "main": "dist/index.js", "files": [ diff --git a/packages/uni-mp-core/package.json b/packages/uni-mp-core/package.json index fb249fa09f32a819ebb5a40422793c7591b55642..927e2522cd127482dfb4e4c0e5b46b15c37d1910 100644 --- a/packages/uni-mp-core/package.json +++ b/packages/uni-mp-core/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@dcloudio/uni-mp-core", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-mp-core", "sideEffects": false, "repository": { diff --git a/packages/uni-mp-kuaishou/package.json b/packages/uni-mp-kuaishou/package.json index 3ade5896e33e5ff3aafd170e89a5c40752c09fe5..118c6a59a947184b53fe1b88c4cacba1aa0200c7 100644 --- a/packages/uni-mp-kuaishou/package.json +++ b/packages/uni-mp-kuaishou/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-kuaishou", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-app mp-kuaishou", "main": "dist/index.js", "repository": { diff --git a/packages/uni-mp-qq/package.json b/packages/uni-mp-qq/package.json index df4f69b7232862dd8cb7473d533806ade9836204..bbe60cb29e8255c46d2095a3828eaa7675e4979d 100644 --- a/packages/uni-mp-qq/package.json +++ b/packages/uni-mp-qq/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-qq", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-app mp-qq", "main": "dist/index.js", "repository": { diff --git a/packages/uni-mp-toutiao/package.json b/packages/uni-mp-toutiao/package.json index 3c4d145b711e456a5096a5b033aada33286d6333..6fe3fa8fd42b81af625d2f807326fc17fab714d6 100644 --- a/packages/uni-mp-toutiao/package.json +++ b/packages/uni-mp-toutiao/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-toutiao", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-app mp-toutiao", "main": "dist/index.js", "repository": { diff --git a/packages/uni-mp-vue/package.json b/packages/uni-mp-vue/package.json index a560907bd93b597f45b9d7e0229a14f1f4b41122..85cf90567a68acda5aaa1050fbf0087f204c9b7d 100644 --- a/packages/uni-mp-vue/package.json +++ b/packages/uni-mp-vue/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-vue", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-mp-vue", "main": "dist/vue.runtime.esm.js", "module": "dist/vue.runtime.esm.js", diff --git a/packages/uni-mp-weixin/package.json b/packages/uni-mp-weixin/package.json index d6f711fc56d4eae22b2cd5c364ffb39ca1d165c6..6d5a3c9d786acd5d021f065ba367b3160a0aefd4 100644 --- a/packages/uni-mp-weixin/package.json +++ b/packages/uni-mp-weixin/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-mp-weixin", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-app mp-weixin", "main": "dist/index.js", "files": [ diff --git a/packages/uni-quickapp-webview/package.json b/packages/uni-quickapp-webview/package.json index 608916025b066c482212c0f18d51f38095cf4442..aee6cb376718b5884bf6874da2d514922bc6211f 100644 --- a/packages/uni-quickapp-webview/package.json +++ b/packages/uni-quickapp-webview/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-quickapp-webview", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-app quickapp-webview", "main": "dist/index.js", "repository": { diff --git a/packages/uni-shared/package.json b/packages/uni-shared/package.json index 4911e196964389a19173f097d53fa034ac60ff21..b3abe63b927d31c9fae310a7e5e2480f9d8cdad3 100644 --- a/packages/uni-shared/package.json +++ b/packages/uni-shared/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-shared", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-shared", "main": "./dist/uni-shared.cjs.js", "module": "./dist/uni-shared.es.js", diff --git a/packages/uni-stat/package.json b/packages/uni-stat/package.json index 2540934440ad89882f7a310ae313757df5dafdae..ec4d4809e656f4d2fe63b64108f831ad9fb798c9 100644 --- a/packages/uni-stat/package.json +++ b/packages/uni-stat/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/uni-stat", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-stat", "main": "dist/uni-stat.es.js", "module": "dist/uni-stat.es.js", diff --git a/packages/uni-vue/package.json b/packages/uni-vue/package.json index 4e4cc4f81a78ce73583222a5c653424c285fddeb..9d96b1970f12fdfc93d46bf5d8f7eab7b55fc117 100644 --- a/packages/uni-vue/package.json +++ b/packages/uni-vue/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@dcloudio/uni-vue", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "@dcloudio/uni-vue", "files": [ "dist" diff --git a/packages/vite-plugin-uni/package.json b/packages/vite-plugin-uni/package.json index 63a8fee6661224f4af2f0b59e02067d2cf6d8edf..8e9e3270acc0689ecf991bde6cfa9f49165108b8 100644 --- a/packages/vite-plugin-uni/package.json +++ b/packages/vite-plugin-uni/package.json @@ -1,6 +1,6 @@ { "name": "@dcloudio/vite-plugin-uni", - "version": "3.0.0-alpha-3000020210827002", + "version": "3.0.0-alpha-3000020210827003", "description": "uni-app vite plugin", "bin": { "uni": "bin/uni.js"