0.0.24 • Published 11 months ago

@noodle-graph/cli v0.0.24

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

Noodle 🍜

Architecture diagram that maintains itself.

Noodle is an open-source project designed to simplify the process of understanding and visualizing complex system architectures. It offers automated architecture diagram generation, graph filtering, user-friendly UI features, and a friendly CLI, making it easy to deploy and use. Additionally, Noodle is reliant on the best source of truth, which is the code itself, by linking to the source code of the relationships.

Node.js CI Node.js Package


Quick start

1. Install

npm install --location=global @noodle-graph/cli

2. Add Noodle comments

Simple example

3. Create config file

Simple example

4. noodle run --open

Commands

run

noodle run

Using the scanner to search resources relationships and bundles a UI with the results.

Options

OptionEnvironment VariableDefaultDescription
--config, -cNOODLE_CONFIG./noodle.jsonPath to the scan configuration file.
--output, -oNOODLE_OUTPUT./noodleScanOutputPath to the UI bundle output folder.
--githubTokenNOODLE_GITHUB_TOKENnullGitHub access token. Required for GitHub resources.
--open-falseWhether to open in the browser the bundled UI when finished.
--workersNOODLE_WORKERS8Amount of workers for scanning the files of a resource.
--verboseNOODLE_VERBOSEfalseWhether to print debug logs.

Scan config file

You can find example of a config file in the basic example

FieldRequiredDescription
pluginsNoList of plugin import names. See examples/basic/noodleWithPlugin.json
resourcesYesList of resources objects to scan or declare.
Resource object
FieldPatternRequiredDefaultDescription
ida-z, number, forward slash, underscore, dash. RegEx: [a-z\d-_/]+Yes-Identifier of the resource.
nameAny stringNoThe value of idThe name of the resource.
descriptionAny stringNonullDescription of the resource.
typeSee UI iconsNonullThe type of the resource is deployed on
tagsa-z, number, forward slash, underscore, dash. RegEx: [a-z\d-_/]+No[]Tags of the resource. For the UI view and filtering.
urlnull if source is config, otherwise a valid URL.Yes, except if source is config.nullThe URL of the source to scan.
sourcegithub, local, configNogithub if url starts with https://, config if url is null, otherwise local.The type of the source to scan. config sources won't get scanned.
relationshipsRelationship arrayNonullList of relationship to added regardless of scanning.

serve

noodle serve

Serves the result of noodle run.

Options

OptionEnvironment VariableDefaultDescription
--production-falseUse production options: { "port": 3000, "host": "0.0.0.0" }. It will not open the browser and use default pino logger.
--port, -pNOODLE_PORT0The port the server will listen to.
--host, -pNOODLE_HOST127.0.0.1The host the server will listen to.
--scanOutputDirNOODLE_OUTPUT./noodleScanOutputThe output directory of noodle run.

Plugins

You can enrich the resource object in the output with plugins.

See examples/basic/noodleWithPlugin.json for example.

For implementing a plugin, see the CONTRIBUTING.md file.

Contributing

See CONTRIBUTING.md

0.0.24

11 months ago

0.0.20

1 year ago

0.0.21

1 year ago

0.0.22

1 year ago

0.0.23

1 year ago

0.0.15

1 year ago

0.0.16

1 year ago

0.0.17

1 year ago

0.0.18

1 year ago

0.0.19

1 year ago

0.0.10

1 year ago

0.0.11

1 year ago

0.0.12

1 year ago

0.0.13

1 year ago

0.0.14

1 year ago

0.0.15-rc.3

1 year ago

0.0.15-rc.2

1 year ago

0.0.15-rc.1

1 year ago

0.0.9

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago