Releases: Blackprint/engine-js
Releases · Blackprint/engine-js
v0.7.2
Features
- Add
isGhost
on interface for standalone port
Bug Fix
- Fix index error when creating new function
- Allow module import from
http:
for internal network support (like company network)
v0.7.1
Features
- Add feature to allow output resynchronization
v0.7.0
Features
- Add
node.instance
property that can be used to access current instance for the node - Add TypeScript definition
- Add feature to split port with structure
- Add feature to use default input with primitive type when the port is not connected
- Add
node.log
for emit logging data to instance - Add callable route port output type
- Add route port to handle data flow
- Dynamically add empty environment variable if not exist
- Add event name as parameter
- Add node for handling environment variables
- Emit event when node id was changed
- Emit event when node will be deleted
- Emit event when creating new variables/function
- Emit event when renaming environment variable
- Finishing function node and the separated I/O node
Bug Fix
- Fix import for append mode
- Fix initial value for variable node
- Fix feature for renamine function port
- Fix data request and saved data
- Fix
Port.Trigger
type and addrouteTo
- Fix incorrect port check for function node
- Fix function's input/output node
- Fix variable scope id and route connection
- Fix returned object from
getNode
- Fix route pass for custom function node
- Fix
cable.disconnect
event that not emitted on iface - Fix dynamic port for custom function input/output node
- Fix variable node scope
- Fix bug for environment variable
- Avoid emitting
cable.disconnect
event to instance twice - Restrict connection between dynamic port
Breaking Changes
- Port's
Any
type is no longer usenull
, please useBlackprint.Types.Any
instead update(port, source, cable)
will now only receive single argumentsupdate(cable)
. Please usecable.input
to obtainport
, andcable.output
to obtainsource
.request(port, sourceIface)
will now only receive single argumentsrequest(cable)
. Please usecable.output
to obtainport
, andcable.input.iface
to obtainsourceIface
.
class MyNode extends Blackprint.Node {
static input = {
// Before
AnyType: null,
// After
AnyType: Blackprint.Types.Any,
}
// Before
update(port, source, cable){}
// After
update(cable){} // port = cable.input, source = cable.output
// Before
request(port, sourceIface){}
// After
request(cable){} // port = cable.output, sourceIface = cable.input.iface
}
v0.6.6
Bug Fix
- Fix data type validation for any type
v0.6.5
Features
- Add used variable nodes's reference list
- Add support for exporting custom function and variable
- Add feature to rename/delete port for custom function node
- Add support to use port feature for custom function node
- Add to do list to prepare for breaking changes
- Add destroy function
- Emit event when JSON was imported
- Finishing custom variable and function node
Bug Fix
- Fix for copying custom function node
- Fix callable port for function node
- Fix variable node for callable port
- Fix port type checker for ArrayOf
- Fix type validation
_list
must be not enumerable- Allow connect to union port with similar types
- Improve
value
event listener - Skip module loader if no URL input
- Skip check for
undefined
port but allownull
port - Make some internal properties configurable
v0.6.4
Bug Fix
- Disallow use of arrow function
- Fix unit test that was using
Blackprint.OutputPort
andBlackprint.InputPort
- Fix undefined value on array port
- Fix and simplify version check
v0.6.3
Bug Fix
- Fix field name
- Fix node deletion
- Fix undeleted root nodes when deleting module
Features
- Add colors when downloading module
- Put unresolved module conflict into pending list
- Add
onModuleConflict
to handle conflict externally - Add support for remote engine
- Add
Blackprint.Environment.loadFromURL = true
if the environment prefer to use module from URL - Improve ESM module loader
v0.6.2
Bug Fix
- Fix module version checker
- Add spaces to
BP-Union
class - Make
_event
field writable - Remove unused function and some minor changes
- Fix incorrect field name
- Fix some error when Sketch is being run on Jest environment
Features
- Add port
call
listener (for Trigger port) and fixconnectPort
- Add feature for using newest module and delete nodes by module URL
- Add options to skip some import data
- Throw error when the port type is undefined
v0.6.1
Bug Fix
- Fix
registerNode
andregisterInterface
to be used for decorator
Features
- Add
Blackprint.OutputPort
andBlackprint.InputPort
for testing or scripting
v0.6.0
Features
- Add feature to rename port
- Add utils to help fix minified class name
- Add instance storage for variables, functions
Breaking Changes
- Creating input/output port dynamically now become:
- After:
node.createPort("input" | "output", name, type)
- Before:
node.input.add(name, type)
- After:
- Deleting input/output port dynamically now become:
- After:
node.deletePort("input" | "output", name)
- Before:
node.input.delete(name)
- After:
- Input/output port name that start with
_
will be ignored - Rename some function and mark it as private
node.input
andnode.output
construction now must be changed to static class variable
Click here to open details
class MyCustomNode extends Blackprint.Node {
// Before
input = { MyInput: Number };
output = { MyOutput: Number };
// After
static input = { MyInput: Number };
static output = { MyOutput: Number };
}