-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add OpenHarmony support for weex (#3355)
- Loading branch information
1 parent
bb2a5e0
commit 3570d4c
Showing
811 changed files
with
93,272 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
{ | ||
"presets": [ | ||
[ | ||
"@babel/preset-env", | ||
{ | ||
"modules":false, | ||
"targets":{ | ||
"chrome":"73", | ||
"node":"16" | ||
} | ||
} | ||
] | ||
], | ||
"plugins": [ | ||
[ | ||
"@babel/plugin-proposal-decorators", | ||
{ | ||
"legacy": true | ||
} | ||
] | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/dist |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
{ | ||
"parser": "babel-eslint", | ||
|
||
"extends": [ | ||
"plugin:flowtype/recommended" | ||
], | ||
|
||
"plugins": [ | ||
"flowtype" | ||
], | ||
|
||
"parserOptions": { | ||
"ecmaVersion": 6, | ||
"sourceType": "module" | ||
}, | ||
|
||
"env": { | ||
"es6": true, | ||
"node": true, | ||
"mocha": true | ||
}, | ||
"globals": { | ||
"globalThis": false, | ||
"AppStorage": true, | ||
"requireAPI": true, | ||
"getCachedElement": true, | ||
"document": true | ||
}, | ||
|
||
"rules": { | ||
"flowtype/no-types-missing-file-annotation": 0, | ||
"accessor-pairs": 2, | ||
"arrow-spacing": [2, { "before": true, "after": true }], | ||
"block-spacing": [2, "always"], | ||
"brace-style": [2, "1tbs", { "allowSingleLine": true }], | ||
"camelcase": [2, { "properties": "never" }], | ||
"comma-dangle": [2, "only-multiline"], | ||
"comma-spacing": [2, { "before": false, "after": true }], | ||
"comma-style": [2, "last"], | ||
"constructor-super": 2, | ||
"curly": [2, "multi-line"], | ||
"dot-location": [2, "property"], | ||
"eol-last": 2, | ||
"eqeqeq": [2, "allow-null"], | ||
"generator-star-spacing": [2, { "before": true, "after": true }], | ||
"handle-callback-err": [2, "^(err|error)$" ], | ||
"indent": [2, 2, { "SwitchCase": 1 }], | ||
"key-spacing": [2, { "beforeColon": false, "afterColon": true }], | ||
"keyword-spacing": [2, { "before": true, "after": true }], | ||
"new-cap": [2, { "newIsCap": true, "capIsNew": false }], | ||
"new-parens": 2, | ||
"no-array-constructor": 2, | ||
"no-caller": 2, | ||
"no-class-assign": 2, | ||
"no-cond-assign": 2, | ||
"no-const-assign": 2, | ||
"no-control-regex": 2, | ||
"no-debugger": 2, | ||
"no-delete-var": 2, | ||
"no-dupe-args": 2, | ||
"no-dupe-class-members": 2, | ||
"no-dupe-keys": 2, | ||
"no-duplicate-case": 2, | ||
"no-empty-character-class": 2, | ||
"no-empty-pattern": 2, | ||
"no-eval": 2, | ||
"no-ex-assign": 2, | ||
"no-extend-native": 2, | ||
"no-extra-bind": 2, | ||
"no-extra-boolean-cast": 2, | ||
"no-extra-parens": [2, "functions"], | ||
"no-fallthrough": 2, | ||
"no-floating-decimal": 2, | ||
"no-func-assign": 2, | ||
"no-implied-eval": 2, | ||
"no-inner-declarations": [2, "functions"], | ||
"no-invalid-regexp": 2, | ||
"no-irregular-whitespace": 2, | ||
"no-iterator": 2, | ||
"no-label-var": 2, | ||
"no-labels": [2, { "allowLoop": false, "allowSwitch": false }], | ||
"no-lone-blocks": 2, | ||
"no-mixed-spaces-and-tabs": 2, | ||
"no-multi-spaces": 2, | ||
"no-multi-str": 2, | ||
"no-multiple-empty-lines": [2, { "max": 1 }], | ||
"no-native-reassign": 2, | ||
"no-negated-in-lhs": 2, | ||
"no-new-object": 2, | ||
"no-new-require": 2, | ||
"no-new-symbol": 2, | ||
"no-new-wrappers": 2, | ||
"no-obj-calls": 2, | ||
"no-octal": 2, | ||
"no-octal-escape": 2, | ||
"no-path-concat": 2, | ||
"no-proto": 2, | ||
"no-redeclare": 2, | ||
"no-regex-spaces": 2, | ||
"no-return-assign": [2, "except-parens"], | ||
"no-self-assign": 2, | ||
"no-self-compare": 2, | ||
"no-sequences": 2, | ||
"no-shadow-restricted-names": 2, | ||
"no-spaced-func": 2, | ||
"no-sparse-arrays": 2, | ||
"no-this-before-super": 2, | ||
"no-throw-literal": 2, | ||
"no-trailing-spaces": 2, | ||
"no-undef": 2, | ||
"no-undef-init": 2, | ||
"no-unexpected-multiline": 2, | ||
"no-unmodified-loop-condition": 2, | ||
"no-unneeded-ternary": [2, { "defaultAssignment": false }], | ||
"no-unreachable": 2, | ||
"no-unsafe-finally": 2, | ||
"no-unused-vars": [2, { "vars": "all", "args": "none" }], | ||
"no-useless-call": 2, | ||
"no-useless-computed-key": 2, | ||
"no-useless-constructor": 2, | ||
"no-useless-escape": 2, | ||
"no-whitespace-before-property": 2, | ||
"no-with": 2, | ||
"one-var": [2, { "initialized": "never" }], | ||
"padded-blocks": [2, "never"], | ||
"quotes": [2, "single", {"avoidEscape": true, "allowTemplateLiterals": true}], | ||
"semi": [2, "never"], | ||
"semi-spacing": [2, { "before": false, "after": true }], | ||
"space-before-blocks": [2, "always"], | ||
"space-in-parens": [2, "never"], | ||
"space-infix-ops": 2, | ||
"space-unary-ops": [2, { "words": true, "nonwords": false }], | ||
"spaced-comment": [2, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","] }], | ||
"template-curly-spacing": [2, "never"], | ||
"use-isnan": 2, | ||
"valid-typeof": 2, | ||
"wrap-iife": [2, "any"], | ||
"yield-star-spacing": [2, "both"], | ||
"yoda": [2, "never"], | ||
|
||
"no-var": 2, | ||
"prefer-const": 2, | ||
"object-curly-spacing": [2, "always", { | ||
"objectsInObjects": false | ||
}], | ||
"array-bracket-spacing": [2, "never"] | ||
}, | ||
|
||
"settings": { | ||
"flowtype": { | ||
"onlyFilesWithFlowAnnotation": true | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
dist | ||
node_modules | ||
src/qafApi/modules/Account/environment/SetMirror.js | ||
package-lock.json | ||
oh_modules | ||
hvigor | ||
.hvigor | ||
.idea | ||
oh-package-lock.json5 | ||
local.properties | ||
hvigorw |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
### 编译生成js | ||
|
||
git clone下载源码,在根目录中执行: | ||
|
||
``` | ||
npm install | ||
``` | ||
|
||
然后使用如下命令打包生成一个js文件: | ||
|
||
``` | ||
npm run build:advanced | ||
``` | ||
|
||
### 生成har包或者hsp包 | ||
|
||
- 使用DevEco Studio打开project/advancedHsp工程,新建如下两个路径: | ||
- project\advancedApiHsp\advanced_api_har\src\main\ets\utils\ | ||
- project\advancedApiHsp\advanced_api_hsp\src\main\ets\utils\ | ||
- 把生成的js文件dist/advancedapi.min.js复制到上述位置 | ||
- 点击菜单: `Build` -- `Make All Modules`生成所有模块 | ||
- har包生成在路径:advancedApiHsp\advanced_api_har\build\default\outputs\default中 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
const fs = require('fs') | ||
const path = require('path') | ||
const gzip = require('zlib').createGzip() | ||
const rollup = require('rollup') | ||
|
||
const getConfig = require('./config') | ||
|
||
if (!fs.existsSync('dist')) { | ||
fs.mkdirSync('dist') | ||
} | ||
|
||
let isWatch = false | ||
if (process.argv[3]) { | ||
isWatch = process.argv[3] === '--watch' || process.argv[3] === '-w' | ||
} | ||
|
||
// build specific package | ||
if (process.argv[2]) { | ||
build(process.argv[2]) | ||
} else { | ||
console.log('\nPlease specify the package you want to build. [native, runtime, browser, vue]') | ||
} | ||
build(process.argv[2]) | ||
|
||
function build (name) { | ||
const pkgName = 'API' | ||
console.log(`\n => start to build ${name} (${pkgName})\n`) | ||
|
||
if (isWatch) { | ||
runRollupOnWatch(name) | ||
return | ||
} | ||
|
||
const config = getConfig({ name }) | ||
const minifyConfig = getConfig({ minify: true, name }) | ||
|
||
return new Promise((resolve, reject) => { | ||
runRollup(config).then(() => { | ||
runRollup(minifyConfig).then(() => { | ||
if(name==='advanced'){ | ||
replaceFile(minifyConfig.output.file, | ||
[ | ||
/;import/g, | ||
/from"/g, | ||
/import{/g, | ||
/}from/g, | ||
/import"/g, | ||
/";function/g | ||
] | ||
, | ||
[ | ||
';\nimport', | ||
'from "', | ||
'import {', | ||
'} from', | ||
'import "', | ||
'";\nfunction' | ||
]).then(()=>{ | ||
zip(minifyConfig.output.file, resolve) | ||
}) | ||
}else{ | ||
zip(minifyConfig.output.file, resolve) | ||
} | ||
}) | ||
}) | ||
}) | ||
} | ||
|
||
function runRollup (config) { | ||
return new Promise((resolve, reject) => { | ||
rollup.rollup(config).then(bundle => { | ||
bundle.write(config).then(() => { | ||
report(config.output.file) | ||
resolve() | ||
}) | ||
}) | ||
}) | ||
} | ||
|
||
function runRollupOnWatch (name) { | ||
const config = getConfig({ name, isWatch }) | ||
const watcher = rollup.watch(config) | ||
watcher.on('event', event => { | ||
switch (event.code) { | ||
case 'STARTING': | ||
console.log('checking rollup.watch version...') | ||
break | ||
case 'BUILD_START': | ||
console.log('bundling...') | ||
break | ||
case 'BUILD_END': | ||
break | ||
case 'END': | ||
console.info('compile jsBundle success...') | ||
break | ||
case 'ERROR': | ||
console.error('ERROR: ', event.error) | ||
break | ||
} | ||
}) | ||
} | ||
|
||
function zip (filePath, callback) { | ||
const read = fs.createReadStream(filePath) | ||
const write = fs.createWriteStream(filePath + '.gz') | ||
read.pipe(gzip).pipe(write).on('close', () => { | ||
report(filePath + '.gz') | ||
callback && callback() | ||
}) | ||
} | ||
|
||
function report (filePath) { | ||
const size = (fs.statSync(filePath).size / 1024).toFixed(2) + 'KB' | ||
const file = path.relative(process.cwd(), filePath) | ||
console.log(` => write ${file} (${size})`) | ||
} | ||
|
||
function replaceFile (filePath, sourceRegx, targetStr) { | ||
return new Promise((resolve, reject) => { | ||
fs.readFile(filePath, function (err, data) { | ||
if (err) { | ||
console.error(err) | ||
reject() | ||
return | ||
} | ||
let str = data.toString() | ||
for (let i = 0; i < sourceRegx.length; i++) { | ||
str = str.replace(sourceRegx[i], targetStr[i]) | ||
} | ||
fs.writeFile(filePath, str, function (err) { | ||
if (err) { | ||
console.error(err) | ||
reject() | ||
return | ||
} | ||
console.log('=> replaceFile success') | ||
resolve() | ||
}) | ||
}) | ||
}) | ||
} |
Oops, something went wrong.