@atomicservice/ascf-toolkit-hvigor-plugin 1.0.4-beta.0 → 1.0.5-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,o,t,i){return new(t||(t=Promise))((function(r,n){function s(e){try{g(i.next(e))}catch(e){n(e)}}function l(e){try{g(i.throw(e))}catch(e){n(e)}}function g(e){var o;e.done?r(e.value):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(s,l)}g((i=i.apply(e,o||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ascfToolkitHvigorPlugin;const hvigor_ohos_plugin_1=require("@ohos/hvigor-ohos-plugin"),property_get_1=require("@ohos/hvigor-ohos-plugin/src/sdk/lib/property-get"),property_const_1=require("@ohos/hvigor-ohos-plugin/src/const/property-const"),hvigor_1=require("@ohos/hvigor"),ascf_toolkit_1=__importDefault(require("@atomicservice/ascf-toolkit")),child_process_1=require("child_process"),path_1=__importDefault(require("path")),fs_1=__importDefault(require("fs")),os_1=__importDefault(require("os")),common_enum_1=require("../common/common-enum"),common_utils_1=require("../common/common-utils"),modifyShareInfoPlugin_1=require("./modifyShareInfoPlugin"),installAscfHspPlugin_1=require("./installAscfHspPlugin"),logger=hvigor_1.HvigorLogger.getLogger("ascfPlugin"),DEFAULT_OPTIONS={fixSharedHsp:!0,installAscfHsp:!0,debug:!0,compilerOptions:{swc:!1},skipAscfCompile:!1,skipApiValidator:!0};function ascfToolkitHvigorBuildNpm(e){e.registerTask({name:"buildNpm",run(){logger.debug("start exec ascf buildNpm");const o=e.getContext(hvigor_ohos_plugin_1.OhosPluginId.OHOS_APP_PLUGIN);ascf_toolkit_1.default.buildNpm(o.getProjectPath()),logger.debug("ascf buildNpm completed")}})}function ascfToolkitHvigorPlugin(e){return{pluginId:"ascfToolkitHvigorPlugin",apply(o){const t=getProjectConfigJson(o.getContext(hvigor_ohos_plugin_1.OhosPluginId.OHOS_APP_PLUGIN).getProjectPath()),i=(0,common_utils_1.deepMerge)(DEFAULT_OPTIONS,t,e);hvigor_1.hvigor.nodesEvaluated((()=>__awaiter(this,void 0,void 0,(function*(){var e;yield execPlugin(i,o);try{if(hvigor_1.hvigor.isCommandEntryTask("GetHvigorDepsCachesDir"))o.registerTask({name:"GetHvigorDepsCachesDir",run(){console.log("ASCF_GET_HVIGOR_DEPS_CACHES_DIR="+ascf_toolkit_1.default.getAscfToolkitDirname())}});else if(hvigor_1.hvigor.isCommandEntryTask("buildNpm"))ascfToolkitHvigorBuildNpm(o);else{if(i.skipAscfCompile)return;(null===(e=hvigor_1.hvigor.getCommandEntryTask())||void 0===e?void 0:e.length)||(logger.debug("start exec ascf quickGenSub"),yield ascf_toolkit_1.default.quickGenerateSubpackage(),logger.debug("ascf quickGenSub completed"));const t=o.getContext(hvigor_ohos_plugin_1.OhosPluginId.OHOS_APP_PLUGIN);o.subNodes((e=>{const o=e.getContext(hvigor_ohos_plugin_1.OhosPluginId.OHOS_HAP_PLUGIN);o&&"entry"===o.getModuleType()&&e.registerTask({name:"ascfCompile",run(){return __awaiter(this,void 0,void 0,(function*(){var e;logger.debug("start exec ascf compile");const o=t.getBuildMode();let r=`${getNodeExe()} ${getAscfScript()} compile -c ${"debug"===o?"-m":""} ${t.getProjectPath()}`;const n=logger.getLevel().levelStr.toLowerCase();i.debug&&n===common_enum_1.LogLevel.DEBUG&&(r+=" --debug"),i.compilerOptions.swc&&(r+=" --swc");const s=null===(e=i.devtool)||void 0===e?void 0:e.toLowerCase();s&&(r+=` --devtool=${s}`);r+=` --logging=${(i.logging?i.logging:n).toLowerCase()}`,i.templateHoist&&(r+=" --templateHoist"),r+=` --skipApiValidator=${i.skipApiValidator}`,logger.debug(r),yield executeCommand(r,n),logger.debug("ascf compile completed")}))},dependencies:["default@PreBuild"],postDependencies:["assembleHap"]})}))}}catch(e){logger.errorExit(new Error(String(e)))}}))))}}}function execPlugin(e,o){return __awaiter(this,void 0,void 0,(function*(){const t=hvigor_1.hvigor.getNodeByName("entry");t&&e.fixSharedHsp&&(yield(0,modifyShareInfoPlugin_1.doModifyShareInfoPlugin)(t).catch((e=>logger.error(e)))),t&&e.installAscfHsp&&(yield(0,installAscfHspPlugin_1.doInstallAscfHspPlugin)(o).catch((e=>logger.error(e))))}))}function getProjectConfigJson(e){const o=path_1.default.join(e,"ascf","ascf_src","ascf.config.json");if(fs_1.default.existsSync(o)){const e=(0,common_utils_1.readJson)(o);return logger.debug(`project json is ${JSON.stringify(e)}`),e}return logger.debug(`${o} is not Exists`),{}}function executeCommand(e,o){return new Promise(((t,i)=>{(0,child_process_1.exec)(e,((e,r,n)=>{printLogger(r,o),e?i(e):t(r)}))}))}function printLogger(e,o){0!==e.length&&(o===common_enum_1.LogLevel.INFO?logger.info(`ASCF compiler log:\n${e}`):o===common_enum_1.LogLevel.WARN?logger.warn(`ASCF compiler log:\n${e}`):o===common_enum_1.LogLevel.ERROR?logger.error(`ASCF compiler log:\n${e}`):logger.debug(`ASCF compiler log:\n${e}`))}function getNodeExe(){const e=(new property_get_1.Property).getProperty(property_const_1.PropertyConst.NPM_DIR),o=os_1.default.platform();let t="node";return"win32"===o?t=path_1.default.join(e,"node.exe"):"darwin"!==o&&"linux"!==o||(t=path_1.default.join(e,"node")),fs_1.default.existsSync(t)?adjustPathByPlatform(t):"node"}function getAscfScript(){return adjustPathByPlatform(path_1.default.join(ascf_toolkit_1.default.getAscfToolkitDirname(),"bin","ascf.js"))}function adjustPathByPlatform(e){return"win32"===os_1.default.platform()?`"${e}"`:e}
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,o,t,i){return new(t||(t=Promise))((function(r,n){function s(e){try{g(i.next(e))}catch(e){n(e)}}function l(e){try{g(i.throw(e))}catch(e){n(e)}}function g(e){var o;e.done?r(e.value):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(s,l)}g((i=i.apply(e,o||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=ascfToolkitHvigorPlugin;const hvigor_ohos_plugin_1=require("@ohos/hvigor-ohos-plugin"),property_get_1=require("@ohos/hvigor-ohos-plugin/src/sdk/lib/property-get"),property_const_1=require("@ohos/hvigor-ohos-plugin/src/const/property-const"),hvigor_1=require("@ohos/hvigor"),ascf_toolkit_1=__importDefault(require("@atomicservice/ascf-toolkit")),child_process_1=require("child_process"),path_1=__importDefault(require("path")),fs_1=__importDefault(require("fs")),os_1=__importDefault(require("os")),common_enum_1=require("../common/common-enum"),common_utils_1=require("../common/common-utils"),modifyShareInfoPlugin_1=require("./modifyShareInfoPlugin"),installAscfHspPlugin_1=require("./installAscfHspPlugin"),logger=hvigor_1.HvigorLogger.getLogger("ascfPlugin"),DEFAULT_OPTIONS={fixSharedHsp:!0,installAscfHsp:!0,debug:!0,compilerOptions:{swc:!1},skipAscfCompile:!1,skipApiValidator:!0};function ascfToolkitHvigorBuildNpm(e){e.registerTask({name:"buildNpm",run(){logger.info("start exec ascf buildNpm");const o=e.getContext(hvigor_ohos_plugin_1.OhosPluginId.OHOS_APP_PLUGIN);ascf_toolkit_1.default.buildNpm(o.getProjectPath()),logger.info("ascf buildNpm completed")}})}function ascfToolkitHvigorCli(e){e.registerTask({name:"ascf",run(){return __awaiter(this,void 0,void 0,(function*(){var e,o,t;const i=`${getNodeExe()} ${getAscfScript()} ${null!==(t=null===(o=null===(e=hvigor_1.hvigor.getParameter())||void 0===e?void 0:e.getExtParams())||void 0===o?void 0:o.args)&&void 0!==t?t:""}`;logger.info(`start exec ascf cli: ${i}`);try{yield executeCommand(i,logger.getLevel().levelStr.toLowerCase()),logger.info("ascf cli completed")}catch(e){logger.error("ascf cli error",e)}}))}})}function ascfToolkitHvigorPlugin(e){return{pluginId:"ascfToolkitHvigorPlugin",apply(o){const t=hvigor_1.hvigor.getParameter(),i=null==t?void 0:t.getExtParams(),r=getProjectConfigJson(o.getContext(hvigor_ohos_plugin_1.OhosPluginId.OHOS_APP_PLUGIN).getProjectPath()),n=(0,common_utils_1.deepMerge)(DEFAULT_OPTIONS,r,e,i);logger.debug(`ascfToolkitHvigorPlugin options: ${JSON.stringify(n)}`),hvigor_1.hvigor.nodesEvaluated((()=>__awaiter(this,void 0,void 0,(function*(){var e;yield execPlugin(n,o);try{if(hvigor_1.hvigor.isCommandEntryTask("GetHvigorDepsCachesDir"))o.registerTask({name:"GetHvigorDepsCachesDir",run(){console.log("ASCF_GET_HVIGOR_DEPS_CACHES_DIR="+ascf_toolkit_1.default.getAscfToolkitDirname())}});else if(hvigor_1.hvigor.isCommandEntryTask("buildNpm"))ascfToolkitHvigorBuildNpm(o);else if(hvigor_1.hvigor.isCommandEntryTask("ascf"))ascfToolkitHvigorCli(o);else{if(n.skipAscfCompile)return void logger.debug("skipAscfCompile");(null===(e=hvigor_1.hvigor.getCommandEntryTask())||void 0===e?void 0:e.length)||(logger.debug("start exec ascf quickGenSub"),yield ascf_toolkit_1.default.quickGenerateSubpackage(),logger.debug("ascf quickGenSub completed"));const t=o.getContext(hvigor_ohos_plugin_1.OhosPluginId.OHOS_APP_PLUGIN);o.subNodes((e=>{const o=e.getContext(hvigor_ohos_plugin_1.OhosPluginId.OHOS_HAP_PLUGIN);o&&"entry"===o.getModuleType()&&e.registerTask({name:"ascfCompile",run(){return __awaiter(this,void 0,void 0,(function*(){var e;logger.debug("start exec ascf compile");const o=t.getBuildMode();let i=`${getNodeExe()} ${getAscfScript()} compile -c ${"debug"===o?"-m":""} ${t.getProjectPath()}`;const r=logger.getLevel().levelStr.toLowerCase();n.debug&&r===common_enum_1.LogLevel.DEBUG&&(i+=" --debug"),n.compilerOptions.swc&&(i+=" --swc");const s=null===(e=n.devtool)||void 0===e?void 0:e.toLowerCase();s&&(i+=` --devtool=${s}`);i+=` --logging=${(n.logging?n.logging:r).toLowerCase()}`,n.templateHoist&&(i+=" --templateHoist"),i+=` --skipApiValidator=${n.skipApiValidator}`,i+=` --disableSubpackages=${n.disableSubpackages}`,logger.debug(i),yield executeCommand(i,r),logger.debug("ascf compile completed")}))},dependencies:["default@PreBuild"],postDependencies:["assembleHap"]})}))}}catch(e){logger.errorExit(new Error(String(e)))}}))))}}}function execPlugin(e,o){return __awaiter(this,void 0,void 0,(function*(){const t=hvigor_1.hvigor.getNodeByName("entry");t&&e.fixSharedHsp&&(yield(0,modifyShareInfoPlugin_1.doModifyShareInfoPlugin)(t).catch((e=>logger.error(e)))),t&&e.installAscfHsp&&(yield(0,installAscfHspPlugin_1.doInstallAscfHspPlugin)(o).catch((e=>logger.error(e))))}))}function getProjectConfigJson(e){const o=path_1.default.join(e,"ascf","ascf_src","ascf.config.json");if(fs_1.default.existsSync(o)){const e=(0,common_utils_1.readJson)(o);return logger.debug(`project json is ${JSON.stringify(e)}`),e}return logger.debug(`${o} is not Exists`),{}}function executeCommand(e,o){return new Promise(((t,i)=>{var r,n;const s=(0,child_process_1.exec)(e);null===(r=s.stdout)||void 0===r||r.on("data",(e=>{printLogger(e,o)})),null===(n=s.stderr)||void 0===n||n.on("error",(e=>{i(e)})),s.on("close",(e=>{t(e)}))}))}function printLogger(e,o){0!==e.length&&(o===common_enum_1.LogLevel.INFO?logger.info(`ASCF compiler log:\n${e}`):o===common_enum_1.LogLevel.WARN?logger.warn(`ASCF compiler log:\n${e}`):o===common_enum_1.LogLevel.ERROR?logger.error(`ASCF compiler log:\n${e}`):logger.debug(`ASCF compiler log:\n${e}`))}function getNodeExe(){const e=(new property_get_1.Property).getProperty(property_const_1.PropertyConst.NPM_DIR),o=os_1.default.platform();let t="node";return"win32"===o?t=path_1.default.join(e,"node.exe"):"darwin"!==o&&"linux"!==o||(t=path_1.default.join(e,"node")),fs_1.default.existsSync(t)?adjustPathByPlatform(t):"node"}function getAscfScript(){return adjustPathByPlatform(path_1.default.join(ascf_toolkit_1.default.getAscfToolkitDirname(),"bin","ascf.js"))}function adjustPathByPlatform(e){return"win32"===os_1.default.platform()?`"${e}"`:e}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomicservice/ascf-toolkit-hvigor-plugin",
3
- "version": "1.0.4-beta.0",
3
+ "version": "1.0.5-beta.4",
4
4
  "title": "ASCF toolkit hvigor plugin for atomicservice",
5
5
  "description": "ASCF toolkit hvigor plugin for atomicservice",
6
6
  "main": "index.ts",
@@ -15,7 +15,7 @@
15
15
  "gulp-terser": "2.1.0"
16
16
  },
17
17
  "dependencies": {
18
- "@atomicservice/ascf-toolkit": "1.0.4-beta.0"
18
+ "@atomicservice/ascf-toolkit": "1.0.5-beta.4"
19
19
  },
20
20
  "scripts": {
21
21
  "test": "echo \"Error: no test specified\" && exit 1",