Update build chain

This commit is contained in:
Thomas Lovén 2019-11-05 10:37:00 +01:00
parent eaed9cd8d9
commit 8038cab85c
8 changed files with 4143 additions and 265 deletions

3
.gitignore vendored
View File

@ -1,5 +1,2 @@
node_modules/
package-lock.json
package.json
webpack.config.js
**/__pycache__/

View File

@ -1,48 +0,0 @@
AUTHOR := Thomas Lovén
CARD_TOOLS := $(PWD)/../card-tools
PACKAGE := browser_mod
DOCKER_CMD:=docker run --rm -v $(CARD_TOOLS):/card-tools:ro -v $(PWD):/usr/src/$(PACKAGE) -w="/usr/src/$(PACKAGE)" node:11
setup := package.json package-lock.json webpack.config.js
JS := $(wildcard js/*.js)
PY := $(wildcard custom_components/browser_mod/*)
build: $(setup) custom_components/browser_mod/browser_mod.js
custom_components/browser_mod/browser_mod.js: $(JS)
$(DOCKER_CMD) npm run build
dev: setup
$(DOCKER_CMD) npm run watch
setup: $(setup)
clean:
rm package.json package-lock.json webpack.config.js
rm -r node_modules
rm $(PACKAGE).js
define WEBPACK_CONFIG
const path = require('path');
module.exports = {
entry: './js/main.js',
mode: 'production',
output: {
filename: 'custom_components/browser_mod/browser_mod.js',
path: path.resolve(__dirname)
}
};
endef
export WEBPACK_CONFIG
webpack.config.js:
echo "$$WEBPACK_CONFIG" >> $@
package-lock.json:
$(DOCKER_CMD) npm install webpack webpack-cli --save-dev
package.json:
$(DOCKER_CMD) /bin/bash -c "npm set init.license 'MIT' && npm set init.author.name '$(AUTHOR)' && npm init -y"
$(DOCKER_CMD) sed -E -i -e '/^ +"main"/d' -e '/^ +"scripts"/a\ "build": "webpack",' -e '/^ +"scripts"/a\ "watch": "webpack --watch --mode=development",' -e '2a\ "private": true,' $@

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
import { LitElement, html, css } from "/card-tools/lit-element";
import { deviceID } from "/card-tools/deviceId"
import { moreInfo } from "/card-tools/more-info"
import { LitElement, html, css } from "card-tools/src/lit-element";
import { deviceID } from "card-tools/src/deviceId"
import { moreInfo } from "card-tools/src/more-info"
class BrowserPlayer extends LitElement {

View File

@ -1,8 +1,8 @@
import { deviceID } from "/card-tools/deviceId";
import { lovelace_view, provideHass, load_lovelace } from "/card-tools/hass";
import { popUp, closePopUp } from "/card-tools/popup";
import { fireEvent } from "/card-tools/event";
import { moreInfo } from "/card-tools/more-info.js";
import { deviceID } from "card-tools/src/deviceId";
import { lovelace_view, provideHass, load_lovelace } from "card-tools/src/hass";
import { popUp, closePopUp } from "card-tools/src/popup";
import { fireEvent } from "card-tools/src/event";
import { moreInfo } from "card-tools/src/more-info.js";
import "./browser-player";
class BrowserMod {

4051
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

21
package.json Normal file
View File

@ -0,0 +1,21 @@
{
"name": "browser_mod",
"private": true,
"version": "1.0.0",
"description": "",
"scripts": {
"build": "webpack",
"watch": "webpack --watch --mode=development",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "Thomas Lovén",
"license": "MIT",
"devDependencies": {
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10"
},
"dependencies": {
"card-tools": "github:thomasloven/lovelace-card-tools"
}
}

10
webpack.config.js Normal file
View File

@ -0,0 +1,10 @@
const path = require('path');
module.exports = {
entry: './js/main.js',
mode: 'production',
output: {
filename: 'custom_components/browser_mod/browser_mod.js',
path: path.resolve(__dirname)
}
};