Giter Club home page Giter Club logo

nodecg-cli's Introduction

NodeCG

NodeCG

Discord Build Status Coverage Status Docker Build Status Twitter

NodeCG is a broadcast graphics framework and application. It enables you to write complex, dynamic broadcast graphics using the web platform. NodeCG has no graphics or drawing primitives of its own. Instead, NodeCG provides a structure for your code and an API to facilitate moving data between the dashboard, the server, and your graphics. It makes few assumptions about how to best code a graphic, and gives you freedom to use whatever libraries, frameworks, tools, and methodologies you want. As such, NodeCG graphics can be rendered in any environment that can render HTML, including:

Don't see your preferred streaming software on this list? NodeCG graphics require a modern browser engine. If your streaming software's implementation of browser source uses a recent-ish browser engine, chances are that NodeCG graphics will work in it. You can check what version your streaming software uses for its browser sources by opening whatversion.net/chrome as a browser source.

Have questions about NodeCG, or just want to say 'hi'? Join our Discord server!

Documentation & API Reference

Full docs and API reference are available at https://nodecg.dev

Goals

The NodeCG project exists to accomplish the following goals:

  • Make broadcast graphics (also known as "character generation" or "CG") more accessible.
  • Remain as close to the web platform as possible.
  • Support broadcasts of any size and ambition.

Let's unpack what these statements mean:

> Make broadcast graphics (also known as "character generation" or "CG") more accessible

Historically, broadcast graphics have been expensive. They either required expensive hardware, expensive software, or both. NodeCG was originally created to provide real-time broadcast graphics for Tip of the Hats, which is an all-volunteer charity fundraiser that had a budget of $0 for its first several years.

Now, it is possible to create an ambitious broadcast using entirely free software and consumer hardware. The NodeCG project embraces this democratization of broadcast technology.

> Remain as close to the web platform as possible

NodeCG graphics are just webpages. There is absolutely nothing special or unique about them. This is their greatest strength.

By building on the web platform, and not building too many abstractions on top of it, people developing broadcast graphics with NodeCG have access to the raw potential of the web. New APIs and capabilities are continually being added to the web platform, and NodeCG developers should have access to the entirety of what the web can offer.

> Support broadcasts of any size and ambition

NodeCG's roots are in small broadcasts with no budget. More recently, NodeCG has begun seeing use in increasingly elaborate productions. We believe that one set of tools can and should be able to scale up from the smallest show all the way to the biggest fathomable show. Whether you're using OBS for everything, or a hardware switcher with a traditional key/fill workflow, NodeCG can be a part of any broadcast graphics system.

Maintainers

Designers

Acknowledgements

nodecg-cli's People

Contributors

anarcho-loneliness avatar dan-shields avatar denolfe avatar github-actions[bot] avatar greenkeeper[bot] avatar greenkeeperio-bot avatar hoishin avatar inkfarer avatar renovate[bot] avatar zoton2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

nodecg-cli's Issues

Generate default bundle config from configschema.json

I looked into this last night after speaking briefly with @lange on gitter. Generating questions for inquirer.js to question the user, then populate a config is not feasible due to how complex a schema can be.

However, generating a config based on the configschema.json can be done rather easily using something like JSON-Schema-Instantiator, which supports the "default" tag in JSON Schema.

For instance:

{
  "properties": {
    "twitchUsername": {
      "type": "string"
    },
    "updateViewerInterval": {
      "description": "Interval to update viewer count (seconds)",
      "type": "integer",
      "default": 15,
      "minimum": 5
    },
    "updateFollowerInterval": {
      "description": "Interval to update followers (seconds)",
      "type": "integer",
      "default": 15,
      "minimum": 5
    }
  },
  "required": ["twitchUsername"]
}

would output

{
  "twitchUsername": "",
  "updateViewerInterval": 15,
  "updateFollowerInterval": 15
}

Is this something that would still be useful?

An in-range update of request is breaking the build 🚨

Version 2.81.0 of request just got published.

Branch Build failing 🚨
Dependency request
Current Version 2.80.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As request is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details
Commits

The new version differs by 11 commits .

  • a0cdc70 Update changelog
  • f2f54fa 2.81.0
  • d99964c Merge pull request #2584 from sergejmueller/patch-1
  • 34d1ea5 Upgrade qs to version 6.4.0
  • fa48e67 safe-buffer doesn't zero-fill by default, its just a polyfill. (#2578)
  • 2e70b74 Timings: Tracks 'lookup', adds 'wait' time, fixes connection re-use (#2566)
  • 7ec8b84 Merge pull request #2574 from request/safe-buffer
  • 1425883 Merge pull request #2573 from ahmadnassri/patch-3
  • f113253 Migrating to safe-buffer for improved security.
  • 095ec79 fixes #2572
  • 7b9ceef 2.80.1

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Line-Endings error on macOs

Hey, got this on my macos last version:

❯ yarn global add nodecg-cli
yarn global v1.22.4
[1/4] πŸ”  Resolving packages...
warning nodecg-cli > [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
[2/4] 🚚  Fetching packages...
[3/4] πŸ”—  Linking dependencies...
[4/4] πŸ”¨  Building fresh packages...
success Installed "[email protected]" with binaries:
      - nodecg
✨  Done in 3.39s.
❯ mkdir nodecg
❯ cd nodecg
❯ nodecg setup
env: node\r: No such file or directory

Any ideas ?

Thanks

fresh nodecg-cli on node.js v.0.12 gives : No such file or directory

Hi.

A fresh install of nodecg-cli

$ sudo npm install -g nodecg-cli
[sudo] password for zyxep:
/usr/local/bin/nodecg -> /usr/local/lib/node_modules/nodecg-cli/bin/nodecg
npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/npmconf requires semver@'2' but will load
npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/semver,
npm WARN unmet dependency which is version 4.2.0
npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/npmconf requires uid-number@'0.0.5' but will load
npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/uid-number,
npm WARN unmet dependency which is version 0.0.6
npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/read-package-json/node_modules/normalize-package-data requires semver@'2 || 3' but will load
npm WARN unmet dependency /usr/local/lib/node_modules/npm/node_modules/semver,
npm WARN unmet dependency which is version 4.2.0
[email protected] /usr/local/lib/node_modules/nodecg-cli
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
β”œβ”€β”€ [email protected]
β”œβ”€β”€ [email protected] ([email protected])
β”œβ”€β”€ [email protected] ([email protected], [email protected], [email protected])
β”œβ”€β”€ [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])

Gives me following

$ nodecg
: No such file or directory

Dependency Dashboard

This issue contains a list of Renovate updates and their statuses.

Pending Approval

These branches will be created by Renovate only once you click their checkbox below.

  • chore(deps): pin dependencies (@gamesdonequick/prettier-config, @types/inquirer, @types/jest, @types/node, @types/tmp, commander, coveralls, eslint, eslint-config-prettier, eslint-config-xo, eslint-config-xo-typescript, inquirer, npm-run-all, prettier, ts-jest, type-fest, typescript)
  • chore(deps): pin dependencies (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)
  • chore(deps): pin dependency jest to v26.6.3
  • chore(deps): pin dependency semantic-release to v17.4.2
  • chore(deps): update dependency @types/inquirer to v7.3.3
  • chore(deps): update dependency @types/jest to v26.0.24
  • chore(deps): update dependency @types/node to v12.20.19
  • chore(deps): update dependency @types/tmp to v0.2.1
  • chore(deps): update dependency coveralls to v3.1.1
  • chore(deps): update dependency ts-jest to v26.5.6
  • fix(deps): update dependency json-schema-to-typescript to v10.1.4
  • fix(deps): update dependency npm-package-arg to v6.1.1 (npm-package-arg, @types/npm-package-arg)
  • fix(deps): update dependency request to v2.88.2 (request, @types/request)
  • chore(deps): update dependency @types/fs-extra to v5.1.0
  • chore(deps): update dependency eslint to v7.32.0
  • chore(deps): update dependency eslint-config-xo to v0.38.0
  • chore(deps): update dependency eslint-config-xo-typescript to v0.44.0
  • chore(deps): update dependency prettier to v2.3.2
  • chore(deps): update dependency type-fest to v0.21.3
  • chore(deps): update dependency typescript to v4.3.5
  • fix(deps): update dependency json-schema-defaults to v0.4.0
  • fix(deps): update dependency rimraf to v2.7.1 (rimraf, @types/rimraf)
  • fix(deps): update dependency semver to v5.7.1
  • fix(deps): update dependency tslib to v1.14.1
  • chore(deps): update actions/setup-node action to v2
  • chore(deps): update codecov/codecov-action action to v2
  • chore(deps): update dependency @types/fs-extra to v9
  • chore(deps): update dependency @types/hosted-git-info to v3
  • chore(deps): update dependency @types/jest to v27
  • chore(deps): update dependency @types/node to v14
  • chore(deps): update dependency eslint-config-prettier to v8
  • chore(deps): update dependency type-fest to v2
  • chore(deps): update jest monorepo (major) (jest, ts-jest)
  • fix(deps): update dependency chalk to v4
  • fix(deps): update dependency commander to v8
  • fix(deps): update dependency fs-extra to v10
  • fix(deps): update dependency inquirer to v8
  • fix(deps): update dependency npm-package-arg to v8
  • fix(deps): update dependency rimraf to v3 (rimraf, @types/rimraf)
  • fix(deps): update dependency semver to v7 (semver, @types/semver)
  • fix(deps): update dependency tslib to v2

  • Check this box to trigger a request for Renovate to run again on this repository

Sync with the main nodecg repo

nodecg-cli has been a bit unloved in the past year or two. It's not been kept up-to-date with changes happening in NodeCG itself. Specifically, it doesn't know about all the current package manifest properties, and it still recommends ~0.8.0 as the default compatibleRange.

This project should be given a once-over to ensure it is sync'd with NodeCG itself.

mess around with installing nodecg from git rather than npm

Currently, the init command installs NodeCG from npm. This is bad for many reasons:

  • Installation takes way longer than it should, because everything is installed to node_modules then moved into cwd
  • Updating is hard, because the current install method doesn't really work in a dirty folder

Installing/updating nodecg via git commands might be better. We can easily reference tagged releases.

An in-range update of sinon is breaking the build 🚨

Version 4.1.4 of sinon was just published.

Branch Build failing 🚨
Dependency sinon
Current Version 4.1.3
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

sinon is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

Release Notes Minor fix for Symbol names and deprecation of spy.reset
  • Fix: assertion error messages did not handle Symbol names (#1640)
  • Deprecate spy.reset(), use spy.resetHistory() instead (#1446)
Commits

The new version differs by 36 commits.

  • 1ea2749 Update docs/changelog.md and set new release id in docs/_config.yml
  • 078c082 Add release documentation for v4.1.4
  • 571263e 4.1.4
  • f2ee9f1 Update History.md and AUTHORS for new release
  • a8262dd Assertion error messages handle symbolic method names
  • 8fa1e14 Merge pull request #1641 from mroderick/point-to-stack-overflow
  • 7c1ebd0 Update issue links to point to sinonjs/sinon
  • 93418f6 Update documentation to emphasize Stack Overflow
  • ca9e2fa Merge pull request #1636 from fearphage/fix-headless-chrome-in-circle
  • 39186f4 use google-chrome-unstable for tests
  • 6315621 invalidate cache
  • d078af9 try using default chrome install
  • 177c4b6 upgraded to the lastest official version of mochify
  • ecdc4e0 test with updated mochify
  • 360c2e7 added more details and notes

There are 36 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

liftoff 2x / v8flags 2x released

Heya, this is just a friendly note to let you know that a new version of Liftoff and some of the dependencies commonly used in conjunction with it have been released. This release adds better support for situations where your user's configuration files are written using features behind a v8 flag (e.g. --harmony). Windows users and io.js users should see less issues if you upgrade!

Some helpful links:
https://github.com/tkellen/node-liftoff/blob/master/UPGRADING.md#100---200
https://github.com/tkellen/node-v8flags/blob/master/README.md#example
https://github.com/tkellen/node-hacker/blob/master/bin/hacker.js#L10-L14

Thanks!

Nodecg defaultconfig

The Command semmed to stopped Working

nodecg-cli: 8.0.0
Nodejs: 16.13.0

Expected Behavior:

The command should Create a Config file from the configschema.json

Steps to Reproduce:

  • Create a Bundle
  • Create a configschema.json
  • Run nodecg defaultconfig

Results in

Ξ» nodecg defaultconfig
Error: TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received undefined

Installing bundles with a GitHub username/repo pair is not functioning

Pulling git repositories using the git:// protocol has been disabled by GitHub, causing nodecg-cli to be unable to install bundles by a username/repo pair. Blog post from GitHub on the change

How to reproduce

Running on:

  • macOS 12.2.1
  • nodecg-cli version 8.0.0
  • git version 2.34.0
  • Node version 16.13.1

The following commands will throw an error:
nodecg install speedcontrol/nodecg-speedcontrol
nodecg install inkfarer/ipl-overlay-controls

Full log:

Fetching nodecg-speedcontrol release list... fatal: remote error: 
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
failed!
Error: Command failed: git ls-remote --refs --tags git://github.com/speedcontrol/nodecg-speedcontrol.git
fatal: remote error: 
  The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.

    at checkExecSyncError (node:child_process:826:11)
    at Object.execSync (node:child_process:900:15)
    at Object.default_1 [as default] (/usr/local/lib/node_modules/nodecg-cli/dist/lib/fetch-tags.js:5:37)
    at Command.action (/usr/local/lib/node_modules/nodecg-cli/dist/commands/install.js:53:36)
    at Command.listener [as _actionHandler] (/usr/local/lib/node_modules/nodecg-cli/node_modules/commander/index.js:426:31)
    at Command._parseCommand (/usr/local/lib/node_modules/nodecg-cli/node_modules/commander/index.js:1002:14)
    at Command._dispatchSubcommand (/usr/local/lib/node_modules/nodecg-cli/node_modules/commander/index.js:953:18)
    at Command._parseCommand (/usr/local/lib/node_modules/nodecg-cli/node_modules/commander/index.js:970:12)
    at Command.parse (/usr/local/lib/node_modules/nodecg-cli/node_modules/commander/index.js:801:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/nodecg-cli/dist/index.js:37:9)

Version 10 of node.js has been released

Version 10 of Node.js (code name Dubnium) has been released! 🎊

To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:

  • Added the new Node.js version to your .travis.yml
  • The new Node.js version is in-range for the engines in 1 of your package.json files, so that was left alone

If you’re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.

More information on this issue

Greenkeeper has checked the engines key in any package.json file, the .nvmrc file, and the .travis.yml file, if present.

  • engines was only updated if it defined a single version, not a range.
  • .nvmrc was updated to Node.js 10
  • .travis.yml was only changed if there was a root-level node_js that didn’t already include Node.js 10, such as node or lts/*. In this case, the new version was appended to the list. We didn’t touch job or matrix configurations because these tend to be quite specific and complex, and it’s difficult to infer what the intentions were.

For many simpler .travis.yml configurations, this PR should suffice as-is, but depending on what you’re doing it may require additional work or may not be applicable at all. We’re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, I’m a humble robot and won’t feel rejected πŸ€–


FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Installation of bundles

When installing the nodecg-cli, 'nodecg' is not recognized as an internal or external command,
operable program or batch file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.