Browse Source

Also build a non-minified version of converse-headless

Relevant to #2788
JC Brand 3 years ago
parent
commit
93ec6e4e83
5 changed files with 23 additions and 122 deletions
  1. 4 3
      Makefile
  2. 0 117
      package-lock.json
  3. 1 1
      package.json
  4. 1 1
      webpack.dev.js
  5. 17 0
      webpack.headless.dev.js

+ 4 - 3
Makefile

@@ -3,7 +3,6 @@ BABEL			?= node_modules/.bin/babel
 BOOTSTRAP		= ./node_modules/
 BOOTSTRAP		= ./node_modules/
 BUILDDIR		= ./docs
 BUILDDIR		= ./docs
 KARMA			?= ./node_modules/.bin/karma
 KARMA			?= ./node_modules/.bin/karma
-CHROMIUM		?= ./node_modules/.bin/run-headless-chromium
 CLEANCSS		?= ./node_modules/clean-css-cli/bin/cleancss
 CLEANCSS		?= ./node_modules/clean-css-cli/bin/cleancss
 ESLINT			?= ./node_modules/.bin/eslint
 ESLINT			?= ./node_modules/.bin/eslint
 HTTPSERVE	 	?= ./node_modules/.bin/http-server
 HTTPSERVE	 	?= ./node_modules/.bin/http-server
@@ -186,12 +185,14 @@ logo/conversejs-filled%.png:: logo/conversejs-filled.svg
 
 
 @converse/headless: src/headless
 @converse/headless: src/headless
 
 
+src/headless/dist/converse-headless.js: src webpack.common.js node_modules @converse/headless
+	npm run headless-dev
+
 src/headless/dist/converse-headless.min.js: src webpack.common.js node_modules @converse/headless
 src/headless/dist/converse-headless.min.js: src webpack.common.js node_modules @converse/headless
 	npm run headless
 	npm run headless
 
 
-dist:: node_modules src/* | dist/converse.js dist/converse.css dist/website.css dist/website.min.css
+dist:: node_modules src/* | dist/converse.js dist/converse.css dist/website.css dist/website.min.css src/headless/dist/converse-headless.min.js src/headless/dist/converse-headless.js
 	npm run prod
 	npm run prod
-	npm run headless
 
 
 .PHONY: install
 .PHONY: install
 install:: dist
 install:: dist

+ 0 - 117
package-lock.json

@@ -65,7 +65,6 @@
 				"postcss-clean": "^1.2.2",
 				"postcss-clean": "^1.2.2",
 				"postcss-loader": "^6.1.1",
 				"postcss-loader": "^6.1.1",
 				"prettierx": "^0.18.2",
 				"prettierx": "^0.18.2",
-				"run-headless-chromium": "^0.1.1",
 				"sass": "^1.35.2",
 				"sass": "^1.35.2",
 				"sass-loader": "^11.0.1",
 				"sass-loader": "^11.0.1",
 				"style-loader": "^3.1.0",
 				"style-loader": "^3.1.0",
@@ -13894,13 +13893,6 @@
 				"node": ">=6.x.x"
 				"node": ">=6.x.x"
 			}
 			}
 		},
 		},
-		"node_modules/nan": {
-			"version": "2.9.2",
-			"resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz",
-			"integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==",
-			"dev": true,
-			"optional": true
-		},
 		"node_modules/nanoid": {
 		"node_modules/nanoid": {
 			"version": "3.1.23",
 			"version": "3.1.23",
 			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
 			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
@@ -19898,29 +19890,6 @@
 				"node": ">=0.12.0"
 				"node": ">=0.12.0"
 			}
 			}
 		},
 		},
-		"node_modules/run-headless-chromium": {
-			"version": "0.1.1",
-			"resolved": "https://registry.npmjs.org/run-headless-chromium/-/run-headless-chromium-0.1.1.tgz",
-			"integrity": "sha1-eeYQoA3wIosztrNK5qP8ps6eWv8=",
-			"dev": true,
-			"dependencies": {
-				"rimraf": "2.2.8",
-				"which": "1.0.5",
-				"xvfb": "0.2.3"
-			},
-			"bin": {
-				"run-headless-chromium": "run-headless-chromium.js"
-			}
-		},
-		"node_modules/run-headless-chromium/node_modules/rimraf": {
-			"version": "2.2.8",
-			"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
-			"integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
-			"dev": true,
-			"bin": {
-				"rimraf": "bin.js"
-			}
-		},
 		"node_modules/run-parallel": {
 		"node_modules/run-parallel": {
 			"version": "1.2.0",
 			"version": "1.2.0",
 			"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
 			"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -20317,20 +20286,6 @@
 				"node": ">=8"
 				"node": ">=8"
 			}
 			}
 		},
 		},
-		"node_modules/sleep": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/sleep/-/sleep-3.0.1.tgz",
-			"integrity": "sha1-vk0XxXk2DgfgTtgXK6KxCmkFTfM=",
-			"dev": true,
-			"hasInstallScript": true,
-			"optional": true,
-			"dependencies": {
-				"nan": ">=2.0.0"
-			},
-			"engines": {
-				"node": ">=0.4.0"
-			}
-		},
 		"node_modules/slice-ansi": {
 		"node_modules/slice-ansi": {
 			"version": "4.0.0",
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
 			"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
@@ -23021,18 +22976,6 @@
 				"node": ">=10"
 				"node": ">=10"
 			}
 			}
 		},
 		},
-		"node_modules/which": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz",
-			"integrity": "sha1-VjDWgZ3aaS8UZEYueVbLQsCEJzk=",
-			"dev": true,
-			"bin": {
-				"which": "bin/which"
-			},
-			"engines": {
-				"node": "*"
-			}
-		},
 		"node_modules/which-boxed-primitive": {
 		"node_modules/which-boxed-primitive": {
 			"version": "1.0.2",
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
 			"resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
@@ -23329,15 +23272,6 @@
 				"node": ">=0.4"
 				"node": ">=0.4"
 			}
 			}
 		},
 		},
-		"node_modules/xvfb": {
-			"version": "0.2.3",
-			"resolved": "https://registry.npmjs.org/xvfb/-/xvfb-0.2.3.tgz",
-			"integrity": "sha1-VYipaHVFk5E/M8DA4su3N0EjWDI=",
-			"dev": true,
-			"optionalDependencies": {
-				"sleep": "3.0.x"
-			}
-		},
 		"node_modules/y18n": {
 		"node_modules/y18n": {
 			"version": "5.0.8",
 			"version": "5.0.8",
 			"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
 			"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
@@ -34266,13 +34200,6 @@
 			"integrity": "sha512-z4SyAIVgMy7CkgsoNw7YVz40v0g4+WWvvqy8+ZdHrCtgevcEO758WQyrYcw3XPxcLxF+//RszTz/rO48nzD0wQ==",
 			"integrity": "sha512-z4SyAIVgMy7CkgsoNw7YVz40v0g4+WWvvqy8+ZdHrCtgevcEO758WQyrYcw3XPxcLxF+//RszTz/rO48nzD0wQ==",
 			"dev": true
 			"dev": true
 		},
 		},
-		"nan": {
-			"version": "2.9.2",
-			"resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz",
-			"integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==",
-			"dev": true,
-			"optional": true
-		},
 		"nanoid": {
 		"nanoid": {
 			"version": "3.1.23",
 			"version": "3.1.23",
 			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
 			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
@@ -38765,25 +38692,6 @@
 			"integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
 			"integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
 			"dev": true
 			"dev": true
 		},
 		},
-		"run-headless-chromium": {
-			"version": "0.1.1",
-			"resolved": "https://registry.npmjs.org/run-headless-chromium/-/run-headless-chromium-0.1.1.tgz",
-			"integrity": "sha1-eeYQoA3wIosztrNK5qP8ps6eWv8=",
-			"dev": true,
-			"requires": {
-				"rimraf": "2.2.8",
-				"which": "1.0.5",
-				"xvfb": "0.2.3"
-			},
-			"dependencies": {
-				"rimraf": {
-					"version": "2.2.8",
-					"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
-					"integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
-					"dev": true
-				}
-			}
-		},
 		"run-parallel": {
 		"run-parallel": {
 			"version": "1.2.0",
 			"version": "1.2.0",
 			"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
 			"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -39103,16 +39011,6 @@
 			"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
 			"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
 			"dev": true
 			"dev": true
 		},
 		},
-		"sleep": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/sleep/-/sleep-3.0.1.tgz",
-			"integrity": "sha1-vk0XxXk2DgfgTtgXK6KxCmkFTfM=",
-			"dev": true,
-			"optional": true,
-			"requires": {
-				"nan": ">=2.0.0"
-			}
-		},
 		"slice-ansi": {
 		"slice-ansi": {
 			"version": "4.0.0",
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
 			"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
@@ -41147,12 +41045,6 @@
 				"webidl-conversions": "^6.1.0"
 				"webidl-conversions": "^6.1.0"
 			}
 			}
 		},
 		},
-		"which": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz",
-			"integrity": "sha1-VjDWgZ3aaS8UZEYueVbLQsCEJzk=",
-			"dev": true
-		},
 		"which-boxed-primitive": {
 		"which-boxed-primitive": {
 			"version": "1.0.2",
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
 			"resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
@@ -41378,15 +41270,6 @@
 			"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
 			"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
 			"dev": true
 			"dev": true
 		},
 		},
-		"xvfb": {
-			"version": "0.2.3",
-			"resolved": "https://registry.npmjs.org/xvfb/-/xvfb-0.2.3.tgz",
-			"integrity": "sha1-VYipaHVFk5E/M8DA4su3N0EjWDI=",
-			"dev": true,
-			"requires": {
-				"sleep": "3.0.x"
-			}
-		},
 		"y18n": {
 		"y18n": {
 			"version": "5.0.8",
 			"version": "5.0.8",
 			"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
 			"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",

+ 1 - 1
package.json

@@ -29,6 +29,7 @@
     "serve": "webpack serve --config webpack.serve.js",
     "serve": "webpack serve --config webpack.serve.js",
     "clean": "rm -rf node_modules dist *.zip src/headless/dist src/headless/node_modules",
     "clean": "rm -rf node_modules dist *.zip src/headless/dist src/headless/node_modules",
     "headless": "webpack --config webpack.headless.js",
     "headless": "webpack --config webpack.headless.js",
+    "headless-dev": "webpack --config webpack.headless.dev.js",
     "nodeps": "webpack --config webpack.nodeps.js",
     "nodeps": "webpack --config webpack.nodeps.js",
     "cdn": "ASSET_PATH=https://cdn.conversejs.org/dist/ npm run dev && ASSET_PATH=https://cdn.conversejs.org/dist/ npm run build",
     "cdn": "ASSET_PATH=https://cdn.conversejs.org/dist/ npm run dev && ASSET_PATH=https://cdn.conversejs.org/dist/ npm run build",
     "prod": "webpack --config webpack.prod.js",
     "prod": "webpack --config webpack.prod.js",
@@ -97,7 +98,6 @@
     "postcss-clean": "^1.2.2",
     "postcss-clean": "^1.2.2",
     "postcss-loader": "^6.1.1",
     "postcss-loader": "^6.1.1",
     "prettierx": "^0.18.2",
     "prettierx": "^0.18.2",
-    "run-headless-chromium": "^0.1.1",
     "sass": "^1.35.2",
     "sass": "^1.35.2",
     "sass-loader": "^11.0.1",
     "sass-loader": "^11.0.1",
     "style-loader": "^3.1.0",
     "style-loader": "^3.1.0",

+ 1 - 1
webpack.dev.js

@@ -4,13 +4,13 @@ const prod = require("./webpack.prod.js");
 const { merge } = require("webpack-merge");
 const { merge } = require("webpack-merge");
 
 
 module.exports = merge(prod, {
 module.exports = merge(prod, {
+    mode: "development",
     output: {
     output: {
         filename: 'converse.js',
         filename: 'converse.js',
     },
     },
     optimization: {
     optimization: {
         minimize: false,
         minimize: false,
     },
     },
-    devtool: 'source-map',
     plugins: [
     plugins: [
         new MiniCssExtractPlugin({filename: '../dist/converse.css'}),
         new MiniCssExtractPlugin({filename: '../dist/converse.css'}),
     ],
     ],

+ 17 - 0
webpack.headless.dev.js

@@ -0,0 +1,17 @@
+/* global __dirname, module */
+const common = require("./webpack.common.js");
+const path = require('path');
+const { merge } = require("webpack-merge");
+
+module.exports = merge(common, {
+    mode: "development",
+    entry: "@converse/headless/headless.js",
+    output: {
+        path: path.resolve(__dirname, 'src/headless/dist'), // Output path for generated bundles
+        filename: 'converse-headless.js',
+    },
+    optimization: {
+        minimize: false,
+    },
+});
+