├── .eslintrc.js ├── .github └── COMMIT_CONVENTION.md ├── .gitignore ├── .npmignore ├── CHANGELOG.md ├── README.md ├── commitlint.config.js ├── export ├── README.md ├── chameleon.config.js ├── export.sh └── package │ ├── web │ └── package.json │ ├── weex │ └── package.json │ └── wx │ ├── CHANGELOG.md │ ├── index.js │ └── package.json ├── index.js ├── package.json ├── scripts ├── alias.js ├── build.js └── config.js ├── src ├── interfaces │ ├── bootstrap │ │ ├── index.interface │ │ ├── index.js │ │ ├── shim.js │ │ └── utils.js │ ├── createApp │ │ ├── index.interface │ │ └── index.js │ ├── createComponent │ │ ├── index.interface │ │ └── index.js │ └── createPage │ │ ├── index.interface │ │ └── index.js └── platform │ ├── alipay │ ├── core │ │ └── VmAdapter.js │ ├── index.js │ ├── instance │ │ ├── app.js │ │ ├── component.js │ │ ├── index.js │ │ └── page.js │ └── style │ │ ├── base.css │ │ ├── index.css │ │ ├── page.css │ │ └── reset.css │ ├── baidu │ ├── core │ │ └── VmAdapter.js │ ├── index.js │ ├── instance │ │ ├── app.js │ │ ├── component.js │ │ ├── index.js │ │ └── page.js │ └── style │ │ ├── base.css │ │ ├── index.css │ │ ├── page.css │ │ └── reset.css │ ├── common │ ├── proto │ │ ├── BaseCtor.js │ │ ├── BaseRuntimeCore.js │ │ ├── BaseVmAdapter.js │ │ ├── MiniRuntimeCore.js │ │ ├── MiniVmAdapter.js │ │ ├── WexRuntimeCore.js │ │ └── WexVmAdapter.js │ └── util │ │ ├── Event.js │ │ ├── EventBus.js │ │ ├── KEY.js │ │ ├── clone.js │ │ ├── config.js │ │ ├── debug.js │ │ ├── diff.js │ │ ├── error.js │ │ ├── lifecycle.js │ │ ├── proto.js │ │ ├── resolve.js │ │ ├── style.js │ │ ├── toJS.js │ │ ├── type.js │ │ ├── url.js │ │ ├── util.js │ │ └── warn.js │ ├── qq │ ├── core │ │ └── VmAdapter.js │ ├── index.js │ ├── instance │ │ ├── app.js │ │ ├── component.js │ │ ├── index.js │ │ └── page.js │ └── style │ │ ├── base.css │ │ ├── index.css │ │ ├── page.css │ │ └── reset.css │ ├── tt │ ├── core │ │ └── VmAdapter.js │ ├── index.js │ ├── instance │ │ ├── app.js │ │ ├── component.js │ │ ├── index.js │ │ └── page.js │ └── style │ │ ├── base.css │ │ ├── index.css │ │ ├── page.css │ │ └── reset.css │ ├── web │ ├── core │ │ └── VmAdapter.js │ ├── index.js │ ├── instance │ │ ├── app.js │ │ ├── component.js │ │ ├── index.js │ │ └── page.js │ ├── render │ │ ├── chameleon │ │ │ ├── index.js │ │ │ └── instance.js │ │ ├── index.js │ │ ├── lib │ │ │ ├── extendVue.js │ │ │ └── gesture.js │ │ ├── mixins │ │ │ ├── base.js │ │ │ ├── event.js │ │ │ └── index.js │ │ └── utils │ │ │ ├── component.js │ │ │ ├── event.js │ │ │ ├── index.js │ │ │ └── viewport.js │ └── style │ │ ├── base.css │ │ ├── index.css │ │ ├── index.js │ │ ├── page.css │ │ └── reset.css │ ├── weex │ ├── core │ │ └── VmAdapter.js │ ├── index.js │ ├── instance │ │ ├── app.js │ │ ├── component.js │ │ ├── index.js │ │ └── page.js │ ├── render │ │ └── index.js │ └── style │ │ ├── base.css │ │ ├── index.css │ │ ├── page.css │ │ └── reset.css │ └── wx │ ├── core │ └── VmAdapter.js │ ├── index.js │ ├── instance │ ├── app.js │ ├── component.js │ ├── index.js │ └── page.js │ └── style │ ├── base.css │ ├── index.css │ ├── page.css │ └── reset.css └── test ├── build ├── index.js ├── pipeline.js └── util.js ├── global ├── web │ ├── Event.js │ ├── config.js │ ├── document.js │ ├── fetch.js │ ├── index.js │ ├── localStorage.js │ ├── location.js │ ├── navigator.js │ ├── visible.js │ └── window.js ├── weex │ └── index.js └── wx │ └── index.js ├── mock ├── common │ └── diff.js ├── lib │ └── config.js ├── web │ └── options.js └── wx │ ├── app │ └── options.js │ ├── component │ └── options.js │ └── page │ └── options.js └── unit ├── common ├── clone.test.js ├── diff.test.js ├── style.test.js ├── tpl.test.js ├── type.test.js ├── url.test.js └── utils.test.js ├── web ├── app.test.js ├── bootstrap.test.js ├── component.test.js ├── event.test.js ├── gesture.test.js ├── page.test.js └── render.test.js └── wx ├── app.test.js ├── component.test.js └── page.test.js /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | browser: true, 5 | es6: true, 6 | }, 7 | extends: [ 8 | 'plugin:vue/base', 9 | 'standard', 10 | ], 11 | globals: { 12 | Atomics: 'readonly', 13 | SharedArrayBuffer: 'readonly' 14 | }, 15 | parserOptions: { 16 | ecmaVersion: 2018, 17 | parser:'babel-eslint' 18 | }, 19 | rules: { 20 | 'vue/comment-directive': 'off', 21 | 'vue/jsx-uses-vars': 'off' 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /.github/COMMIT_CONVENTION.md: -------------------------------------------------------------------------------- 1 | ## Git Commit Message Convention 2 | 3 | > This is adapted from [Angular's commit convention](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular). 4 | 5 | Commit messages should follow the rules so that changelogs can be automatically generated. Commit messages will be automatically validated upon commit. 6 | 7 | > Husky requires Node >= 10 and Git >= 2.13.0. 8 | 9 | #### TL;DR: 10 | 11 | Messages must be matched by the following regex: 12 | 13 | ``` js 14 | /^(revert: )?(feat|fix|polish|docs|style|refactor|perf|test|workflow|ci|chore|types)(\(.+\))?: .{1,50}/ 15 | ``` 16 | 17 | #### Examples 18 | 19 | Appears under "Features" header, `adapter` subheader: 20 | 21 | ``` 22 | feat(adapter): add 'comments' option 23 | ``` 24 | 25 | Appears under "Bug Fixes" header, `page` subheader, with a link to issue #28: 26 | 27 | ``` 28 | fix(page): handle events on blur 29 | 30 | close #28 31 | ``` 32 | 33 | Appears under "Performance Improvements" header, and under "Breaking Changes" with the breaking change explanation: 34 | 35 | ``` 36 | perf(core): improve data diffing by removing 'foo' option 37 | 38 | BREAKING CHANGE: The 'foo' option has been removed. 39 | ``` 40 | 41 | The following commit and commit `667ecc1` do not appear in the changelog if they are under the same release. If not, the revert commit appears under the "Reverts" header. 42 | 43 | ``` 44 | revert: feat(compiler): add 'comments' option 45 | 46 | This reverts commit 667ecc1654a317a13331b17617d973392f415f02. 47 | ``` 48 | 49 | ### Full Message Format 50 | 51 | A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: 52 | 53 | ``` 54 | (): 55 | 56 | 57 | 58 |