From 7e75da4d9479447d784b8a05b7c37cd6b7c11d3d Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Wed, 8 Nov 2023 15:31:24 +0100 Subject: [PATCH] make it work for build ready --- frontend/package-lock.json | 57 +++++++++++++++++++++++ frontend/package.json | 16 +++++++ frontend/public/index.html | 2 +- frontend/src/app.js | 5 +- frontend/src/components/notifications.vue | 1 + frontend/vue.config.js | 35 ++++++++++++++ 6 files changed, 112 insertions(+), 4 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index b586d8b..d4d4ba6 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,11 +8,14 @@ "name": "musicplayerv2", "version": "0.1.0", "hasInstallScript": true, + "license": "GPL-3.0-or-later", "dependencies": { "core-js": "^3.8.3", "cors": "^2.8.5", "csv-parser": "^3.0.0", + "electron-squirrel-startup": "^1.0.0", "express-session": "^1.17.3", + "jquery": "^3.7.1", "music-metadata": "^7.13.0", "node-fetch": "^2.7.0", "node-musickit-api": "^2.1.1", @@ -6615,6 +6618,27 @@ "node": ">=8" } }, + "node_modules/electron-squirrel-startup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz", + "integrity": "sha512-Oce8mvgGdFmwr+DsAcXBmFK8jFfN6yaFAP9IvyhTfupM3nFkBku/7VS/mdtJteWumImkC6P+BKGsxScoDDkv9Q==", + "dependencies": { + "debug": "^2.2.0" + } + }, + "node_modules/electron-squirrel-startup/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/electron-squirrel-startup/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/electron-to-chromium": { "version": "1.4.401", "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.401.tgz", @@ -8605,6 +8629,11 @@ "@sideway/pinpoint": "^2.0.0" } }, + "node_modules/jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" + }, "node_modules/js-message": { "version": "1.0.7", "resolved": "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz", @@ -19866,6 +19895,29 @@ } } }, + "electron-squirrel-startup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz", + "integrity": "sha512-Oce8mvgGdFmwr+DsAcXBmFK8jFfN6yaFAP9IvyhTfupM3nFkBku/7VS/mdtJteWumImkC6P+BKGsxScoDDkv9Q==", + "requires": { + "debug": "^2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, "electron-to-chromium": { "version": "1.4.401", "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.401.tgz", @@ -21461,6 +21513,11 @@ "@sideway/pinpoint": "^2.0.0" } }, + "jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" + }, "js-message": { "version": "1.0.7", "resolved": "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz", diff --git a/frontend/package.json b/frontend/package.json index e0ad58e..792b0fe 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,20 @@ { "name": "musicplayerv2", "version": "0.1.0", + "maintainers": [ + "Janis Hutz " + ], + "description": "A music player", + "homepage": "https://janishutz.com/projects/musicplayerv2", + "author": { + "name": "Janis Hutz", + "email": "development@janishutz.com", + "url": "https://janishutz.com" + }, + "license": "GPL-3.0-or-later", + "bugs": { + "url": "https://github.com/simplePCBuilding/musicplayerv2/issues" + }, "private": true, "scripts": { "serve": "vue-cli-service serve", @@ -15,7 +29,9 @@ "core-js": "^3.8.3", "cors": "^2.8.5", "csv-parser": "^3.0.0", + "electron-squirrel-startup": "^1.0.0", "express-session": "^1.17.3", + "jquery": "^3.7.1", "music-metadata": "^7.13.0", "node-fetch": "^2.7.0", "node-musickit-api": "^2.1.1", diff --git a/frontend/public/index.html b/frontend/public/index.html index 2b5d7e1..50f6f62 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -6,7 +6,7 @@ - + <%= htmlWebpackPlugin.options.title %> diff --git a/frontend/src/app.js b/frontend/src/app.js index f92a999..6a62f1b 100644 --- a/frontend/src/app.js +++ b/frontend/src/app.js @@ -114,14 +114,13 @@ app.get( '/clientStatusUpdate/:status', ( req, res ) => { } ); app.get( '/openSongs', ( req, res ) => { - res.send( '{ "data": [ "/home/janis/Music/KB2022" ] }' ); - // res.send( '{ "data": [ "/mnt/storage/SORTED/Music/audio/KB2022" ] }' ); + // res.send( '{ "data": [ "/home/janis/Music/KB2022" ] }' ); + res.send( '{ "data": [ "/mnt/storage/SORTED/Music/audio/KB2022" ] }' ); // res.send( { 'data': dialog.showOpenDialogSync( { properties: [ 'openDirectory' ], title: 'Open music library folder' } ) } ); } ); app.get( '/indexDirs', ( req, res ) => { if ( req.query.dir ) { - // TODO: Load from json file indexer.index( req ).then( dirIndex => { res.send( dirIndex ); } ).catch( err => { diff --git a/frontend/src/components/notifications.vue b/frontend/src/components/notifications.vue index f5a86bf..5b74c58 100644 --- a/frontend/src/components/notifications.vue +++ b/frontend/src/components/notifications.vue @@ -113,6 +113,7 @@ export default { } }, created () { + window.$ = window.jQuery = require( 'jquery' ); this.notificationScheduler = setInterval( () => { if ( this.displayTimeCurrentNotification >= this.notificationDisplayTime ) { this.handleNotifications(); diff --git a/frontend/vue.config.js b/frontend/vue.config.js index 523a634..c130444 100644 --- a/frontend/vue.config.js +++ b/frontend/vue.config.js @@ -1,4 +1,39 @@ const { defineConfig } = require('@vue/cli-service') module.exports = defineConfig({ transpileDependencies: true, + pluginOptions: { + electronBuilder: { + nodeIntegration: true, + "appId": "com.janishutz.MusicPlayerV2", + "copyright": "Copyright (c) 2023 MusicPlayer contributors", + "buildVersion": "V2.0.0-dev2", + builderOptions: { + files: [ + "**/*", + { + from: "./*", + to: "./*", + filter: [ "**/*" ] + }, + { + from: "./public/*", + to: "./*", + filter: [ "**/*" ] + } + ], + extraFiles: [ + { + from: "./src/client", + to: "./client", + filter: [ "**/*" ] + }, + { + from: "./src/config", + to: "./config", + filter: [ "*.config.json" ] + } + ] + } + } + } })