Skip to content

Commit c84e3ae

Browse files
authored
chore: 1.0.0 (#43)
* docs: update readme to ref docs * chore: update dependencies of scaffolded plugin * chore: update min supported version * deps: fix security warnings * docs: changelog for v1 * docs: changelog for v1 * build: update Node.js version of ci --------- Co-authored-by: Richard Herman <[email protected]>
1 parent 14cb373 commit c84e3ae

File tree

10 files changed

+150
-389
lines changed

10 files changed

+150
-389
lines changed

.github/workflows/build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
Build:
2323
strategy:
2424
matrix:
25-
node_version: ["20.5.1", "20.8.1"]
25+
node_version: ["20.15.0"]
2626
os: ["macos-latest", "windows-latest"]
2727

2828
runs-on: ${{ matrix.os }}

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- name: "🗃️ Setup Node"
2626
uses: actions/setup-node@v4
2727
with:
28-
node-version: "20.8.1"
28+
node-version: "20.15.0"
2929
registry-url: "https://registry.npmjs.org"
3030

3131
- name: "📐 Install dependencies"

CHANGELOG.md

+9
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@
1111

1212
# Change Log
1313

14+
## 1.0.0
15+
16+
### ♻️ Update
17+
18+
- Update new plugins to use `@elgato/streamdeck` version 1.
19+
- Update CDN of property inspectors.
20+
- Bump dependencies of Stream Deck CLI.
21+
- Bump dependencies of plugins scaffolded with `streamdeck create`.
22+
1423
## 0.3.2
1524

1625
### ♻️ Update

README.md

+14-304
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22

33
[![Stream Deck SDK banner](https://images.ctfassets.net/8j9xr8kwdre8/1ihLKCwNWEfPixs27dq0c0/130be66a5173f332e4caa892a3462893/banner.png)](https://docs.elgato.com/sdk)
44

5-
# Maker CLI (Beta)
5+
# Stream Deck CLI
66

7-
[![Maker CLI npm package](https://img.shields.io/npm/v/%40elgato/cli?logo=npm&logoColor=white)](https://www.npmjs.com/package/@elgato/cli)
8-
[![Build status](https://img.shields.io/github/actions/workflow/status/elgatosf/cli/build.yml?branch=main&label=Build&logo=GitHub)](https://github.com/elgatosf/cli/actions)
9-
[![SDK documentation](https://img.shields.io/badge/Documentation-2ea043?labelColor=grey&logo=gitbook&logoColor=white)](https://docs.elgato.com/sdk)
10-
[![Join the Marketplace Makers Discord](https://img.shields.io/badge/Marketplace%20Makers-5662f6?labelColor=grey&logo=discord&logoColor=white)](https://discord.gg/GehBUcu627)
7+
[![SDK documentation](https://img.shields.io/badge/Documentation-2ea043?labelColor=grey&logo=gitbook&logoColor=white)](https://docs.elgato.com/streamdeck/cli)
118
[![Elgato homepage](https://img.shields.io/badge/Elgato-3431cf?labelColor=grey&logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+RWxnYXRvPC90aXRsZT48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJtMTMuODgxOCA4LjM5NjQuMDI2MS4wMTk2IDkuOTQ5NCA1LjcxNzJjLS40ODg0IDIuNzI5LTEuOTE5NiA1LjIyMjMtNC4wMzg0IDcuMDI1M0ExMS45MjYyIDExLjkyNjIgMCAwIDEgMTIuMDk3IDI0Yy0zLjE5MjUgMC02LjE5MzktMS4yNDc3LTguNDUyNy0zLjUxNDRDMS4zODY4IDE4LjIxODguMTQyNyAxNS4yMDQ0LjE0MjcgMTJjMC0zLjIwNDIgMS4yNDQtNi4yMTg3IDMuNTAxNS04LjQ4NTRDNS45MDE5IDEuMjQ4IDguOTAzMiAwIDEyLjA5NyAwYzIuNDM5NCAwIDQuNzg0Ny43MzMzIDYuNzgzIDIuMTE4NyAxLjk1MjYgMS4zNTQgMy40NDY2IDMuMjM1NyA0LjMyMjcgNS40NDIyLjExMTIuMjgyOS4yMTQ5LjU3MzYuMzA1MS44NjU3bC0yLjEyNTUgMS4yMzU5YTkuNDkyNCA5LjQ5MjQgMCAwIDAtLjI2MTktLjg2OTRjLTEuMzU0LTMuODMwMy00Ljk4MTMtNi40MDQ4LTkuMDIzNy02LjQwNDhDNi44MTcxIDIuMzg4MyAyLjUyMiA2LjcwMDUgMi41MjIgMTJjMCA1LjI5OTUgNC4yOTUgOS42MTE1IDkuNTc0OCA5LjYxMTUgMi4wNTIgMCA0LjAwODQtLjY0NDIgNS42NTk2LTEuODY0NyAxLjYxNzItMS4xOTU1IDIuODAzNi0yLjgzMzcgMy40MzA5LTQuNzM2NGwuMDA2NS0uMDQxOUw5LjU5MDYgOC4zMDQ4djcuMjI1Nmw0LjAwMDQtMi4zMTM4IDIuMDYgMS4xODExLTUuOTk2MiAzLjQ2ODgtMi4xMi0xLjIxMjZWNy4xOTQzbDIuMTE3NC0xLjIyNDUgNC4yMzA5IDIuNDI3OS0uMDAxMy0uMDAxMyIvPjwvc3ZnPg==)](https://elgato.com)
9+
[![Join the Marketplace Makers Discord](https://img.shields.io/badge/Marketplace%20Makers-5662f6?labelColor=grey&logo=discord&logoColor=white)](https://discord.gg/GehBUcu627)
10+
[![Stream Deck CLI npm package](https://img.shields.io/npm/v/%40elgato/cli?logo=npm&logoColor=white)](https://www.npmjs.com/package/@elgato/cli)
11+
[![Build status](https://img.shields.io/github/actions/workflow/status/elgatosf/cli/build.yml?branch=main&label=Build&logo=GitHub)](https://github.com/elgatosf/cli/actions)
1212

1313
</div>
1414

1515
## Installation
1616

1717
```
18-
npm install -g @elgato/cli
18+
npm install -g @elgato/cli@latest
1919
```
2020

2121
## Usage
@@ -43,305 +43,15 @@ Alias:
4343
sd
4444
```
4545

46-
## Commands
47-
48-
- [create](#%EF%B8%8F-create)<br />Creation wizard.
49-
- [link](#-link)<br />Links the plugin to Stream Deck.
50-
- [restart](#%EF%B8%8F-restart)<br />Starts the plugin in Stream Deck; if the plugin is already running, it is stopped first.
51-
- [stop](#-stop)<br />Stops the plugin in Stream Deck.
52-
- [validate](#sd-validate)<br />Validates the Stream Deck plugin.
53-
- [pack](#sd-pack)<br />Creates a .streamDeckPlugin file from the plugin.
54-
- [dev](#%EF%B8%8F-dev)<br />Enables developer mode.
55-
- [config](#%EF%B8%8F-config)<br />Manage the local configuration.
56-
57-
## ✏️ create
58-
59-
Creation wizard.
60-
61-
### Synopsis
62-
63-
```
64-
streamdeck create
65-
```
66-
67-
### Description
68-
69-
The creation wizard will guide you through creating Stream Deck plugins with our official Node.js SDK, and provides all scaffolding required to get started quickly. As part of the wizard, developer mode is enabled, and the plugin built and linked to Stream Deck making it ready for use.
70-
71-
> To learn more about creating Stream Deck plugins with Node.js, see our [Stream Deck SDK](https://github.com/elgatosf/streamdeck).
72-
73-
#### See Also
74-
75-
- [dev](#%EF%B8%8F-dev)
76-
- [link](#-link)
77-
78-
## 🔗 link
79-
80-
Links the plugin to Stream Deck.
81-
82-
### Synopsis
83-
84-
```
85-
streamdeck link [path]
86-
```
87-
88-
### Description
89-
90-
Links the specified path (folder) to Stream Deck, effectively installing the plugin, allowing it to be accessed from within Stream Deck. When the path is unspecified, the current working directory is used.
91-
92-
Note: The folder name should reflect the UUID of the plugin, and must be suffixed with `.sdPlugin`, eg. `com.elgato.wave-link.sdPlugin`.
93-
94-
## ♻️ restart
95-
96-
Starts the plugin in Stream Deck; if the plugin is already running, it is stopped first.
97-
98-
### Synopsis
99-
100-
```
101-
streamdeck restart <uuid>
102-
103-
alias: r
104-
```
105-
106-
### Description
107-
108-
Instructs Stream Deck to start the plugin, as determined by the UUID. If the plugin is already running within Stream Deck, it is first stopped and then started. As part of restarting the plugin all resources associated with the plugin, including manifest definitions, are reloaded.
109-
110-
#### See Also
111-
112-
- [stop](#-stop)
113-
114-
## 🛑 stop
115-
116-
Stops the plugin in Stream Deck.
117-
118-
### Synopsis
119-
120-
```
121-
streamdeck stop <uuid>
122-
123-
alias: s
124-
```
125-
126-
### Description
127-
128-
Instructs Stream Deck to stop the plugin, as determined by the UUID. When stopped, the plugin and all of its resources are unloaded from Stream Deck allowing the plugin to be changed.
129-
130-
#### See Also
131-
132-
- [restart](#%EF%B8%8F-restart)
133-
134-
<h3 id="sd-validate">
135-
✅ validate
136-
</h3>
137-
138-
Validates the Stream Deck plugin.
139-
140-
### Synopsis
141-
142-
```
143-
streamdeck validate [path]
144-
145-
Arguments:
146-
path Path of the plugin to validate
147-
148-
Options:
149-
--force-update-check Forces an update check (default: false)
150-
--no-update-check Disables updating schemas
151-
```
152-
153-
### Description
154-
155-
Validates the Stream Deck plugin in the current working directory, or `path` when specified, and outputs the validation results. By default, the command will automatically check and install validation rule updates; this check occurs daily, unless forced with `--force-update-check` or prevented with `--no-update-check`.
156-
157-
### Configuration
158-
159-
#### `--force-update-check`
160-
161-
- Default: `false`
162-
- Type: Boolean
163-
164-
Forces an update check of new validation rules; by default, an update check will occur once a day. Cannot be used in conjunction with `--no-update-check`.
165-
166-
#### `--no-update-check`
167-
168-
- Default: `false`
169-
- Type: Boolean
170-
171-
Prevents an update check of new validation rules. This configuration option is recommended when using the CLI as part of a build pipeline. Cannot be used in conjunction with `--force-update-check`.
172-
173-
<h3 id="sd-pack">
174-
📦 pack
175-
</h3>
176-
177-
Creates a .streamDeckPlugin file from the plugin.
178-
179-
### Synopsis
180-
181-
```
182-
streamdeck pack [options] [path]
183-
184-
Arguments:
185-
path Path of the plugin to pack
186-
187-
Options:
188-
--dry-run Generates a report without creating a package (default: false)
189-
-f|--force Forces saving, overwriting an package if it exists (default: false)
190-
-o|--output <output> Specifies the path for the output directory
191-
--version <version> Plugin version; value will be written to the manifest"
192-
--force-update-check Forces an update check (default: false)
193-
--no-update-check Disables updating schemas
194-
195-
alias: bundle
196-
```
197-
198-
### Description
199-
200-
Creates a `.streamDeckPlugin` installer file allowing the plugin to be distributed. The plugin must pass [validation](#sd-validate) prior to bundling.
201-
202-
By default, all files within the specified `path` are included except `.git`, `/.env*`, `*.log`, and `*.js.map` directories and files. To specify directories or files that should be ignored, a `.sdignore` file can be created in the root of the plugin, i.e. alongside the manifest, using [`.gitignore` specification](https://git-scm.com/docs/gitignore).
203-
204-
### Example
205-
206-
Create a `.streamDeckPlugin` of the plugin located in `com.elgato.test.sdPlugin/`, writing the packaged file to a `dist/` folder, specifying the new version.
207-
208-
```
209-
streamdeck pack com.elgato.test.sdPlugin/ --output dist/
210-
```
211-
212-
Create a `.streamDeckPlugin` of the current working directory, specifying a new version of the plugin.
213-
214-
```
215-
streamdeck pack --version 0.8.2
216-
```
217-
218-
Generate a report for the plugin in the current working directory, without creating a `.streamDeckPlugin` file.
219-
220-
```
221-
streamdeck pack --dry-run
222-
```
223-
224-
### Configuration
225-
226-
#### `--dry-run`
227-
228-
- Default: `false`
229-
- Type: Boolean
230-
231-
Generates a report without creating a package.
232-
233-
#### `-f|--force`
234-
235-
- Default: `false`
236-
- Type: Boolean
237-
238-
Determines whether to overwrite the existing `.streamDeckPlugin` file if one already exists at the specified `output` directory.
239-
240-
#### `-o|--output <output>`
241-
242-
- Default: `cwd`
243-
- Type: String
244-
245-
Specifies the path for the output directory where the `.streamDeckPlugin` file will be created.
246-
247-
#### `--version <version>`
248-
249-
- Default: `undefined`
250-
- Type: String (semver)
251-
252-
Plugin version; value will be written to the manifest's `Version` property prior to packaging the plugin.
253-
254-
#### `--force-update-check`
255-
256-
- Default: `false`
257-
- Type: Boolean
258-
259-
Forces an update check of new validation rules; by default, an update check will occur once a day. Cannot be used in conjunction with `--no-update-check`.
260-
261-
#### `--no-update-check`
262-
263-
- Default: `false`
264-
- Type: Boolean
265-
266-
Prevents an update check of new validation rules. This configuration option is recommended when using the CLI as part of a build pipeline. Cannot be used in conjunction with `--force-update-check`.
267-
268-
## 🏗️ dev
269-
270-
Enables developer mode.
271-
272-
### Synopsis
273-
274-
```
275-
streamdeck dev [-d|--disable]
276-
```
277-
278-
### Description
279-
280-
Developer mode enables the local development of Stream Deck plugins, and provides the Maker with additional capabilities for building and debugging with Stream Deck. Whilst enabled, Node.js plugins can be executed, and it is also possible to debug the property inspector locally at `http://localhost:23654/`.
281-
282-
## ⚙️ config
283-
284-
Manage the local configuration.
285-
286-
### Synopsis
287-
288-
```
289-
streamdeck config set <key>=<value> [<key>=<value>...]
290-
streamdeck config unset <key> [<key>...]
291-
streamdeck config list
292-
streamdeck config reset
293-
```
294-
295-
### Description
296-
297-
The CLI gets its configuration settings from the user's local environment. These configuration settings define the output of commands and how they're executed, and enable customization of interaction. The `streamdeck config` command can be used to update and manage these settings.
298-
299-
#### Sub-commands
300-
301-
#### set
302-
303-
```
304-
streamdeck config set <key>=<value> [<key>=<value>...]
305-
```
306-
307-
Sets each of the configuration keys to the value provided.
308-
309-
#### unset
310-
311-
```
312-
streamdeck config <key> [<key>...]
313-
```
314-
315-
Sets each of the configuration keys to their default values.
316-
317-
#### reset
318-
319-
```
320-
streamdeck config reset
321-
```
322-
323-
Resets all configuration keys to their default values.
324-
325-
#### list
326-
327-
```
328-
streamdeck config list
329-
```
330-
331-
Lists the defined configuration, eg. values defined using [config set](#set).
332-
333-
### Configuration
334-
335-
#### reduceMotion
336-
337-
- Default: `false`
338-
- Type: Boolean
46+
## Creating a Stream Deck plugin
33947

340-
Determines whether feedback provided should prefer reduced motion; when `true`, the busy indicator will be rendered as a static indicator.
48+
The `streamdeck create` command enables you to scaffold a new Stream Deck plugin with ease. Running the command will initialize the creation wizard, and guide you through creating a new plugin.
34149

342-
#### packageManager
50+
<p align="center">
51+
<img src="./assets/cli-create.gif">
52+
</p>
34353

344-
- Default: `npm`
345-
- Type: bun | npm | pnpm | yarn
54+
## Further Reading
34655

347-
Determines the package manager to use when installing dependencies for every new project.
56+
- Learn more about [Stream Deck CLI commands](https://docs.elgato.com/streamdeck/cli).
57+
- Read about [getting started with the Stream Deck SDK](https://docs.elgato.com/sdk).

assets/cli-create.gif

302 KB
Loading

0 commit comments

Comments
 (0)