move to neutralino + pnpm for building

ref #2
This commit is contained in:
Philipp Dormann 2023-03-27 15:05:36 +02:00
parent b8cd7f01aa
commit 4e42ef79e2
9 changed files with 1665 additions and 348 deletions

178
.gitignore vendored
View File

@ -1,175 +1,7 @@
# ---> Node
# Logs
logs
/bin
/dist
node_modules
.storage
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
# ---> Windows
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# ---> macOS
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
app.zip
/appcode
.tmp

View File

@ -1,3 +0,0 @@
# scanclient-electron
electron packaged scanclient

3
build--neutralino.js Normal file
View File

@ -0,0 +1,3 @@
const fs = require('fs');
fs.copyFileSync("./neutralino.js", "./appcode/dist/neutralino.js");

39
main.js
View File

@ -1,39 +0,0 @@
const { app, BrowserWindow } = require('electron');
const path = require('path');
function createWindow() {
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
fullscreen: true
// webPreferences: {
// preload: path.join(__dirname, 'preload.js')
// }
});
mainWindow.loadFile('appcode/dist/index.html');
// mainWindow.removeMenu();
// mainWindow.webContents.openDevTools()
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(() => {
createWindow();
app.on('activate', function() {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) createWindow();
});
});
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', function() {
if (process.platform !== 'darwin') app.quit();
});
// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.

64
neutralino.config.json Normal file
View File

@ -0,0 +1,64 @@
{
"$schema": "https://raw.githubusercontent.com/neutralinojs/neutralinojs/main/schemas/neutralino.config.schema.json",
"applicationId": "lfk.odit.services",
"version": "1.0.0",
"defaultMode": "window",
"port": 0,
"documentRoot": "/appcode/dist/",
"url": "/",
"enableServer": true,
"enableNativeAPI": true,
"tokenSecurity": "one-time",
"logging": {
"enabled": true,
"writeToLogFile": true
},
"nativeAllowList": [
"app.*",
"os.*",
"debug.log"
],
"modes": {
"window": {
"title": "LfK!Scan",
"width": 800,
"height": 500,
"minWidth": 400,
"minHeight": 400,
"fullScreen": true,
"alwaysOnTop": false,
"icon": "/appcode/dist/favicon.png",
"enableInspector": false,
"borderless": false,
"maximize": true,
"hidden": false,
"resizable": true,
"exitProcessOnClose": true
},
"browser": {
"globalVariables": {
"TEST": "Test value browser"
},
"nativeBlockList": [
"filesystem.*"
]
},
"chrome": {
"width": 800,
"height": 500,
"args": "--user-agent=\"Neutralinojs chrome mode\"",
"nativeBlockList": [
"filesystem.*",
"os.*"
]
}
},
"cli": {
"binaryName": "lfkscan",
"resourcesPath": "/appcode/",
"extensionsPath": "/extensions/",
"clientLibrary": "/appcode/dist/neutralino.js",
"binaryVersion": "4.10.0",
"clientVersion": "3.8.2"
}
}

1
neutralino.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,53 +1,18 @@
{
"name": "@lfk/scanclient-electron",
"version": "0.2.0",
"description": "minimal electron application",
"description": "minimal packaged lfkscan application",
"main": "main.js",
"scripts": {
"download": "node download.js",
"build": "yarn download && yarn electron:package",
"electron:start": "electron-forge start",
"electron:package": "electron-forge package"
"build": "neu update && node download.js && node build--neutralino.js && neu build"
},
"devDependencies": {
"@electron-forge/cli": "^6.0.0-beta.54",
"@electron-forge/maker-deb": "^6.0.0-beta.54",
"@electron-forge/maker-rpm": "^6.0.0-beta.54",
"@electron-forge/maker-squirrel": "^6.0.0-beta.54",
"@electron-forge/maker-zip": "^6.0.0-beta.54",
"@neutralinojs/neu": "^9.5.0",
"@taraus-he/tdunzip": "^1.0.4",
"axios": "^0.21.1",
"axios": "^1.3.4",
"download": "^8.0.0",
"electron-nightly": "14.0.0-nightly.20210319",
"extract-zip": "^2.0.1",
"js-file-downloader": "^1.1.16",
"js-file-downloader": "^1.1.24",
"unzip-stream": "^0.3.1"
},
"dependencies": {
"electron-squirrel-startup": "1.0.0"
},
"config": {
"forge": {
"packagerConfig": {},
"makers": [
{
"name": "@electron-forge/maker-zip",
"platforms": [
"darwin"
],
"config": {
"name": "lfk__scanclient"
}
},
{
"name": "@electron-forge/maker-deb",
"config": {}
},
{
"name": "@electron-forge/maker-rpm",
"config": {}
}
]
}
}
}
}

1586
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,92 +0,0 @@
{
"id": 112,
"tag_name": "0.1.1",
"target_commitish": "main",
"name": "0.1.1",
"body": "Husky 🐶\r\nCI build",
"url": "https://git.odit.services/api/v1/repos/lfk/scanclient/releases/112",
"html_url": "https://git.odit.services/lfk/scanclient/releases/tag/0.1.1",
"tarball_url": "https://git.odit.services/lfk/scanclient/archive/0.1.1.tar.gz",
"zipball_url": "https://git.odit.services/lfk/scanclient/archive/0.1.1.zip",
"draft": false,
"prerelease": false,
"created_at": "2021-03-19T17:51:46Z",
"published_at": "2021-03-19T17:51:46Z",
"author": {
"id": 2,
"login": "philipp",
"full_name": "Philipp Dormann",
"email": "philipp@philippdormann.de",
"avatar_url": "https://git.odit.services/user/avatar/philipp/-1",
"language": "en-US",
"is_admin": true,
"last_login": "2021-03-17T15:29:38Z",
"created": "2020-10-30T14:18:23Z",
"username": "philipp"
},
"assets": [
{
"id": 52,
"name": "sha512sum.txt",
"size": 143,
"download_count": 0,
"created_at": "2021-03-19T17:52:11Z",
"uuid": "acda3b63-6b2b-40f3-89d1-8cf2b255b18d",
"browser_download_url": "https://git.odit.services/attachments/acda3b63-6b2b-40f3-89d1-8cf2b255b18d"
},
{
"id": 51,
"name": "dist.zip",
"size": 99014,
"download_count": 1,
"created_at": "2021-03-19T17:52:11Z",
"uuid": "4b00c80a-ac17-4ad7-a5ba-5aed2e24b29a",
"browser_download_url": "https://git.odit.services/attachments/4b00c80a-ac17-4ad7-a5ba-5aed2e24b29a"
},
{
"id": 53,
"name": "adler32sum.txt",
"size": 25,
"download_count": 0,
"created_at": "2021-03-19T17:52:11Z",
"uuid": "a6183b19-71fc-485c-81f1-819d356f7526",
"browser_download_url": "https://git.odit.services/attachments/a6183b19-71fc-485c-81f1-819d356f7526"
},
{
"id": 54,
"name": "crc32sum.txt",
"size": 24,
"download_count": 0,
"created_at": "2021-03-19T17:52:11Z",
"uuid": "f39318ed-f92a-4fac-b5df-468cafd2df2f",
"browser_download_url": "https://git.odit.services/attachments/f39318ed-f92a-4fac-b5df-468cafd2df2f"
},
{
"id": 55,
"name": "md5sum.txt",
"size": 47,
"download_count": 0,
"created_at": "2021-03-19T17:52:11Z",
"uuid": "88601f1d-647a-40cc-ae44-55105eafa2f1",
"browser_download_url": "https://git.odit.services/attachments/88601f1d-647a-40cc-ae44-55105eafa2f1"
},
{
"id": 56,
"name": "sha1sum.txt",
"size": 55,
"download_count": 0,
"created_at": "2021-03-19T17:52:12Z",
"uuid": "04b67d7c-10f5-4e13-a11a-015eddf4591e",
"browser_download_url": "https://git.odit.services/attachments/04b67d7c-10f5-4e13-a11a-015eddf4591e"
},
{
"id": 57,
"name": "sha256sum.txt",
"size": 79,
"download_count": 0,
"created_at": "2021-03-19T17:52:12Z",
"uuid": "77252928-127c-4cb6-b69c-956c5b8c0708",
"browser_download_url": "https://git.odit.services/attachments/77252928-127c-4cb6-b69c-956c5b8c0708"
}
]
}