Fix macos-notification-state build issue (#2310)
* Fix macos-notification-state build issue * Fix windows build, a bit of cleanup
This commit is contained in:
parent
33da0afce5
commit
83b6c64cf3
|
@ -191,7 +191,7 @@ jobs:
|
|||
- run:
|
||||
name: Install nodejs-lts
|
||||
command: nvm off; choco install nodejs-lts -y
|
||||
- run: npm i -g node-gyp; node-gyp install
|
||||
- run: npm i -g node-gyp; node-gyp install; node-gyp install --devdir="$env:USERPROFILE\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers"
|
||||
- run: $env:PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = 1; npm ci
|
||||
- build:
|
||||
os: windows
|
||||
|
@ -269,7 +269,7 @@ jobs:
|
|||
- run:
|
||||
name: Install nodejs-lts
|
||||
command: nvm off; choco install nodejs-lts -y
|
||||
- run: npm i -g node-gyp; node-gyp install
|
||||
- run: npm i -g node-gyp; node-gyp install; node-gyp install --devdir="$env:USERPROFILE\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers"
|
||||
- run: $env:PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = 1; npm ci
|
||||
- build:
|
||||
os: windows
|
||||
|
|
|
@ -32,7 +32,6 @@
|
|||
]
|
||||
}
|
||||
],
|
||||
"beforePack": "scripts/beforepack.js",
|
||||
"afterPack": "scripts/afterpack.js",
|
||||
"afterSign": "scripts/notarize.js",
|
||||
"afterAllArtifactBuild": "scripts/afterbuild.js",
|
||||
|
|
1851
package-lock.json
generated
1851
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -27,7 +27,7 @@
|
|||
"build": "npm-run-all build:*",
|
||||
"build:main": "webpack-cli --config webpack.config.main.js",
|
||||
"build:renderer": "webpack-cli --config webpack.config.renderer.js",
|
||||
"build-robotjs": "cross-env CL='/std:c++17' electron-rebuild -v 21.1.0 -m ./node_modules/robotjs",
|
||||
"build-robotjs": "cross-env CL='/std:c++17' electron-rebuild -m ./node_modules/robotjs",
|
||||
"start": "electron dist/ --disable-dev-mode",
|
||||
"restart": "npm run build && npm run start",
|
||||
"storybook": "start-storybook -p 9001 -c src/.storybook",
|
||||
|
@ -69,7 +69,7 @@
|
|||
"prune": "ts-prune",
|
||||
"mmjstool": "mmjstool",
|
||||
"i18n-extract": "npm run mmjstool -- i18n extract-desktop",
|
||||
"postinstall": "electron-rebuild"
|
||||
"postinstall": "node scripts/patch_macos_notification_state.js && electron-builder install-app-deps"
|
||||
},
|
||||
"jest": {
|
||||
"clearMocks": true,
|
||||
|
@ -176,6 +176,7 @@
|
|||
"mochawesome": "7.1.3",
|
||||
"nan": "2.17.0",
|
||||
"node-abi": "3.26.0",
|
||||
"node-jq": "2.3.4",
|
||||
"node-loader": "2.0.0",
|
||||
"npm-run-all": "4.1.5",
|
||||
"playwright": "1.23.4",
|
||||
|
|
|
@ -515,6 +515,7 @@ function Run-BuildElectron {
|
|||
Print-Info "Installing nodejs/electron dependencies (running npm ci)..."
|
||||
npm i -g node-gyp
|
||||
node-gyp install
|
||||
node-gyp install --devdir="$env:USERPROFILE\.electron-gyp" --target=$(jq -r .devDependencies.electron package.json) --dist-url="https://electronjs.org/headers"
|
||||
npm ci
|
||||
#npm install --prefix="$(Get-RootDir)" "$(Get-RootDir)"
|
||||
Print-Info "Building nodejs/electron code (running npm run build)..."
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
const {exec} = require('child_process');
|
||||
|
||||
exports.default = async function beforePack(context) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const arch = getArch(context.arch);
|
||||
exec(`npm run postinstall -- --arch ${arch}`, (error) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
function getArch(arch) {
|
||||
switch (arch) {
|
||||
case 0:
|
||||
return 'ia32';
|
||||
case 1:
|
||||
return 'x64';
|
||||
case 2:
|
||||
return 'armv7l';
|
||||
case 3:
|
||||
return 'arm64';
|
||||
case 4:
|
||||
return 'universal';
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
15
scripts/patch_macos_notification_state.js
Normal file
15
scripts/patch_macos_notification_state.js
Normal file
|
@ -0,0 +1,15 @@
|
|||
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
const jq = require('node-jq');
|
||||
const fs = require('fs');
|
||||
|
||||
jq.run(
|
||||
'.scripts.install = "node-gyp rebuild"',
|
||||
'./node_modules/macos-notification-state/package.json',
|
||||
).then((result) => {
|
||||
fs.writeFileSync(
|
||||
'./node_modules/macos-notification-state/package.json',
|
||||
result,
|
||||
);
|
||||
});
|
Loading…
Reference in a new issue