Require the config as CLI arg for watch, build and production-build
The mqtt control map now loads the config provided via cli. It is no longer required to modify the src/config.js to load a different config.
This commit is contained in:
parent
3975518f6e
commit
c7ca716802
8 changed files with 34 additions and 22 deletions
15
README.md
15
README.md
|
|
@ -1,16 +1,17 @@
|
|||
# Space Map
|
||||
# MQTT Control Map
|
||||
|
||||
## How to set up
|
||||
## Development / Configuration
|
||||
|
||||
1. run `yarn` to install all dependencies.
|
||||
2. run `yarn build` to compile everything
|
||||
3. open the `index.html`
|
||||
4. ???
|
||||
5. profit
|
||||
2. run `yarn watch CONFIG` to run a local build server that automatically builds
|
||||
your the mqtt control map for the given CONFIG everytime something changes.
|
||||
3. run `yarn build CONFIG` to create just a single build of the mqtt control map
|
||||
for the given config.
|
||||
4. run `yarn production-build CONFIG` to generate all files for production use.
|
||||
|
||||
## Config
|
||||
|
||||
See `src/config.js`.
|
||||
See `config/`.
|
||||
|
||||
The Config format consists out of two sections. Topics and Controls.
|
||||
|
||||
|
|
|
|||
|
|
@ -60,4 +60,4 @@ const config : Config = {
|
|||
]
|
||||
};
|
||||
|
||||
export default config;
|
||||
window.config = config;
|
||||
|
|
|
|||
|
|
@ -533,4 +533,4 @@ const config : Config = {
|
|||
]
|
||||
};
|
||||
|
||||
export default config;
|
||||
window.config = config;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
"author": "uwap <me+mqttmap.package.json@uwap.name>",
|
||||
"description": "control devices via mqtt on a beautiful map of your space",
|
||||
"scripts": {
|
||||
"build": "webpack --bail --config webpack.dev.js",
|
||||
"production-build": "webpack --bail --config webpack.prod.js",
|
||||
"watch": "webpack-dev-server --open --config webpack.dev.js",
|
||||
"build": "webpack --bail --config webpack.dev.js --env",
|
||||
"production-build": "webpack --bail --config webpack.prod.js --env",
|
||||
"watch": "webpack-dev-server --open --config webpack.dev.js --env",
|
||||
"travis": "yarn lint && yarn build && yarn production-build",
|
||||
"lint": "eslint -- --ext js --ext jsx src/",
|
||||
"precommit": "yarn lint"
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
// @flow
|
||||
import config from "../config/entropia";
|
||||
|
||||
export default config;
|
||||
|
|
@ -5,11 +5,10 @@ import injectTapEventPlugin from "react-tap-event-plugin";
|
|||
|
||||
import App from "components/App";
|
||||
|
||||
import Config from "./config";
|
||||
|
||||
import "../node_modules/mdi/css/materialdesignicons.min.css";
|
||||
import "../css/styles.css";
|
||||
|
||||
const Config = window.config;
|
||||
injectTapEventPlugin();
|
||||
|
||||
document.title = `${Config.space.name} Map`;
|
||||
|
|
|
|||
|
|
@ -10,9 +10,17 @@ const extractCSS = ExtractTextPlugin.extract({
|
|||
}
|
||||
});
|
||||
|
||||
module.exports = merge(common, {
|
||||
const configPath = env => {
|
||||
if (env === true) {
|
||||
throw "No config file was provided.";
|
||||
}
|
||||
return path.resolve(__dirname, `config/${env}`);
|
||||
};
|
||||
|
||||
module.exports = env => merge(common, {
|
||||
entry: {
|
||||
main: path.resolve(__dirname, 'src/index.jsx')
|
||||
main: [configPath(env),
|
||||
path.resolve(__dirname, 'src/index.jsx')]
|
||||
},
|
||||
module: {
|
||||
loaders: [
|
||||
|
|
|
|||
|
|
@ -15,9 +15,17 @@ const extractCSS = ExtractTextPlugin.extract({
|
|||
}
|
||||
});
|
||||
|
||||
module.exports = merge(common, {
|
||||
const configPath = env => {
|
||||
if (env === true) {
|
||||
throw "No config file was provided.";
|
||||
}
|
||||
return path.resolve(__dirname, `config/${env}`);
|
||||
};
|
||||
|
||||
module.exports = env => merge(common, {
|
||||
entry: {
|
||||
main: path.resolve(__dirname, 'src/index.jsx'),
|
||||
main: [configPath(env),
|
||||
path.resolve(__dirname, 'src/index.jsx')]
|
||||
vendor: ['react', 'material-ui', 'mqtt', 'lodash']
|
||||
},
|
||||
module: {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue