From 84ecffe0b9e54fdee756b26b588adfe27d096edc Mon Sep 17 00:00:00 2001 From: Kyle Robinson Young Date: Fri, 1 Jun 2018 08:30:39 -0700 Subject: [PATCH 1/6] Add electron, webpack, vue example --- electron-webpack-vuejs/.gitignore | 1 + electron-webpack-vuejs/README.md | 10 ++++++++ electron-webpack-vuejs/package.json | 24 ++++++++++++++++++++ electron-webpack-vuejs/src/index.html | 18 +++++++++++++++ electron-webpack-vuejs/src/main/index.js | 20 ++++++++++++++++ electron-webpack-vuejs/src/renderer/App.vue | 13 +++++++++++ electron-webpack-vuejs/src/renderer/index.js | 8 +++++++ electron-webpack-vuejs/webpack.config.js | 14 ++++++++++++ 8 files changed, 108 insertions(+) create mode 100644 electron-webpack-vuejs/.gitignore create mode 100644 electron-webpack-vuejs/README.md create mode 100644 electron-webpack-vuejs/package.json create mode 100644 electron-webpack-vuejs/src/index.html create mode 100644 electron-webpack-vuejs/src/main/index.js create mode 100644 electron-webpack-vuejs/src/renderer/App.vue create mode 100644 electron-webpack-vuejs/src/renderer/index.js create mode 100644 electron-webpack-vuejs/webpack.config.js diff --git a/electron-webpack-vuejs/.gitignore b/electron-webpack-vuejs/.gitignore new file mode 100644 index 0000000..53c37a1 --- /dev/null +++ b/electron-webpack-vuejs/.gitignore @@ -0,0 +1 @@ +dist \ No newline at end of file diff --git a/electron-webpack-vuejs/README.md b/electron-webpack-vuejs/README.md new file mode 100644 index 0000000..e5b86ce --- /dev/null +++ b/electron-webpack-vuejs/README.md @@ -0,0 +1,10 @@ +# Electron with webpack and Vue.js + +> [https://youtu.be/oL7vIDkDOsg](https://youtu.be/oL7vIDkDOsg) + +Install [Node.js](https://nodejs.org/). + +Within this folder run the terminal command `npm install` to install the +`dependencies` and `devDependencies`. + +Then run `npm start` to run the app. diff --git a/electron-webpack-vuejs/package.json b/electron-webpack-vuejs/package.json new file mode 100644 index 0000000..33d539f --- /dev/null +++ b/electron-webpack-vuejs/package.json @@ -0,0 +1,24 @@ +{ + "name": "electron-webpack-vuejs", + "version": "0.1.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "electron-webpack dev", + "build": "electron-webpack && electron-builder" + }, + "author": "Kyle Robinson Young (http://dontkry.com)", + "license": "MIT", + "devDependencies": { + "electron": "^2.0.2", + "electron-builder": "^20.15.1", + "electron-webpack": "^2.1.2", + "vue": "^2.5.16", + "vue-loader": "^15.2.2", + "vue-template-compiler": "^2.5.16", + "webpack": "^4.9.1" + }, + "dependencies": { + "source-map-support": "^0.5.6" + } +} diff --git a/electron-webpack-vuejs/src/index.html b/electron-webpack-vuejs/src/index.html new file mode 100644 index 0000000..b438956 --- /dev/null +++ b/electron-webpack-vuejs/src/index.html @@ -0,0 +1,18 @@ + + + + <%= process.env.npm_package_productName %> + + + + +
+ + diff --git a/electron-webpack-vuejs/src/main/index.js b/electron-webpack-vuejs/src/main/index.js new file mode 100644 index 0000000..8e4e7f9 --- /dev/null +++ b/electron-webpack-vuejs/src/main/index.js @@ -0,0 +1,20 @@ +import { app, BrowserWindow } from 'electron' +import path from 'path' +import { format as formatUrl } from 'url' + +const isDevelopment = process.env.NODE_ENV !== 'production' + +app.on('ready', () => { + let window = new BrowserWindow({ + width: 1024 + }) + if (isDevelopment) { + window.loadURL(`http://localhost:${process.env.ELECTRON_WEBPACK_WDS_PORT}`) + } else { + window.loadURL(formatUrl({ + pathname: path.join(__dirname, 'index.html'), + protocol: 'file', + slashes: true + })) + } +}) \ No newline at end of file diff --git a/electron-webpack-vuejs/src/renderer/App.vue b/electron-webpack-vuejs/src/renderer/App.vue new file mode 100644 index 0000000..49f4ae4 --- /dev/null +++ b/electron-webpack-vuejs/src/renderer/App.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/electron-webpack-vuejs/src/renderer/index.js b/electron-webpack-vuejs/src/renderer/index.js new file mode 100644 index 0000000..734a3c1 --- /dev/null +++ b/electron-webpack-vuejs/src/renderer/index.js @@ -0,0 +1,8 @@ +import Vue from 'vue' +import App from './App.vue' +new Vue({ + el: '#app', + render(h) { + return h(App) + } +}) \ No newline at end of file diff --git a/electron-webpack-vuejs/webpack.config.js b/electron-webpack-vuejs/webpack.config.js new file mode 100644 index 0000000..f9d3d0e --- /dev/null +++ b/electron-webpack-vuejs/webpack.config.js @@ -0,0 +1,14 @@ +const VueLoaderPlugin = require('vue-loader/lib/plugin') +module.exports = { + module: { + rules: [ + { + test: /\.vue$/, + use: 'vue-loader' + } + ] + }, + plugins: [ + new VueLoaderPlugin() + ] +} \ No newline at end of file From 4cdd81a41dee9e20e5f5e5e4917d6475d5f7f220 Mon Sep 17 00:00:00 2001 From: Kyle Robinson Young Date: Tue, 5 Jun 2018 22:54:51 -0700 Subject: [PATCH 2/6] vuejs computed properties --- vuejs-computed-properties/App.vue | 69 ++++++++++++++++++++++++++ vuejs-computed-properties/README.md | 10 ++++ vuejs-computed-properties/index.html | 11 ++++ vuejs-computed-properties/index.js | 28 +++++++++++ vuejs-computed-properties/package.json | 22 ++++++++ 5 files changed, 140 insertions(+) create mode 100644 vuejs-computed-properties/App.vue create mode 100644 vuejs-computed-properties/README.md create mode 100644 vuejs-computed-properties/index.html create mode 100644 vuejs-computed-properties/index.js create mode 100644 vuejs-computed-properties/package.json diff --git a/vuejs-computed-properties/App.vue b/vuejs-computed-properties/App.vue new file mode 100644 index 0000000..3bc8f6a --- /dev/null +++ b/vuejs-computed-properties/App.vue @@ -0,0 +1,69 @@ + + + \ No newline at end of file diff --git a/vuejs-computed-properties/README.md b/vuejs-computed-properties/README.md new file mode 100644 index 0000000..7a5eefd --- /dev/null +++ b/vuejs-computed-properties/README.md @@ -0,0 +1,10 @@ +# Vue.js Computed Properties + +> [https://www.youtube.com/watch?v=8antoF7LyIo](https://www.youtube.com/watch?v=8antoF7LyIo) + +Install [Node.js](https://nodejs.org/). + +Within this folder run the terminal command `npm install` to install the +`dependencies` and `devDependencies`. + +Then run `npm start` to run the app viewable on `http://localhost:9966`. diff --git a/vuejs-computed-properties/index.html b/vuejs-computed-properties/index.html new file mode 100644 index 0000000..e16f160 --- /dev/null +++ b/vuejs-computed-properties/index.html @@ -0,0 +1,11 @@ + + + + + Document + + +
+ + + \ No newline at end of file diff --git a/vuejs-computed-properties/index.js b/vuejs-computed-properties/index.js new file mode 100644 index 0000000..49fe2a2 --- /dev/null +++ b/vuejs-computed-properties/index.js @@ -0,0 +1,28 @@ +const Vue = require('vue') +const App = require('./App.vue') + +const beardb = { + 'bear1': { + name: 'Oliver', + type: 'grizzly' + }, + 'bear3': { + name: 'Sheryl', + type: 'brown' + }, + 'bear55': { + name: 'Frank', + type: 'polar' + }, +} + +new Vue({ + el: '#app', + render: function (h) { + return h(App, { + props: { + beardb: beardb + } + }) + } +}) \ No newline at end of file diff --git a/vuejs-computed-properties/package.json b/vuejs-computed-properties/package.json new file mode 100644 index 0000000..8f6f8b5 --- /dev/null +++ b/vuejs-computed-properties/package.json @@ -0,0 +1,22 @@ +{ + "name": "vuejs-computed-properties", + "version": "0.1.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "budo index.js:bundle.js -- -t vueify", + "test": "node test.js" + }, + "browser": { + "vue": "vue/dist/vue.common.js" + }, + "author": "Kyle Robinson Young (http://dontkry.com)", + "license": "MIT", + "devDependencies": { + "budo": "^11.2.0", + "vueify": "^9.4.1" + }, + "dependencies": { + "vue.js": "^0.3.2" + } +} From df82325714b656caf8a490480c1e6256c06a8357 Mon Sep 17 00:00:00 2001 From: Willy Weise Date: Wed, 1 Aug 2018 14:35:45 +0200 Subject: [PATCH 3/6] Added app.quit() at main/index.js when closing the window so that process of the app quits running in the background --- electron-webpack-vuejs/src/main/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/electron-webpack-vuejs/src/main/index.js b/electron-webpack-vuejs/src/main/index.js index 8e4e7f9..c868d9d 100644 --- a/electron-webpack-vuejs/src/main/index.js +++ b/electron-webpack-vuejs/src/main/index.js @@ -17,4 +17,8 @@ app.on('ready', () => { slashes: true })) } + window.on('closed', function(){ + window = null + app.quit() + }) }) \ No newline at end of file From e035f48e4238c939d953bdfc1bba9bc75bb2b943 Mon Sep 17 00:00:00 2001 From: Willy Weise Date: Tue, 7 Aug 2018 17:09:29 +0200 Subject: [PATCH 4/6] app.quit will now be called when all windows are closed instead by closing only the main window. On macOS the app is not supposed to quit --- electron-webpack-vuejs/src/main/index.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/electron-webpack-vuejs/src/main/index.js b/electron-webpack-vuejs/src/main/index.js index c868d9d..374e69a 100644 --- a/electron-webpack-vuejs/src/main/index.js +++ b/electron-webpack-vuejs/src/main/index.js @@ -17,8 +17,13 @@ app.on('ready', () => { slashes: true })) } - window.on('closed', function(){ - window = null - app.quit() + window.on("closed", () => { + window = null; }) +}) + +app.on("window-all-closed", () => { + if (process.platform !== "darwin") { + app.quit(); + } }) \ No newline at end of file From 3eb01f336501ae20d1106430d657a732297337e8 Mon Sep 17 00:00:00 2001 From: Kunal Mandalia Date: Sat, 22 Jun 2019 18:13:22 +0100 Subject: [PATCH 5/6] fix: chrome extension error --- how-to-make-chrome-extensions/bear/content.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/how-to-make-chrome-extensions/bear/content.js b/how-to-make-chrome-extensions/bear/content.js index e11d1c4..b249bae 100644 --- a/how-to-make-chrome-extensions/bear/content.js +++ b/how-to-make-chrome-extensions/bear/content.js @@ -6,7 +6,8 @@ // }) const re = new RegExp('bear', 'gi') -const matches = document.documentElement.innerHTML.match(re) +const matches = document.documentElement.innerHTML.match(re) || [] + chrome.runtime.sendMessage({ url: window.location.href, count: matches.length From b47b31e3553cfe15dd9c9d53afd64fc77dd2b493 Mon Sep 17 00:00:00 2001 From: Chuck Benedict Date: Wed, 6 Nov 2019 08:56:15 -0800 Subject: [PATCH 6/6] Ignored signing on Mac. Enabled nodeIntegration (now disabled by default). --- electron-webpack-vuejs/.gitignore | 4 +++- electron-webpack-vuejs/package.json | 2 +- electron-webpack-vuejs/src/main/index.js | 5 ++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/electron-webpack-vuejs/.gitignore b/electron-webpack-vuejs/.gitignore index 53c37a1..0841ed3 100644 --- a/electron-webpack-vuejs/.gitignore +++ b/electron-webpack-vuejs/.gitignore @@ -1 +1,3 @@ -dist \ No newline at end of file +dist +node_modules +package-lock.json \ No newline at end of file diff --git a/electron-webpack-vuejs/package.json b/electron-webpack-vuejs/package.json index 33d539f..cd652ea 100644 --- a/electron-webpack-vuejs/package.json +++ b/electron-webpack-vuejs/package.json @@ -5,7 +5,7 @@ "main": "index.js", "scripts": { "start": "electron-webpack dev", - "build": "electron-webpack && electron-builder" + "build": "electron-webpack && electron-builder -c.mac.identity=null" }, "author": "Kyle Robinson Young (http://dontkry.com)", "license": "MIT", diff --git a/electron-webpack-vuejs/src/main/index.js b/electron-webpack-vuejs/src/main/index.js index 374e69a..acd13a1 100644 --- a/electron-webpack-vuejs/src/main/index.js +++ b/electron-webpack-vuejs/src/main/index.js @@ -6,7 +6,10 @@ const isDevelopment = process.env.NODE_ENV !== 'production' app.on('ready', () => { let window = new BrowserWindow({ - width: 1024 + width: 1024, + webPreferences: { + nodeIntegration: true + } }) if (isDevelopment) { window.loadURL(`http://localhost:${process.env.ELECTRON_WEBPACK_WDS_PORT}`)