From 93ec6e4e83e4eece521f8519de3634103befb4c1 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Thu, 27 Jan 2022 11:51:40 +0100 Subject: [PATCH] Also build a non-minified version of converse-headless Relevant to #2788 --- Makefile | 7 +-- package-lock.json | 117 ---------------------------------------- package.json | 2 +- webpack.dev.js | 2 +- webpack.headless.dev.js | 17 ++++++ 5 files changed, 23 insertions(+), 122 deletions(-) create mode 100644 webpack.headless.dev.js diff --git a/Makefile b/Makefile index f9fdcd41c..6918f4f32 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,6 @@ BABEL ?= node_modules/.bin/babel BOOTSTRAP = ./node_modules/ BUILDDIR = ./docs KARMA ?= ./node_modules/.bin/karma -CHROMIUM ?= ./node_modules/.bin/run-headless-chromium CLEANCSS ?= ./node_modules/clean-css-cli/bin/cleancss ESLINT ?= ./node_modules/.bin/eslint HTTPSERVE ?= ./node_modules/.bin/http-server @@ -186,12 +185,14 @@ logo/conversejs-filled%.png:: logo/conversejs-filled.svg @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 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 headless .PHONY: install install:: dist diff --git a/package-lock.json b/package-lock.json index f11d8a9d6..679821411 100644 --- a/package-lock.json +++ b/package-lock.json @@ -65,7 +65,6 @@ "postcss-clean": "^1.2.2", "postcss-loader": "^6.1.1", "prettierx": "^0.18.2", - "run-headless-chromium": "^0.1.1", "sass": "^1.35.2", "sass-loader": "^11.0.1", "style-loader": "^3.1.0", @@ -13894,13 +13893,6 @@ "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": { "version": "3.1.23", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", @@ -19898,29 +19890,6 @@ "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": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -20317,20 +20286,6 @@ "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": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -23021,18 +22976,6 @@ "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": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", @@ -23329,15 +23272,6 @@ "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": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -34266,13 +34200,6 @@ "integrity": "sha512-z4SyAIVgMy7CkgsoNw7YVz40v0g4+WWvvqy8+ZdHrCtgevcEO758WQyrYcw3XPxcLxF+//RszTz/rO48nzD0wQ==", "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": { "version": "3.1.23", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", @@ -38765,25 +38692,6 @@ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "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": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -39103,16 +39011,6 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "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": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -41147,12 +41045,6 @@ "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": { "version": "1.0.2", "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==", "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": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/package.json b/package.json index 63c286451..707ff32ae 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "serve": "webpack serve --config webpack.serve.js", "clean": "rm -rf node_modules dist *.zip src/headless/dist src/headless/node_modules", "headless": "webpack --config webpack.headless.js", + "headless-dev": "webpack --config webpack.headless.dev.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", "prod": "webpack --config webpack.prod.js", @@ -97,7 +98,6 @@ "postcss-clean": "^1.2.2", "postcss-loader": "^6.1.1", "prettierx": "^0.18.2", - "run-headless-chromium": "^0.1.1", "sass": "^1.35.2", "sass-loader": "^11.0.1", "style-loader": "^3.1.0", diff --git a/webpack.dev.js b/webpack.dev.js index 0e07eca35..de29b61d9 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -4,13 +4,13 @@ const prod = require("./webpack.prod.js"); const { merge } = require("webpack-merge"); module.exports = merge(prod, { + mode: "development", output: { filename: 'converse.js', }, optimization: { minimize: false, }, - devtool: 'source-map', plugins: [ new MiniCssExtractPlugin({filename: '../dist/converse.css'}), ], diff --git a/webpack.headless.dev.js b/webpack.headless.dev.js new file mode 100644 index 000000000..4e41c85d3 --- /dev/null +++ b/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, + }, +}); +