From 6bbf495ad9f5dcbf16cca2cf794ceac80cb33b0c Mon Sep 17 00:00:00 2001 From: scarqin Date: Sun, 22 May 2022 20:27:07 +0800 Subject: [PATCH] fix: module installer error after pack (#36) --- package-lock.json | 168 +++++++++++++++++- package.json | 6 +- src/app/electron-main/main.ts | 1 - .../node/extension-manager/lib/handler.ts | 9 +- .../detail/extension-detail.component.ts | 3 +- tsconfig.json | 3 +- 6 files changed, 172 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9f9d8d9e1..07e504bf4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "eoapi", - "version": "0.0.6-beta", + "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -705,7 +705,7 @@ }, "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, "optional": true @@ -867,13 +867,13 @@ }, "buffer-equal": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/buffer-equal/-/buffer-equal-1.0.0.tgz", "integrity": "sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==", "dev": true }, "buffer-fill": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/buffer-fill/-/buffer-fill-1.0.0.tgz", "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "dev": true }, @@ -1017,7 +1017,7 @@ }, "chromium-pickle-js": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "resolved": "https://registry.npmmirror.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", "dev": true }, @@ -1234,6 +1234,11 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "default-shell": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/default-shell/-/default-shell-1.0.1.tgz", + "integrity": "sha1-dSMEvdxhdPSespy5iP7qC4gTyLw=" + }, "defer-to-connect": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", @@ -1968,6 +1973,62 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, + "execa": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.5.1.tgz", + "integrity": "sha1-3j+4XLjW6RyFvLzrFkWBeFy1ezY=", + "requires": { + "cross-spawn": "^4.0.0", + "get-stream": "^2.2.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, "extract-zip": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", @@ -2109,6 +2170,14 @@ "locate-path": "^2.0.0" } }, + "fix-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fix-path/-/fix-path-3.0.0.tgz", + "integrity": "sha512-opGAl4+ip5jUikHR2C8Jo7czZ80pz8EK/0gMlAZu7xgDmBqIynlX8SMYg9KowYjAU6HT0nxsSJEWru0u+n+N2Q==", + "requires": { + "shell-path": "^2.1.0" + } + }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -2687,6 +2756,11 @@ "call-bind": "^1.0.2" } }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, "is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -3244,6 +3318,26 @@ } } }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + } + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, "object-inspect": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", @@ -3308,6 +3402,11 @@ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", "dev": true }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -3423,6 +3522,19 @@ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, "plist": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz", @@ -3472,6 +3584,11 @@ "dev": true, "optional": true }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -3763,6 +3880,39 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, + "shell-env": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shell-env/-/shell-env-0.3.0.tgz", + "integrity": "sha1-IlAzkCKYkWW9pOt784Ov6qqS3DQ=", + "requires": { + "default-shell": "^1.0.0", + "execa": "^0.5.0", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "shell-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/shell-path/-/shell-path-2.1.0.tgz", + "integrity": "sha1-6n0GrhBwh0obrFxlu5vdYuT2ejg=", + "requires": { + "shell-env": "^0.3.0" + } + }, "shell-quote": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", @@ -3783,8 +3933,7 @@ "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "slash": { "version": "3.0.0", @@ -3946,6 +4095,11 @@ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", diff --git a/package.json b/package.json index dc97de28a..a8779cf69 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "electron:serve": "wait-on tcp:4200 && npm run electron:dev", "electron:dev:static": "npm run electron:tsc && electron .", "electron:dev": "npm run electron:tsc && electron . --development", - "build": "npm-run-all -p build:* && npm run electron:tsc && electron-builder build", + "build": "npm-run-all -p build:* && npm run build:static", + "build:static": "npm run electron:tsc && electron-builder build", "release": "npm-run-all -p build:* && npm run electron:tsc && electron-builder --publish=always", "test": "npm-run-all --serial test:*", "electron:tsc": "tsc -p tsconfig.json" @@ -37,7 +38,8 @@ "ky": "0.30.0", "resolve": "^1.22.0", "rxjs": "7.5.5", - "xml2js": "^0.4.23" + "xml2js": "^0.4.23", + "fix-path": "3.0.0" }, "devDependencies": { "@types/cross-spawn": "6.0.2", diff --git a/src/app/electron-main/main.ts b/src/app/electron-main/main.ts index c40f55433..96e137904 100644 --- a/src/app/electron-main/main.ts +++ b/src/app/electron-main/main.ts @@ -51,7 +51,6 @@ function createWindow(): BrowserWindow { ? 'http://localhost:4200' : `file://${path.join(__dirname, '../../workbench/browser/dist/index.html')}`; win.loadURL(file); - console.log('processEnv', processEnv); if (['development'].includes(processEnv)) { win.webContents.openDevTools({ mode: 'undocked', diff --git a/src/platform/node/extension-manager/lib/handler.ts b/src/platform/node/extension-manager/lib/handler.ts index 6c892cfde..0ebcd2359 100644 --- a/src/platform/node/extension-manager/lib/handler.ts +++ b/src/platform/node/extension-manager/lib/handler.ts @@ -1,3 +1,4 @@ +let fixPath=require('fix-path'); import * as path from 'path'; import { ModuleHandlerOptions, ModuleHandlerResult } from '../types'; import { fileExists, writeJson } from '../../../../shared/node/file'; @@ -7,6 +8,7 @@ import * as spawn from 'cross-spawn'; * 本地模块管理器 * @class ModuleHandler */ +fixPath(); export class ModuleHandler extends CoreHandler { /** * 模块安装源地址 @@ -80,8 +82,8 @@ export class ModuleHandler extends CoreHandler { * @param modules */ private async execCommand(command: string, modules: string[]): Promise { - return await new Promise((resolve: any): void => { - let args = [command].concat(modules).concat('--color=always').concat('--save'); + return await new Promise((resolve: any, reject: any): void => { + let args = [command].concat(modules).concat('--color=always', '--save'); if (!['link', 'unlink', 'uninstall'].includes(command)) { if (this.registry) { args = args.concat(`--registry=${this.registry}`); @@ -90,16 +92,13 @@ export class ModuleHandler extends CoreHandler { args = args.concat(`--proxy=${this.proxy}`); } } - console.log(args); const npm = spawn('npm', args, { cwd: this.baseDir }); let output = ''; - // @ts-ignore npm.stdout .on('data', (data: string) => { output += data; }) .pipe(process.stdout); - // @ts-ignore npm.stderr .on('data', (data: string) => { output += data; diff --git a/src/workbench/browser/src/app/pages/extension/detail/extension-detail.component.ts b/src/workbench/browser/src/app/pages/extension/detail/extension-detail.component.ts index 576691b07..6866e1a4d 100644 --- a/src/workbench/browser/src/app/pages/extension/detail/extension-detail.component.ts +++ b/src/workbench/browser/src/app/pages/extension/detail/extension-detail.component.ts @@ -19,6 +19,7 @@ export class ExtensionDetailComponent implements OnInit { } manageExtension(operate: string, id) { this.isOperating = true; + console.log(this.isOperating) /** * * WARNING:Sending a synchronous message will block the whole * renderer process until the reply is received, so use this method only as a last @@ -35,7 +36,7 @@ export class ExtensionDetailComponent implements OnInit { } } this.isOperating = false; - }, 0); + }, 100); } ngOnInit(): void {} } diff --git a/tsconfig.json b/tsconfig.json index 2ad2f39f2..f1b71ca7d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,8 +10,7 @@ "types": ["node"], "lib": ["es2017", "es2016", "es2015", "dom"], "baseUrl": "./", - "paths": { - } + "paths": {} }, "include": ["**/**.ts"], "exclude": ["node_modules", "**/*.spec.ts", "**/browser/**/*.ts"],