buggy-cli's People
buggy-cli's Issues
Mux inside a compound
Currently a mux can only detect recursive nodes inside of one compound. But if the mux is somehow encapsulated it should also work.
CLI should respect `--from` parameter
Make versions more robust
Currently versions are quite arbitrary and introduce a lot of extra work. The version should always indicate what is compatible. This mainly concerns the implementations in the component-library.
I would prefer a system where, as long as buggy is under heavy development, that the version stays below 1.0.0 and the minor version indicates the what dependencies are compatible. E.g. for the upcoming v0.6.0 release every node in the component library must have a 0.6.* version. Other version (like 0.5.*) are not valid.
This has the advantage that all version except the current release can be dropped and we use the newest compatible version in this sub release. In clojure files one could say (use 0.6.*)
at the beginning of the file to choose compatible implementations.
A disadvantage is, that it is not possible to independently introduce changes to nodes that are not backwards compatible. Those changes would have to wait till the next minor release.
Ensure correct ordering in inputs / outputs
Currently we use the order of inputs / outputs in some places (e.g. partials and code generation). But the inputs are stored as an object and thus have no guaranteed order.
Clean up dependency graph mess
The function sequenceDependencies
got rather confusing and requires a cleaner implementation. Moreover the method can currently only process two levels of dependency. All other dependencies are ignored.
Add notification when installing dependencies
When installing dependencies, the buggy-cli can work for a while and it is not clear to the user what happens. It seems stuck. Add a simple notification to indicate that a package is installing and optimally information about the progress.
Add debugging possibility
Either create a server or compile to javasript and show debugging information in the interactive html page.
Information and controls that should/could be available:
- "Step through", e.g. for every (selected) atomic
- Current value of each channel
- Log all events over a channel
- Show waiting nodes
- Show different recursion levels separately
- Record / replay feature with black boxing compounds (could increase speed significantly?)
Differentiate into partial and call for lambdas
Currently lambdas are applied via apply
which takes exactly one argument and one function. Partials can set one argument of a function and return a new function that takes one argument less.
It is cleaner to separate partials and calling the function. The call node represents a function call of an function without arguments, thus apply = call partial
.
Add an API for the CLI tasks
The CLI tasks are all implemented in cli.js. It would be handy to use them in other projects programmatically and thus there should be an API.
Pinpointing graphtools does not always work correctly.
Creating SVGs currently leads to the usage of two different graphtools versions. This should be impossible, but it is not. I get the following toolchain:
[ { name: 'lisgy',
module: '@buggyorg/lisgy',
minVersion: '0.2.0-pre.1',
consumes: 'input',
produces: 'portgraph',
activatedBy: [ '$<bin> input' ],
args: 'input',
version: '0.2.0-pre.1',
graphtools: '0.4.0-pre.8' },
{ name: 'resolve',
module: '@buggyorg/resolve',
minVersion: '0.2.2',
consumes: 'portgraph',
produces: 'portgraph',
activatedBy: [ 'resolve' ],
version: '0.2.2',
graphtools: '0.4.0-pre.11' },
{ name: 'portgraph2kgraph',
module: '@buggyorg/portgraph2kgraph',
consumes: 'portgraph',
depends: [ 'resolve' ],
produces: 'kgraph',
version: '0.1.2',
graphtools: '0.4.0-pre.8' },
{ name: 'graphify',
module: '@buggyorg/graphify',
consumes: 'kgraph',
produces: 'svg',
version: '0.1.27',
graphtools: null } ]
It uses the version 0.4.0-pre.8
and 0.4.0-pre.11
. There is currently no combination that can be selected. It should simply print an error indicating the impossible situation.
Interactive mode does not work if buggy-cli is installed with sudo
At the moment, buggy saves the index.html
with the graph included as index2.html
into the node_modules
directory of graphify. This approach is not very clean and also doesn't work for those who install global npm applications with sudo
.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.