fix(node modules): spdlog watchdog

This commit is contained in:
msojocs 2022-01-29 15:28:34 +08:00
parent 13a48fc62d
commit 7d2aac91ed
10 changed files with 59 additions and 42 deletions

View File

@ -54,8 +54,15 @@ jobs:
name: 'release-${{ github.ref_name }}' name: 'release-${{ github.ref_name }}'
- name: Release - name: Release
uses: fnkr/github-action-ghr@v1 uses: Wandalen/wretry.action@v1.0.11
if: startsWith(github.ref, 'refs/tags/') if: startsWith(github.ref, 'refs/tags/')
with:
action: fnkr/github-action-ghr@v1
with: |
node-version: 14.x
architecture: x64
attempt_limit: 3
attempt_delay: 2000
env: env:
GHR_COMPRESS: xz GHR_COMPRESS: xz
GHR_PATH: /github/workspace GHR_PATH: /github/workspace

1
.gitignore vendored
View File

@ -8,3 +8,4 @@ tmp/
mew/ mew/
node_modules node_modules
test/mini-ci test/mini-ci
crash-server

View File

@ -1,27 +1,25 @@
#!/bin/bash #!/bin/bash
SOURCE="${BASH_SOURCE[0]}" root_dir=$(cd `dirname $0`/.. && pwd -P)
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
cd $DIR/.. export WECHAT_DEVTOOLS_DIR="$root_dir/nwjs"
export WECHAT_DEVTOOLS_DIR="$DIR/../nwjs"
export APPDATA="$( echo ~ )/.config/wechat_devtools" export APPDATA="$( echo ~ )/.config/wechat_devtools"
export PATH="$DIR/../wine:$DIR/../node/bin:$DIR/../nwjs:$PATH" export PATH="$root_dir/wine:$root_dir/node/bin:$root_dir/nwjs:$PATH"
# LANG=zh_CN.UTF-8 exec "$DIR"/../nwjs/nw --load-extension="$DIR"/../nwjs/package.nw/js/ideplugin "$@" # LANG=zh_CN.UTF-8 exec "$DIR"/../nwjs/nw --load-extension="$DIR"/../nwjs/package.nw/js/ideplugin "$@"
EXTENSION1="--load-extension=$DIR/../nwjs/package.nw/js/ideplugin" EXTENSION1="--load-extension=$root_dir/nwjs/package.nw/js/ideplugin"
EXTENSION2="--load-extension=$( echo ~ )/.config/wechat_devtools/WeappPlugin" # 调试器AppData与Storage可用 EXTENSION2="--load-extension=$( echo ~ )/.config/wechat_devtools/WeappPlugin" # 调试器AppData与Storage可用
INSPECTOR1="--custom-devtools-frontend=$DIR/../nwjs/package.nw/js/ideplugin/inspector" INSPECTOR1="--custom-devtools-frontend=file://$root_dir/package.nw/js/ideplugin/inspector" # 要加file://指明为本地文件路径
INSPECTOR2="--custom-devtools-frontend=$( echo ~ )/.config/wechat_devtools/WeappPlugin/inspector" INSPECTOR2="--custom-devtools-frontend=file://$( echo ~ )/.config/wechat_devtools/WeappPlugin/inspector/"
USERDATADIR="$( echo ~ )/.config/wechat_devtools" USERDATADIR="$( echo ~ )/.config/wechat_devtools"
# "$@"参数 # "$@"参数
LANG=zh_CN.UTF-8 LANG=zh_CN.UTF-8
exec "$DIR"/../nwjs/nw $DIR/../package.nw $EXTENSION2 $INSPECTOR2 --user-data-dir=tmp/data "$@" "$root_dir/nwjs/nw" $root_dir/package.nw $EXTENSION2 $INSPECTOR2 --crash --crash-dumps-dir=/mnt/disk1/GitHub/wechat-devtools/tmp --remote-debugging-port=9999 "$@"
# https://crashpad.chromium.org/doxygen/classcrashpad_1_1InitialClientData.html#details
# "$root_dir/nwjs/nw" --type=crashpad-handler "--user-data-dir=$USERDATADIR" /prefetch:7 --monitor-self --monitor-self-argument=--type=crashpad-handler "--monitor-self-argument=--user-data-dir=$USERDATADIR" --monitor-self-argument=/prefetch:7 --monitor-self-annotation=ptype=crashpad-handler "--database=$USERDATADIR/Crashpad" "--metrics-dir=$USERDATADIR" --annotation=plat=Linux --annotation=prod=微信开发者工具 --annotation=ver=1.05.2201240 --initial-client-data=0x220,0x224,0x228,0x1fc,0x22c,0x7ffae66ebeb8,0x7ffae66ebec8,0x7ffae66ebed8 &
# "$root_dir/nwjs/nw" --type=crashpad-handler "--user-data-dir=$USERDATADIR" /prefetch:7 --no-periodic-tasks --monitor-self-annotation=ptype=crashpad-handler "--database=$USERDATADIR/Crashpad" --annotation=plat=Linux --annotation=prod=微信开发者工具 --annotation=ver=1.05.2201240 --initial-client-data=0x1b0,0x1b4,0x1b8,0x188,0x1c0,0x7ff67c6f8e50,0x7ff67c6f8e60,0x7ff67c6f8e70 &

View File

@ -4,6 +4,7 @@ services:
image: node:16.13.1 image: node:16.13.1
volumes: volumes:
- .:/workspace - .:/workspace
- ./cache/.npm:/root/.npm
environment: environment:
- ACTION=${ACTION_MODE:-false} - ACTION=${ACTION_MODE:-false}
- https_proxy=${https_proxy:-} - https_proxy=${https_proxy:-}

View File

@ -22,11 +22,21 @@ fail() {
echo "start" echo "start"
python --version python --version
node --version node --version
# export http_proxy="http://192.168.249.236:7890"
ACTION_MODE=$( export ACTION_MODE ) ACTION_MODE=$( export ACTION_MODE )
if [ $ACTION_MODE!='true' ]; then if [ $ACTION_MODE!='true' ]; then
npm set registry https://r.npm.taobao.org # 注册模块镜像 npm set registry https://r.npm.taobao.org # 注册模块镜像
npm set disturl https://npm.taobao.org/dist # node-gyp 编译依赖的 node 源码镜像 npm set disturl https://npm.taobao.org/dist # node-gyp 编译依赖的 node 源码镜像
## 以下选择添加
npm set sass_binary_site https://npm.taobao.org/mirrors/node-sass # node-sass 二进制包镜像
npm set electron_mirror https://npm.taobao.org/mirrors/electron/ # electron 二进制包镜像
npm set puppeteer_download_host https://npm.taobao.org/mirrors # puppeteer 二进制包镜像
npm set chromedriver_cdnurl https://npm.taobao.org/mirrors/chromedriver # chromedriver 二进制包镜像
npm set operadriver_cdnurl https://npm.taobao.org/mirrors/operadriver # operadriver 二进制包镜像
npm set phantomjs_cdnurl https://npm.taobao.org/mirrors/phantomjs # phantomjs 二进制包镜像
npm set selenium_cdnurl https://npm.taobao.org/mirrors/selenium # selenium 二进制包镜像
npm set node_inspector_cdnurl https://npm.taobao.org/mirrors/node-inspector # node-inspector 二进制包镜像
npm cache clean --force # 清空缓存 npm cache clean --force # 清空缓存
echo "\ echo "\
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free\ deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free\
@ -60,5 +70,4 @@ node-gyp list
# end test # end test
cd /workspace cd /workspace
# export https_proxy="http://192.168.249.236:7890"
exec ./tools/setup-wechat-devtools-bash exec ./tools/setup-wechat-devtools-bash

View File

@ -14,7 +14,7 @@
# 使用方法 # 使用方法
可以在本项目的[发布](https://github.com/dragonation/wechat-devtools/releases)中,寻找已经构筑好了的`.tar.gz`包(发布里也有度盘链接),下载解压后,运行其中的`bin/wechat-devtools`即可运行。 可以在本项目的[发布](https://github.com/jiyeme/wechat-devtools/releases)中,寻找已经构筑好了的`.tar.gz`包(发布里也有度盘链接),下载解压后,运行其中的`bin/wechat-devtools`即可运行。
gitee上原来我也想放发布包的但是文件太大了附件最大只允许100M而且总体积不能超过1G。所以目前暂时先只放github如果大家发现下载速度慢的话可以考虑科学上网或者度盘链接速度快也稳定上传和下载。 gitee上原来我也想放发布包的但是文件太大了附件最大只允许100M而且总体积不能超过1G。所以目前暂时先只放github如果大家发现下载速度慢的话可以考虑科学上网或者度盘链接速度快也稳定上传和下载。
@ -44,6 +44,8 @@ Docker容器启动方法
# 构筑方法0推荐支持断点续传 # 构筑方法0推荐支持断点续传
理论上此方法99%成功;在网络不稳定时容易失败(原因懂得都懂)
1. 请先在Linux环境中自行安装`wine``wine-binfmt` 1. 请先在Linux环境中自行安装`wine``wine-binfmt`
2. 请安装`docker` `docker-compose` 2. 请安装`docker` `docker-compose`
3. 克隆本项目: 3. 克隆本项目:
@ -63,6 +65,8 @@ docker-compose up
# 构筑方法1支持断点续传 # 构筑方法1支持断点续传
由于使用到`node-gyp`,此方法会受`python``node`版本影响出现一些难以预料的异常(比如使用`node15.0.1`时,大部分模块构建会被忽略,但没有任何报错信息)。但是,`Docker`构建方式会帮你处理好这些问题。
1. 请先在Linux环境中自行安装`wine``wine-binfmt` 1. 请先在Linux环境中自行安装`wine``wine-binfmt`
2. 请安装nodejs并配置到PATH环境变量中; 2. 请安装nodejs并配置到PATH环境变量中;
3. 克隆本项目: 3. 克隆本项目:
@ -73,10 +77,6 @@ git clone https://github.com/jiyeme/wechat-devtools.git
``` ```
./tools/setup-wechat-devtools-bash ./tools/setup-wechat-devtools-bash
``` ```
或者
```
./tools/setup-wechat-devtools-node
```
5. 在本地项目目录中执行如下的语句,可以安装应用图标(非必须): 5. 在本地项目目录中执行如下的语句,可以安装应用图标(非必须):
``` ```
./tools/install-desktop-icon-node ./tools/install-desktop-icon-node
@ -84,7 +84,7 @@ git clone https://github.com/jiyeme/wechat-devtools.git
之后即可通过点击应用图标启动微信开发者工具,也可以运行`bin/wechat-devtools`通过命令行启动 之后即可通过点击应用图标启动微信开发者工具,也可以运行`bin/wechat-devtools`通过命令行启动
# 构筑方法2 # 构筑方法2 (不再维护,未来将被移除)
1. 请先在Linux环境中自行安装`wine``wine-binfmt` 1. 请先在Linux环境中自行安装`wine``wine-binfmt`
2. 请到[Mewchan第三方仓库](https://github.com/wangjunjie1996/-.git)上下载最新的运行时, 2. 请到[Mewchan第三方仓库](https://github.com/wangjunjie1996/-.git)上下载最新的运行时,
@ -119,7 +119,7 @@ git clone https://github.com/jiyeme/wechat-devtools.git
# 后续计划 # 后续计划
1. 增加Docker镜像的稳定性对Host要求比较高 1. 增加Docker镜像的稳定性对Host要求比较高
2. `rebuild-node-modules`工具也改为`mew_js`代码 2. [处理计划](https://github.com/jiyeme/wechat-devtools/projects?type=beta)
# FAQ # FAQ
[GO](docs/FAQ.MD) [GO](docs/FAQ.MD)

11
test/fix-watchdog Normal file
View File

@ -0,0 +1,11 @@
#!/bin/bash
root_dir=$(cd `dirname $0`/.. && pwd -P)
export PATH="$root_dir/node/bin:$PATH"
cd "$root_dir/tmp"
mkdir node_test
cd node_test
npm install native-watchdog --save
rm -rf "$root_dir/package.nw/node_modules/native-watchdog"
cp -f "$root_dir/node_modules/native-watchdog" "$root_dir/package.nw/node_modules"

View File

@ -1,11 +1,5 @@
#!/usr/bin/env node #!/usr/bin/env node
console.log("12312") const sl = require("spdlog")
// console.log(process.platform); // linux console.log(sl)
// const cmdPaths = []; // sl.setAsyncMode(5000, 1000);
// cmdPaths.push("/System/Applications/Utilities/Terminal.app",
// "/Applications/Utilities/Terminal.app"
// )
// console.log(cmdPaths);
console.log(process.env.comspec)

View File

@ -1,6 +0,0 @@
#!/bin/bash
root_dir=$(cd `dirname $0`/.. && pwd -P)
export comspec="/bin/bash"
echo "test"
exec $root_dir/test/test

View File

@ -32,6 +32,7 @@ cp -fr "${package_dir}/node_modules" "${package_dir}/node_modules_tmp/node_modul
rm -fr "${package_dir}/node_modules_tmp/node_modules/node-pty-node" rm -fr "${package_dir}/node_modules_tmp/node_modules/node-pty-node"
rm -fr "${package_dir}/node_modules_tmp/node_modules/oniguruma-node" rm -fr "${package_dir}/node_modules_tmp/node_modules/oniguruma-node"
rm -fr "${package_dir}/node_modules_tmp/node_modules/spdlog"
rm -fr "${package_dir}/node_modules_tmp/node_modules/spdlog-node" rm -fr "${package_dir}/node_modules_tmp/node_modules/spdlog-node"
# npm install @vscode/ripgrep --registry=https://registry.npm.taobao.org # npm install @vscode/ripgrep --registry=https://registry.npm.taobao.org
@ -39,15 +40,13 @@ rm -fr "${package_dir}/node_modules_tmp/node_modules/spdlog-node"
(cd "${package_dir}/node_modules_tmp" && npm install \ (cd "${package_dir}/node_modules_tmp" && npm install \
extract-file-icon \ extract-file-icon \
native-keymap \ native-keymap \
native-watchdog \
node-pty \ node-pty \
oniguruma \ oniguruma \
spdlog \ spdlog@0.11.1 \
trash \ trash \
vscode-oniguruma \ vscode-oniguruma \
vscode-ripgrep \ vscode-ripgrep \
nodegit \ nodegit \
--registry=https://registry.npm.taobao.org \
--nodegit_binary_host_mirror=https://npm.taobao.org/mirrors/nodegit/v0.27.0/) # reinstall modules --nodegit_binary_host_mirror=https://npm.taobao.org/mirrors/nodegit/v0.27.0/) # reinstall modules
(cp -fr "${package_dir}/node_modules_tmp/node_modules/node-pty" "${package_dir}/node_modules_tmp/node_modules/node-pty-node") (cp -fr "${package_dir}/node_modules_tmp/node_modules/node-pty" "${package_dir}/node_modules_tmp/node_modules/node-pty-node")
@ -59,6 +58,9 @@ rm -fr "${package_dir}/node_modules_tmp/node_modules/spdlog-node"
mkdir -p "${package_dir}/node_modules/vscode-ripgrep/bin" mkdir -p "${package_dir}/node_modules/vscode-ripgrep/bin"
cp -fr "${package_dir}/node_modules_tmp/node_modules/vscode-ripgrep/bin/rg" "${package_dir}/node_modules/vscode-ripgrep/bin/rg" cp -fr "${package_dir}/node_modules_tmp/node_modules/vscode-ripgrep/bin/rg" "${package_dir}/node_modules/vscode-ripgrep/bin/rg"
cd "${package_dir}/node_modules_tmp" && npm install native-watchdog --save
rm -rf "${package_dir}/node_modules/native-watchdog" && cp -fr "${package_dir}/node_modules_tmp/node_modules/native-watchdog" "${package_dir}/node_modules"
rm -rf "${package_dir}/node_modules_tmp" rm -rf "${package_dir}/node_modules_tmp"
# 移除旧配置 # 移除旧配置