@iobroker/create-adapter
Version:
Command line utility to create customized ioBroker adapters
41 lines (38 loc) • 1.12 kB
JavaScript
"use strict";
const templateFunction = answers => {
const useTypeScript = answers.language === "TypeScript";
const useReact = answers.adminUi === "react";
if (!useReact) {
return;
}
const template = `import React from "react";
import ReactDOM from "react-dom";
import { MuiThemeProvider } from "@material-ui/core/styles";
import theme from "@iobroker/adapter-react/Theme";
import Utils from "@iobroker/adapter-react/Components/Utils";
import App from "./app";
let themeName = Utils.getThemeName();
function build()${useTypeScript ? ": void" : ""} {
ReactDOM.render(
<MuiThemeProvider theme={theme(themeName)}>
<App
adapterName="${answers.adapterName}"
onThemeChange={_theme => {
themeName = _theme;
build();
}}
/>
</MuiThemeProvider>,
document.getElementById("root"),
);
}
build();
`;
return template;
};
templateFunction.customPath = answers => {
const useTypeScript = answers.language === "TypeScript";
return `admin/src/index.${useTypeScript ? "tsx" : "jsx"}`;
};
module.exports = templateFunction;
//# sourceMappingURL=index.tsx_jsx.js.map