using esrun for webpack and fix package arch problem

pull/294/head
Jin 2024-08-09 22:23:54 +07:00
parent 42e3f126e4
commit 62e483a21a
5 changed files with 1404 additions and 572 deletions

@ -21,7 +21,7 @@ env:
jobs:
build_darwin:
name: Build macOS
name: Build macOS (x86_64, arm64)
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
@ -31,31 +31,36 @@ jobs:
node-version: 20
cache: "npm"
- run: npm ci
- name: Run installer build (x86_64)
- run: |
npm run update-build-info
npm run make-electron
npm run make-electron -- --arch="x64"
- name: Publish zip artifact (x86_64)
uses: actions/upload-artifact@v4
with:
name: TriliumNext Notes for MacOS (x86_64)
path: out/make/darwin/x64/*.zip
- name: Publish zip artifact (arm64)
uses: actions/upload-artifact@v4
with:
name: TriliumNext Notes for MacOS (arm64)
path: out/make/darwin/arm64/*.zip
path: out/make/zip/darwin/x64/*.zip
- name: Publish installer artifact (x86_64)
uses: actions/upload-artifact@v4
with:
name: TriliumNext Notes for MacOS (Setup) (x86_64)
path: out/make/dmg/x64/*.dmg
path: out/make/*-x64.dmg
- name: Run installer build (arm64)
- run: |
npm run update-build-info
npm run make-electron -- --arch="arm64"
- name: Publish zip artifact (arm64)
uses: actions/upload-artifact@v4
with:
name: TriliumNext Notes for MacOS (arm64)
path: out/make/zip/darwin/arm64/*.zip
- name: Publish installer artifact (arm64)
uses: actions/upload-artifact@v4
with:
name: TriliumNext Notes for MacOS (Setup) (arm64)
path: out/make/dmg/arm64/*.dmg
build_linux-x64:
name: Build Linux x86_64
path: out/make/*-arm64.dmg
build_linux:
name: Build Linux (x86_64, arm64)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@ -65,20 +70,34 @@ jobs:
node-version: 20
cache: "npm"
- run: npm ci
- name: Run installer build
- name: Run installer build (x86_64)
run: |
npm run update-build-info
npm run make-electron
- name: Publish zip artifact
npm run make-electron -- --arch="x64"
- name: Publish zip artifact (x86_64)
uses: actions/upload-artifact@v4
with:
name: TriliumNext Notes for Linux
path: out/make/zip/linux/x64/*.zip
- name: Publish installer artifact
- name: Publish installer artifact (x86_64)
uses: actions/upload-artifact@v4
with:
name: TriliumNext Notes for Linux (Setup)
path: out/make/deb/x64/*.deb
- name: Run installer build (arm64)
run: |
npm run update-build-info
npm run make-electron -- --arch="arm64"
- name: Publish zip artifact (arm64)
uses: actions/upload-artifact@v4
with:
name: TriliumNext Notes for Linux
path: out/make/zip/linux/arm64/*.zip
- name: Publish installer artifact (arm64)
uses: actions/upload-artifact@v4
with:
name: TriliumNext Notes for Linux (Setup)
path: out/make/deb/arm64/*.deb
build_linux_server-x64:
name: Build Linux Server x86_64
runs-on: ubuntu-latest

@ -13,7 +13,12 @@ module.exports = {
afterComplete: [(buildPath, electronVersion, platform, arch, callback) => {
const extraResources = getExtraResourcesForPlatform();
for (const resource of extraResources) {
const sourcePath = path.join(buildPath, 'resources', path.basename(resource));
let sourcePath;
if (platform === 'darwin') {
sourcePath = path.join(buildPath, 'TriliumNextNotes.app', 'Content', 'Resources', path.basename(resource));
} else {
sourcePath = path.join(buildPath, 'resources', path.basename(resource));
}
const destPath = path.join(buildPath, path.basename(resource));
// Copy files from resources folder to root
@ -29,7 +34,6 @@ module.exports = {
makers: [
{
name: '@electron-forge/maker-deb',
arch: ['x64', 'arm64'],
config: {
options: {
icon: "./images/app-icons/png/128x128.png",

@ -1,4 +0,0 @@
import { register } from "node:module";
import { pathToFileURL } from "node:url";
register("ts-node/esm", pathToFileURL("./"));

1910
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -33,7 +33,7 @@
"build-backend-docs": "rimraf ./docs/backend_api && ./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/backend_api src/becca/entities/*.js src/services/backend_script_api.js src/services/sql.js",
"build-frontend-docs": "rimraf ./docs/frontend_api && ./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/frontend_api src/public/app/entities/*.js src/public/app/services/frontend_script_api.js src/public/app/widgets/basic_widget.js src/public/app/widgets/note_context_aware_widget.js src/public/app/widgets/right_panel_widget.js",
"build-docs": "npm run build-backend-docs && npm run build-frontend-docs",
"webpack": "cross-env node --import ./loader-register.js node_modules/webpack/bin/webpack.js -c webpack.config.ts",
"webpack": "cross-env esrun node_modules/webpack -c webpack.config.ts",
"test-jasmine": "cross-env TRILIUM_DATA_DIR=./data-test tsx ./node_modules/.bin/jasmine",
"test-es6": "tsx -r esm spec-es6/attribute_parser.spec.ts",
"test": "npm run test-jasmine && npm run test-es6",
@ -164,6 +164,7 @@
"electron-packager": "17.1.2",
"electron-rebuild": "3.2.9",
"esm": "3.2.25",
"esrun": "^3.2.26",
"iconsur": "^1.7.0",
"jasmine": "5.1.0",
"jsdoc": "^4.0.3",