This is an updated revision of Hectorban work.
Nodecg react template done with parcel and typescript
This is a NodeCG bundle, powered by Typescript, React and Parcel.
If you use this template probably you are interested in use-nodecg package.
It works with NodeCG versions which satisfy this semver range: 1.9.0
This template includes include-nodecg package so it is not necessary to install nodecg-cli before.
- Install dependencies and build the bundle with
npm
npm i- To start developing run:
npm run dev- Add the configuration in
package.json. You can see how is added the current as example. - Copy any of the current html and rename it to the given name in the
package.jsonto your new panel. - Copy any of the
panelfolders and rename it. - Replace the path to the React loader (
index.tsx) in your new html with the name of your folder (if you don't do this, you will load other panel 😅). - Add your react components in the
app.tsxand enjoy programming.
- Add the configuration in
package.json. You can see how is added the current one as example. - Copy the current
layout-1.htmland rename it inside the same folder with the given name for the graphics html in thepackage.json. - Copy the folder, remember to change in the new html the path to the React loader (should rename
layout-1string with the name of your new folder). - Add your react components in the
app.tsxand enjoy programming.
- Extension fails when using
export default main;instead of usingmodule.exportsso we are mixingcommonjsmodules withesmodulesand that should not be done.
- Sample how to handle Dialogs and use Messages from Dialog to Dashboard panel.
- Sample how to use Replicants
- Sample how to use Messages and return errors sent from backend (extension).
- React Hooks to use Replicants and messages are available here: https://github.com/Hoishin/use-nodecg
- Testing. Check this for graphics: https://github.com/nodecg/nodecg-screenshot-tester
- Generator to create Dashboard.
- Generator to create a graphics layout.
- Distribute only generated html instead of all package.