Make sure to delete this collapsed template detail
Please use install the cli-tools and create new module from template for getting started.
$ npm i -g @blackprint/cli-tools
$ blackprint createIf you're using VSCode this template also contain a code snippets on .vscode folder, make sure to check the prefix on how to trigger the code snippet's template.
The template contain an example that can be used for reference developing new Blackprint Module for Browser, Node.js, or Deno with ScarletsFrame compiler. Make sure you have modify the config file and remove the unused code when developing. An node example on /src/FeatureName folder can also be deleted if you're already familiar with Blackprint.
In the src, you may find file that has extension below:
*.sf: to be exported for Browser only*.js: to be exported for Browser/Node.js/Deno
Currently this template is not using ES6 modules import system, you will need to use CDN link to load a library. if you're prefer to use ES6 module import, then TypeScript template should be your choice.
If Blackprint have an breaking changes (v0.*.0), make sure to visit this template again to see what was changed 😉
The versioning should follow this format vMAJOR.MINOR.PATCH when reach v1.0.0.
- MAJOR version when the nodes have breaking changes.
- MINOR version when you add has new feature.
- PATCH version when you do bug fixes that backwards compatible.
Changes that are considered as breaking (case-sensitive):
- Change on port name
(output -> Output) - Port data type changes
Number -> String- If it was changed to
AnyorUnionthat contain original data type, it's not a breaking changes (as the cable can still be connected)
- If it was changed to
- Deleted node or renamed node
(Clear/Cahce -> Clear/Cache)- Only for name registered with
.registerNode(...)
- Only for name registered with
- Interface function changes (API changes)
- Only if you provide an documentation to call that function when obtaining the nodes with
iface.call = ... -> iface.trigger = ...- For private function please add "_" underscore as first character
- Function inside Node class is considered as private/internal function
node.call = ... -> node.trigger = ...= not breaking changes
The example for Interface function changes.
// Let's assume you have created 'call' function and rename it to 'trigger'
// in .registerInterface('...')
let button = engine.iface['iface-id'];
// This will breaking due to changes
button.call(); // -> button.trigger()If you think it will have design changes or many breaking changes. The versioning increment should follow the format below.
- MAJOR version always zero "0".
- MINOR version when you add has new feature, or possible breaking changes.
- PATCH version when you do bug fixes or add new feature that backwards compatible.
Alright, let's remove the message above and start with the template below for the README.md.
If you're distributing multiple different compiled file you need to specify the module's source path in blackprint field from the package.json because it will being parsed by Blackprint Editor to easily view source of your nodes. If you need example, you can view @blackprint/nodes.
Feel free to change the LICENSE from this template, as this template is just a template for your new project.
Description here
Please specify the version to avoid breaking changes.
Blackprint.loadModuleFromURL([
'https://cdn.jsdelivr.net/npm/[email protected]/dist/nodes-rename-me.mjs'
], {
// Turn this on if you want to load .sf.mjs, and .sf.css
// only with single .mjs
loadBrowserInterface: true // set to "false" for Node.js/Deno
});You can use this link to load unpublished nodes and still under development on GitHub. https://cdn.jsdelivr.net/gh/blackprint/template-js@dist/nodes-rename-me.mjs
Replace dist with your latest commit hash (from dist branch) to avoid cache from CDN.
$ cd /your/project/folder
$ git clone --depth 1 --recurse-submodules https://github.com/blackprint/nodes-rename-me.git .
$ pnpm i
$ npm start
>> [Browsersync] Access URLs:
>> -----------------------------------
>> Local: http://localhost:6789
>> -----------------------------------Copy the http://localhost:6789 URL and go to online Blackprint Editor.
Go to development mode, and paste it to remote module server. Then refresh the page, after that you can modify the code from your favorite text editor. The compiler will watch every changes inside this folder by following the configuration in blackprint.config.js.
Before opening .sf file, please install the syntax highlighter for your text editor.
BPIC = Blackprint Interface Component
MIT
