Comparing version 1.0.0-alpha.1 to 1.0.0-alpha.2
@@ -5,3 +5,3 @@ # Contribute | ||
First, thank you for considering contributing to d3-node-editor! It's people like you that make the open source community such a great community! 😊 | ||
First, thank you for considering contributing to `rete`! It's people like you that make the open source community such a great community! 😊 | ||
@@ -14,3 +14,3 @@ We welcome any type of contribution, not only code. You can help with | ||
- **Code**: take a look at the [open issues](issues). Even if you can't write code, commenting on them, showing that you care about a given issue matters. It helps us triage them. | ||
- **Money**: we welcome financial contributions in full transparency on [open collective](https://opencollective.com/d3-node-editor) or [patreon](https://www.patreon.com/ni55an) | ||
- **Money**: we welcome financial contributions in full transparency on [open collective](https://opencollective.com/rete) or [patreon](https://www.patreon.com/ni55an) | ||
@@ -32,7 +32,7 @@ ## Your First Contribution | ||
The `docs/` folder contains documentation that deploys on [readthedocs.io](https://d3-node-editor.readthedocs.io/en/latest/). All changes in this folder should be commited separately with prefix `[docs]`. It will also be submitted as a pull request. | ||
The `docs/` folder contains documentation that deploys on [readthedocs.io](https://rete.readthedocs.io/en/latest/). All changes in this folder should be commited separately with prefix `[docs]`. It will also be submitted as a pull request. | ||
## Financial contributions | ||
We also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/d3-node-editor). | ||
We also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/rete). | ||
Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed. | ||
@@ -42,4 +42,4 @@ | ||
If you have any questions, create an [issue](issue) (protip: do a quick search first to see if someone else didn't ask the same question before!) or send a quick questions to [Gitter](https://gitter.im/D3-Node-Editor/Lobby). | ||
You can also reach us at hello@d3-node-editor.opencollective.com. | ||
If you have any questions, create an [issue](issue) (protip: do a quick search first to see if someone else didn't ask the same question before!) or send a quick questions to [Gitter](https://gitter.im/retejs/Lobby). | ||
You can also reach us at hello@rete.opencollective.com. | ||
@@ -50,4 +50,4 @@ ## Credits | ||
Thank you to all the people who have already contributed to d3-node-editor! | ||
<a href="graphs/contributors"><img src="https://opencollective.com/d3-node-editor/contributors.svg?width=890" /></a> | ||
Thank you to all the people who have already contributed to rete! | ||
<a href="graphs/contributors"><img src="https://opencollective.com/rete/contributors.svg?width=890" /></a> | ||
@@ -57,5 +57,5 @@ | ||
Thank you to all our backers! [[Become a backer](https://opencollective.com/d3-node-editor#backer)] | ||
Thank you to all our backers! [[Become a backer](https://opencollective.com/rete#backer)] | ||
<a href="https://opencollective.com/d3-node-editor#backers" target="_blank"><img src="https://opencollective.com/d3-node-editor/backers.svg?width=890"></a> | ||
<a href="https://opencollective.com/rete#backers" target="_blank"><img src="https://opencollective.com/rete/backers.svg?width=890"></a> | ||
@@ -65,15 +65,15 @@ | ||
Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/d3-node-editor#sponsor)) | ||
Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/rete#sponsor)) | ||
<a href="https://opencollective.com/d3-node-editor/sponsor/0/website" target="_blank"><img src="https://opencollective.com/d3-node-editor/sponsor/0/avatar.svg"></a> | ||
<a href="https://opencollective.com/d3-node-editor/sponsor/1/website" target="_blank"><img src="https://opencollective.com/d3-node-editor/sponsor/1/avatar.svg"></a> | ||
<a href="https://opencollective.com/d3-node-editor/sponsor/2/website" target="_blank"><img src="https://opencollective.com/d3-node-editor/sponsor/2/avatar.svg"></a> | ||
<a href="https://opencollective.com/d3-node-editor/sponsor/3/website" target="_blank"><img src="https://opencollective.com/d3-node-editor/sponsor/3/avatar.svg"></a> | ||
<a href="https://opencollective.com/d3-node-editor/sponsor/4/website" target="_blank"><img src="https://opencollective.com/d3-node-editor/sponsor/4/avatar.svg"></a> | ||
<a href="https://opencollective.com/d3-node-editor/sponsor/5/website" target="_blank"><img src="https://opencollective.com/d3-node-editor/sponsor/5/avatar.svg"></a> | ||
<a href="https://opencollective.com/d3-node-editor/sponsor/6/website" target="_blank"><img src="https://opencollective.com/d3-node-editor/sponsor/6/avatar.svg"></a> | ||
<a href="https://opencollective.com/d3-node-editor/sponsor/7/website" target="_blank"><img src="https://opencollective.com/d3-node-editor/sponsor/7/avatar.svg"></a> | ||
<a href="https://opencollective.com/d3-node-editor/sponsor/8/website" target="_blank"><img src="https://opencollective.com/d3-node-editor/sponsor/8/avatar.svg"></a> | ||
<a href="https://opencollective.com/d3-node-editor/sponsor/9/website" target="_blank"><img src="https://opencollective.com/d3-node-editor/sponsor/9/avatar.svg"></a> | ||
<a href="https://opencollective.com/rete/sponsor/0/website" target="_blank"><img src="https://opencollective.com/rete/sponsor/0/avatar.svg"></a> | ||
<a href="https://opencollective.com/rete/sponsor/1/website" target="_blank"><img src="https://opencollective.com/rete/sponsor/1/avatar.svg"></a> | ||
<a href="https://opencollective.com/rete/sponsor/2/website" target="_blank"><img src="https://opencollective.com/rete/sponsor/2/avatar.svg"></a> | ||
<a href="https://opencollective.com/rete/sponsor/3/website" target="_blank"><img src="https://opencollective.com/rete/sponsor/3/avatar.svg"></a> | ||
<a href="https://opencollective.com/rete/sponsor/4/website" target="_blank"><img src="https://opencollective.com/rete/sponsor/4/avatar.svg"></a> | ||
<a href="https://opencollective.com/rete/sponsor/5/website" target="_blank"><img src="https://opencollective.com/rete/sponsor/5/avatar.svg"></a> | ||
<a href="https://opencollective.com/rete/sponsor/6/website" target="_blank"><img src="https://opencollective.com/rete/sponsor/6/avatar.svg"></a> | ||
<a href="https://opencollective.com/rete/sponsor/7/website" target="_blank"><img src="https://opencollective.com/rete/sponsor/7/avatar.svg"></a> | ||
<a href="https://opencollective.com/rete/sponsor/8/website" target="_blank"><img src="https://opencollective.com/rete/sponsor/8/avatar.svg"></a> | ||
<a href="https://opencollective.com/rete/sponsor/9/website" target="_blank"><img src="https://opencollective.com/rete/sponsor/9/avatar.svg"></a> | ||
<!-- This `CONTRIBUTING.md` is based on @nayafia's template https://github.com/nayafia/contributing-template --> |
{ | ||
"name": "rete", | ||
"version": "1.0.0-alpha.1", | ||
"version": "1.0.0-alpha.2", | ||
"description": "JavaScript framework", | ||
@@ -30,4 +30,4 @@ "main": "build/rete.js", | ||
"devDependencies": { | ||
"babel-core": "^6.26.0", | ||
"babel-eslint": "^8.2.1", | ||
"babel-core": "^6.26.3", | ||
"babel-eslint": "^8.2.3", | ||
"babel-plugin-syntax-flow": "^6.18.0", | ||
@@ -41,8 +41,8 @@ "babel-plugin-transform-flow-strip-types": "^6.22.0", | ||
"babel-register": "^6.26.0", | ||
"eslint": "^4.18.1", | ||
"jsdom": "^11.5.1", | ||
"mocha": "^5.0.1", | ||
"rollup": "^0.56.3", | ||
"eslint": "^4.19.1", | ||
"jsdom": "^11.11.0", | ||
"mocha": "^5.2.0", | ||
"rollup": "^0.56.5", | ||
"rollup-copy-plugin": "0.0.1", | ||
"rollup-plugin-babel": "^3.0.3", | ||
"rollup-plugin-babel": "^3.0.4", | ||
"rollup-plugin-minify": "^1.0.3", | ||
@@ -49,0 +49,0 @@ "rollup-plugin-multi-entry": "^2.0.2", |
@@ -16,6 +16,6 @@ import babel from 'rollup-plugin-babel'; | ||
output: { | ||
file: 'build/d3-node-editor.js', | ||
file: 'build/rete.js', | ||
sourcemap: true, | ||
format: 'umd', | ||
name: 'D3NE', | ||
name: 'Rete', | ||
banner | ||
@@ -28,3 +28,3 @@ }, | ||
umd: { | ||
dest: 'build/d3-node-editor.min.js', | ||
dest: 'build/rete.min.js', | ||
ie8: true, | ||
@@ -42,5 +42,5 @@ output: { | ||
output: { | ||
file: 'build/d3-node-editor.engine.js', | ||
file: 'build/rete.engine.js', | ||
format: 'cjs', | ||
name: 'D3NE', | ||
name: 'Rete', | ||
banner | ||
@@ -52,3 +52,3 @@ }, | ||
copy({ | ||
'src/engine/engine.d.ts': 'build/d3-node-editor.engine.d.ts' | ||
'src/engine/engine.d.ts': 'build/rete.engine.d.ts' | ||
}) | ||
@@ -55,0 +55,0 @@ ] |
@@ -14,3 +14,3 @@ import { Component as ComponentWorker } from './engine/component'; | ||
builder() { } | ||
async builder() { } | ||
@@ -22,3 +22,2 @@ created() { } | ||
async build(node: Node) { | ||
//await this.editor.trigger('componentbuild', { component: this, node }); | ||
await this.builder(node); | ||
@@ -25,0 +24,0 @@ |
@@ -53,8 +53,12 @@ import { Component } from './component'; | ||
const connection = output.connectTo(input); | ||
try { | ||
const connection = output.connectTo(input); | ||
connection.data = data; | ||
this.view.addConnection(connection); | ||
connection.data = data; | ||
this.view.addConnection(connection); | ||
this.trigger('connectioncreated', connection); | ||
this.trigger('connectioncreated', connection); | ||
} catch (e) { | ||
this.trigger('warn', e) | ||
} | ||
} | ||
@@ -98,3 +102,3 @@ | ||
clear() { | ||
this.nodes.map(node => this.removeNode(node)); | ||
[...this.nodes].map(node => this.removeNode(node)); | ||
} | ||
@@ -101,0 +105,0 @@ |
@@ -1,2 +0,1 @@ | ||
type ComponentWorkerFunc = (node : any, inputs : any[][], outputs : any[]) => any; | ||
type EngineState = { | ||
@@ -8,11 +7,24 @@ AVALIABLE: 0, | ||
interface ComponentWorkerProps { | ||
worker: ComponentWorkerFunc; | ||
export class Emitter { | ||
constructor(); | ||
on(names : string, handler : (param?: any) => any) : Emitter; | ||
trigger(name : string, param?: any) : any; | ||
} | ||
export class ComponentWorker { | ||
export class Events { | ||
constructor(handlers : any); | ||
} | ||
export class Context extends Emitter { | ||
constructor(id : string, events : Events); | ||
use(plugin: any, options?: any); | ||
} | ||
export abstract class Component { | ||
name : string; | ||
worker : ComponentWorkerFunc; | ||
constructor(name : string, props : ComponentWorkerProps); | ||
constructor(name: string); | ||
worker(node : any, inputs : any[][], outputs : any[]): Promise<any> | any; | ||
} | ||
@@ -22,3 +34,3 @@ | ||
readonly id : string; | ||
components : ComponentWorker[] | ||
components : Component[] | ||
args : any[]; | ||
@@ -28,3 +40,5 @@ data : Object; | ||
onAbort : () => {}; | ||
constructor(id : string, components : ComponentWorker[]); | ||
constructor(id : string); | ||
register(component: Component); | ||
@@ -31,0 +45,0 @@ clone() : Engine; |
@@ -1,8 +0,4 @@ | ||
import { Engine, ComponentWorkerProps, ComponentWorker } from './engine./engine.d'; | ||
import {Engine, Context, Events, Component as ComponentWorker, Emitter} from './engine/engine.d'; | ||
export {Engine, ComponentWorker}; | ||
export { Engine, ComponentWorkerProps, ComponentWorker }; | ||
type ComponentBuilder = (node: Node) => any; | ||
type ComponentCreated = (node : any) => any; | ||
type ComponentDestroyed = (node : any) => any; | ||
type EngineState = { | ||
@@ -14,211 +10,85 @@ AVALIABLE: 0, | ||
interface ComponentProps extends ComponentWorkerProps { | ||
template?: string; | ||
builder: ComponentBuilder; | ||
created?: ComponentCreated; | ||
destroyed?: ComponentDestroyed; | ||
} | ||
declare class Module { | ||
constructor(data : any, titlesInput : String[], titlesOutput : String[]); | ||
static extractNodes(data : any, titles : String[]); | ||
read(inputs : String[]); | ||
write(outputs : String[]); | ||
} | ||
type ModuleWorker = (node : any, inputs : any[][], outputs : any[]) => any; | ||
type ModuleWorkerIO = (node : any, inputs : any[][], outputs : any[], module : Module) => any; | ||
type ControlHandler = (element : HTMLElement, control : Control) => any; | ||
type DiffOutput = { | ||
node: Number, | ||
input: Number | ||
} | ||
type DiffConnect = { | ||
output: Number, | ||
node: Number, | ||
removed: DiffOutput[], | ||
added: DiffOutput[] | ||
}; | ||
type DiffResult = { | ||
removed: Number[], | ||
added: Number[], | ||
moved: Number[], | ||
datachanged: Number[], | ||
connects: DiffConnect[] | ||
} | ||
type TaskAction = (inputs : any[][], data : any) => any[]; | ||
export class Socket { | ||
constructor(id : string, name : string, hint : string); | ||
constructor(name: string, data?: any); | ||
combineWith(socket : Socket); | ||
compatibleWith(socket : Socket); | ||
combineWith(socket: Socket); | ||
compatibleWith(socket: Socket); | ||
} | ||
export class Block { | ||
readonly id : number; | ||
position : number[]; | ||
width : number; | ||
height : number; | ||
style : any; | ||
constructor(Class); | ||
private static incrementId(Class) | ||
} | ||
export class Connection { | ||
private input : Input; | ||
private output : Output; | ||
private input: Input; | ||
private output: Output; | ||
} | ||
export class EventListener { | ||
private events : Object; | ||
persistent : boolean; | ||
export class Area extends Emitter { | ||
appendChild(el: HTMLElement); | ||
removeChild(el: HTMLElement); | ||
constructor(); | ||
on(names : string, handler : (param?: any, persistent?: boolean) => any) : EventListener; | ||
trigger(name : string, param?: any) : any; | ||
translate(x: number, y: number); | ||
zoom(zoom: number, ox?: number, oy?: number); | ||
} | ||
export type PathInfo = { | ||
connection: Connection, | ||
input: Input, | ||
output: Output | ||
} | ||
type ConnectionProducerRet = { | ||
points: number[][], | ||
curve: string | ||
}; | ||
type ConnectionProducer = (x1 : number, y1 : number, x2 : number, y2 : number, pathInfo: PathInfo) => ConnectionProducerRet; | ||
export class EditorView { | ||
editor : NodeEditor; | ||
pickedOutput?: Output; | ||
mouse : number[]; | ||
transform : Object; | ||
contextMenu : ContextMenu; | ||
emitter: Emitter; | ||
components: any; | ||
container : Object | ||
nodes: Map<Node, any>; | ||
connections: Map<Node, any>; | ||
private view : Object; | ||
private zoom : Object; | ||
area: Area; | ||
constructor(editor : NodeEditor, container : HTMLElement, menu : ContextMenu); | ||
private view: Object; | ||
private zoom: Object; | ||
private getTemplate(node); | ||
addNode(node: Node); | ||
removeNode(node: Node); | ||
addConnection(connection: Connection); | ||
removeConnection(connection: Connection); | ||
updateConnections(args: any); | ||
resize(); | ||
connectionProducer : ConnectionProducer; | ||
click(e: MouseEvent); | ||
} | ||
updateConnections(); | ||
update(); | ||
export class NodeEditor extends Context { | ||
private assignContextMenuHandler(); | ||
private areaClick(); | ||
components: Map<string, Component>; | ||
selected: Selected; | ||
view: EditorView; | ||
nodes: Node[]; | ||
constructor(id: string, container: HTMLElement); | ||
zoomAt(nodes : Node[]); | ||
translate(x : number, y : number); | ||
scale(scale : number); | ||
setScaleExtent(scaleMin : number, scaleMax : number); | ||
setTranslateExtent(left : number, top : number, right : number, bottom : number); | ||
} | ||
addNode(node: Node, mousePlaced?: boolean) | ||
removeNode(node: Node); | ||
connect(output: Output, input: Input, data?: any); | ||
removeConnection(connection: Connection); | ||
selectNode(node: Node, accumulate?: boolean); | ||
export class NodeEditor { | ||
getComponent(name: string); | ||
register(component: Component); | ||
readonly id : string; | ||
readonly _id : number; | ||
components : Component[]; | ||
view : EditorView; | ||
eventListener : EventListener; | ||
private selected : Selected; | ||
private history : History; | ||
nodes : Node[]; | ||
groups : Group[]; | ||
readOnly : boolean; | ||
constructor(id : string, container : HTMLElement, components : Component[], menu : ContextMenu); | ||
addNode(node : Node, mousePlaced?: boolean) | ||
addGroup(group : Group); | ||
removeNode(node : Node); | ||
removeGroup(group : Group); | ||
connect(output : Output | Connection, input?: Input); | ||
removeConnection(connection : Connection); | ||
selectNode(node : Node, accumulate?: boolean); | ||
selectGroup(group : Group, accumulate?: boolean); | ||
keyDown(); | ||
clear(); | ||
toJSON(); | ||
fromJSON(json : any); | ||
fromJSON(json: any); | ||
} | ||
export class History { | ||
export class Node { | ||
readonly id: number; | ||
name: string; | ||
position: number[]; | ||
constructor(editor : NodeEditor); | ||
add(exec, undo, args); | ||
undo(); | ||
redo(); | ||
} | ||
inputs: Input[]; | ||
outputs: Output[]; | ||
controls: Control[]; | ||
data: any; | ||
meta: any; | ||
export class ContextMenu { | ||
visible : number; | ||
x : number; | ||
y : number; | ||
constructor(name: string); | ||
constructor(items : any, searchBar?: boolean) | ||
private static incrementId(Class) | ||
private bindTemplate(t); | ||
private searchItems(filter?: string); | ||
haveSubitems(item); | ||
isVisible(); | ||
show(x : number, y : number, items?: any, searchBar?: boolean, onClick?: () => {}); | ||
hide(); | ||
} | ||
export class Group extends Block { | ||
title : string; | ||
nodes : Node[]; | ||
constructor(title : string, params : any); | ||
setMinSizes(width : number, height : number); | ||
setWidth(w : number); | ||
setHeight(h : number); | ||
isCoverNode(node : Node); | ||
coverNodes(nodes : Node[]); | ||
containNode(node : Node); | ||
addNode(node : Node); | ||
removeNode(node : Node); | ||
remove(); | ||
toJSON(); | ||
static fromJSON(json : any); | ||
} | ||
export class Node extends Block { | ||
el: HTMLElement; | ||
group : Group; | ||
inputs : Input[]; | ||
outputs : Output[]; | ||
controls : Control[]; | ||
data : any; | ||
title : string; | ||
readOnly : boolean; | ||
constructor(title : string); | ||
addControl(control : Control, index?: number); | ||
addInput(input : Input, index?: number); | ||
addOutput(output : Output, index?: number); | ||
addControl(control: Control, index?: number); | ||
addInput(input: Input, index?: number); | ||
addOutput(output: Output, index?: number); | ||
getConnections(type); | ||
@@ -228,5 +98,6 @@ | ||
private static incrementId(); | ||
toJSON(); | ||
static fromJSON(component : Component, json : any) | ||
static fromJSON(component: Component, json: any) | ||
} | ||
@@ -238,33 +109,30 @@ | ||
add(item : Node | Group, accumulate?: boolean) | ||
add(item: Node, accumulate?: boolean) | ||
clear(); | ||
remove(item : () => {}); | ||
contains(item : () => {}); | ||
each(callback : () => {}); | ||
eachNode(callback : () => {}); | ||
eachGroup(callback : () => {}); | ||
getNodes() : Node[]; | ||
getGroups() : Group[]; | ||
remove(item: () => {}); | ||
contains(item: () => {}); | ||
each(callback: () => {}); | ||
eachNode(callback: () => {}); | ||
getNodes(): Node[]; | ||
} | ||
export class IO { | ||
el: HTMLElement; | ||
node : Node; | ||
multipleConnections : boolean; | ||
connections : Connection[]; | ||
node: Node; | ||
multipleConnections: boolean; | ||
connections: Connection[]; | ||
title : string; | ||
socket : Socket; | ||
title: string; | ||
socket: Socket; | ||
constructor(title, socket, multiConns); | ||
removeConnection(connection : Connection); | ||
removeConnection(connection: Connection); | ||
} | ||
export class Input extends IO { | ||
control : Control; | ||
control: Control; | ||
constructor(title : string, socket : Socket, multiConns?: boolean); | ||
constructor(title: string, socket: Socket, multiConns?: boolean); | ||
hasConnection(); | ||
addConnection(connection : Connection); | ||
addControl(control : Control); | ||
addConnection(connection: Connection); | ||
addControl(control: Control); | ||
showControl(); | ||
@@ -276,54 +144,32 @@ toJSON(); | ||
constructor(title : string, socket : Socket, multiConns?: boolean) | ||
constructor(title: string, socket: Socket, multiConns?: boolean) | ||
hasConnection(); | ||
connectTo(input : Input); | ||
connectedTo(input : Input); | ||
connectTo(input: Input); | ||
connectedTo(input: Input); | ||
toJSON(); | ||
} | ||
export class Control { | ||
export abstract class Control { | ||
constructor(html : string, handler?: ControlHandler); | ||
parent: Input | Node; | ||
constructor(); | ||
getNode(); | ||
getData(key : string); | ||
getData(key: string); | ||
putData(key : string, data : any); | ||
putData(key: string, data: any); | ||
} | ||
export class Component extends ComponentWorker { | ||
template : string; | ||
builder: ComponentBuilder; | ||
constructor(name : string, props : ComponentProps); | ||
export abstract class Component extends ComponentWorker { | ||
newNode() : Node; | ||
} | ||
editor: NodeEditor; | ||
engine: Engine; | ||
export class Diff { | ||
constructor(data1 : any, data2 : any); | ||
public compare() : DiffResult; | ||
} | ||
constructor(name: string); | ||
export class ModuleManager { | ||
constructor(titlesInput : String[], titlesOutput : String[]); | ||
getInputs(data : any); | ||
getOutputs(data : any); | ||
workerModule : ModuleWorker; | ||
workerInputs : ModuleWorkerIO; | ||
workerOutputs : ModuleWorkerIO; | ||
setEngine(engine : Engine); | ||
} | ||
export class Task { | ||
constructor(inputs : any[][], action : TaskAction); | ||
private getOptions(); | ||
private getOutputs(); | ||
reset(); | ||
run(data : any); | ||
option(index : Number); | ||
output(index : Number); | ||
} | ||
builder(node: Node): Promise<any> | any; | ||
created(node: Node); | ||
destroyed(node: Node); | ||
createNode(data?: any): Promise<Node>; | ||
} |
@@ -11,3 +11,3 @@ import { Component } from './component'; | ||
export { | ||
export default { | ||
Component, | ||
@@ -14,0 +14,0 @@ Control, |
@@ -16,2 +16,4 @@ import { Area } from './area'; | ||
this.container.style.overflow = 'hidden'; | ||
this.nodes = new Map(); | ||
@@ -18,0 +20,0 @@ this.connections = new Map(); |
@@ -24,3 +24,3 @@ export default { | ||
], | ||
'title': 'name' | ||
'name': 'name' | ||
}, | ||
@@ -47,3 +47,3 @@ '2': { | ||
], | ||
'title': 'name' | ||
'name': 'name' | ||
}, | ||
@@ -84,3 +84,3 @@ '3': { | ||
], | ||
'title': 'Add' | ||
'name': 'Add' | ||
}, | ||
@@ -121,3 +121,3 @@ '4': { | ||
], | ||
'title': 'Add' | ||
'name': 'Add' | ||
} | ||
@@ -124,0 +124,0 @@ }, |
@@ -9,2 +9,2 @@ import {JSDOM} from 'jsdom'; | ||
global.D3NE = require('../../build/d3-node-editor'); | ||
global.D3NE = require('../../build/rete'); |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
447001
51
6388
1