homebridge-eggtimer-plugin 1.1.5 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/build.yml +10 -8
- package/.github/workflows/codeql.yml +30 -0
- package/.github/workflows/release.yml +43 -0
- package/.releaserc.json +23 -0
- package/package.json +22 -15
- package/renovate.json +20 -0
- package/.github/dependabot.yml +0 -22
- package/.github/workflows/automerge.yml +0 -15
- package/.github/workflows/npm-publish.yml +0 -28
- package/RELEASE.md +0 -6
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
|
2
|
-
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
|
3
|
-
|
|
4
1
|
name: Build
|
|
5
2
|
permissions:
|
|
6
3
|
contents: read
|
|
7
4
|
|
|
8
|
-
on:
|
|
5
|
+
on:
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
push:
|
|
9
|
+
branches: [main]
|
|
9
10
|
|
|
10
11
|
jobs:
|
|
11
12
|
|
|
@@ -15,16 +16,17 @@ jobs:
|
|
|
15
16
|
|
|
16
17
|
strategy:
|
|
17
18
|
matrix:
|
|
18
|
-
node-version: [
|
|
19
|
+
node-version: [20.x, 22.x]
|
|
19
20
|
|
|
20
21
|
steps:
|
|
21
|
-
- uses: actions/checkout@
|
|
22
|
-
- uses: pnpm/action-setup@
|
|
22
|
+
- uses: actions/checkout@v6
|
|
23
|
+
- uses: pnpm/action-setup@v5
|
|
23
24
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
24
|
-
uses: actions/setup-node@
|
|
25
|
+
uses: actions/setup-node@v6.3.0
|
|
25
26
|
with:
|
|
26
27
|
node-version: ${{ matrix.node-version }}
|
|
27
28
|
cache: pnpm
|
|
28
29
|
- run: pnpm install --frozen-lockfile
|
|
30
|
+
- run: pnpm audit --audit-level=moderate
|
|
29
31
|
- run: pnpm lint
|
|
30
32
|
- run: pnpm build
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: CodeQL
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: "0 6 * * 1"
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
security-events: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
analyze:
|
|
17
|
+
name: Analyze
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v6
|
|
21
|
+
|
|
22
|
+
- name: Initialize CodeQL
|
|
23
|
+
uses: github/codeql-action/init@v4
|
|
24
|
+
with:
|
|
25
|
+
languages: javascript-typescript
|
|
26
|
+
|
|
27
|
+
- name: Perform CodeQL Analysis
|
|
28
|
+
uses: github/codeql-action/analyze@v4
|
|
29
|
+
with:
|
|
30
|
+
category: "/language:javascript-typescript"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_run:
|
|
5
|
+
workflows: [Build]
|
|
6
|
+
types: [completed]
|
|
7
|
+
branches: [main]
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
concurrency:
|
|
11
|
+
group: release
|
|
12
|
+
cancel-in-progress: false
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
release:
|
|
16
|
+
name: Semantic Release
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
if: >-
|
|
19
|
+
github.event_name == 'workflow_dispatch' ||
|
|
20
|
+
github.event.workflow_run.conclusion == 'success'
|
|
21
|
+
permissions:
|
|
22
|
+
contents: write
|
|
23
|
+
id-token: write
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v6
|
|
26
|
+
with:
|
|
27
|
+
fetch-depth: 0
|
|
28
|
+
|
|
29
|
+
- uses: pnpm/action-setup@v5
|
|
30
|
+
|
|
31
|
+
- uses: actions/setup-node@v6
|
|
32
|
+
with:
|
|
33
|
+
node-version: 24.x
|
|
34
|
+
cache: pnpm
|
|
35
|
+
registry-url: https://registry.npmjs.org/
|
|
36
|
+
|
|
37
|
+
- run: pnpm install --frozen-lockfile
|
|
38
|
+
- run: pnpm build
|
|
39
|
+
|
|
40
|
+
- name: Semantic Release
|
|
41
|
+
run: pnpm semantic-release
|
|
42
|
+
env:
|
|
43
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
package/.releaserc.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"branches": ["main"],
|
|
3
|
+
"plugins": [
|
|
4
|
+
["@semantic-release/commit-analyzer", {
|
|
5
|
+
"releaseRules": [
|
|
6
|
+
{ "type": "build", "scope": "deps", "release": "patch" },
|
|
7
|
+
{ "type": "build", "scope": "deps-dev", "release": "patch" }
|
|
8
|
+
]
|
|
9
|
+
}],
|
|
10
|
+
["@semantic-release/release-notes-generator", {
|
|
11
|
+
"presetConfig": {
|
|
12
|
+
"types": [
|
|
13
|
+
{ "type": "feat", "section": "Features" },
|
|
14
|
+
{ "type": "fix", "section": "Bug Fixes" },
|
|
15
|
+
{ "type": "build", "section": "Dependencies", "hidden": false },
|
|
16
|
+
{ "type": "perf", "section": "Performance" }
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
}],
|
|
20
|
+
["@semantic-release/npm", { "provenance": true }],
|
|
21
|
+
"@semantic-release/github"
|
|
22
|
+
]
|
|
23
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-eggtimer-plugin",
|
|
3
3
|
"displayName": "Homebridge Eggtimer Plugin",
|
|
4
|
-
"version": "1.1
|
|
4
|
+
"version": "1.2.1",
|
|
5
5
|
"description": "Egg Timers for Homebridge: https://github.com/nfarina/homebridge",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"keywords": [
|
|
@@ -31,27 +31,34 @@
|
|
|
31
31
|
"node": ">=18.0.0",
|
|
32
32
|
"homebridge": ">=1.3.5 || ^2.0.0-beta.0"
|
|
33
33
|
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"lint": "eslint src",
|
|
36
|
+
"lintAndFix": "eslint --fix src",
|
|
37
|
+
"debug": "tsc && homebridge -I -D",
|
|
38
|
+
"build": "rimraf ./dist && tsc",
|
|
39
|
+
"prepublishOnly": "pnpm lint && pnpm build"
|
|
40
|
+
},
|
|
34
41
|
"devDependencies": {
|
|
35
|
-
"@eslint/js": "^
|
|
36
|
-
"@
|
|
42
|
+
"@eslint/js": "^10.0.0",
|
|
43
|
+
"@semantic-release/commit-analyzer": "13.0.1",
|
|
44
|
+
"@semantic-release/github": "12.0.6",
|
|
45
|
+
"@semantic-release/npm": "13.1.5",
|
|
46
|
+
"@semantic-release/release-notes-generator": "14.1.0",
|
|
47
|
+
"@stylistic/eslint-plugin": "^5.10.0",
|
|
37
48
|
"@types/async-lock": "^1.4.2",
|
|
38
|
-
"@types/node": "^24.
|
|
49
|
+
"@types/node": "^24.12.0",
|
|
39
50
|
"@types/node-persist": "^3.1.8",
|
|
40
|
-
"eslint": "^
|
|
41
|
-
"homebridge": "^1.11.
|
|
42
|
-
"rimraf": "^6.
|
|
51
|
+
"eslint": "^10.0.0",
|
|
52
|
+
"homebridge": "^1.11.3",
|
|
53
|
+
"rimraf": "^6.1.3",
|
|
54
|
+
"semantic-release": "25.0.3",
|
|
43
55
|
"ts-node": "^10.9.2",
|
|
44
56
|
"typescript": "^5.9.3",
|
|
45
|
-
"typescript-eslint": "^8.
|
|
57
|
+
"typescript-eslint": "^8.57.1"
|
|
46
58
|
},
|
|
47
59
|
"dependencies": {
|
|
48
60
|
"async-lock": "^1.4.1",
|
|
49
61
|
"node-persist": "^4.0.4"
|
|
50
62
|
},
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
"lintAndFix": "eslint --fix src",
|
|
54
|
-
"debug": "tsc && homebridge -I -D",
|
|
55
|
-
"build": "rimraf ./dist && tsc"
|
|
56
|
-
}
|
|
57
|
-
}
|
|
63
|
+
"packageManager": "pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be"
|
|
64
|
+
}
|
package/renovate.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
3
|
+
"extends": ["config:recommended"],
|
|
4
|
+
"labels": ["dependencies"],
|
|
5
|
+
"lockFileMaintenance": {
|
|
6
|
+
"enabled": true,
|
|
7
|
+
"schedule": ["before 7am on Monday"],
|
|
8
|
+
"commitMessageAction": "upgrade",
|
|
9
|
+
"automerge": true
|
|
10
|
+
},
|
|
11
|
+
"packageRules": [
|
|
12
|
+
{
|
|
13
|
+
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
|
|
14
|
+
"groupName": "non-major dependencies",
|
|
15
|
+
"automerge": true
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"commitMessagePrefix": "build(deps):",
|
|
19
|
+
"dependencyDashboard": true
|
|
20
|
+
}
|
package/.github/dependabot.yml
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
-
# package ecosystems to update and where the package manifests are located.
|
|
3
|
-
# Please see the documentation for all configuration options:
|
|
4
|
-
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
5
|
-
|
|
6
|
-
version: 2
|
|
7
|
-
updates:
|
|
8
|
-
|
|
9
|
-
# Maintain dependencies for GitHub Actions
|
|
10
|
-
- package-ecosystem: "github-actions"
|
|
11
|
-
directory: "/"
|
|
12
|
-
schedule:
|
|
13
|
-
interval: "monthly"
|
|
14
|
-
|
|
15
|
-
# Maintain dependencies for npm
|
|
16
|
-
- package-ecosystem: "npm"
|
|
17
|
-
directory: "/"
|
|
18
|
-
schedule:
|
|
19
|
-
interval: "monthly"
|
|
20
|
-
allow:
|
|
21
|
-
- dependency-type: "production"
|
|
22
|
-
rebase-strategy: "disabled"
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
name: Auto-merge
|
|
2
|
-
on: pull_request
|
|
3
|
-
|
|
4
|
-
jobs:
|
|
5
|
-
automerge:
|
|
6
|
-
permissions:
|
|
7
|
-
pull-requests: write
|
|
8
|
-
contents: write
|
|
9
|
-
runs-on: ubuntu-latest
|
|
10
|
-
if: github.actor == 'dependabot[bot]' || ((startsWith(github.event.pull_request.title, 'Bump to version ') || startsWith(github.event.pull_request.title, 'Update PNPM')) && (github.actor == 'github-actions' || github.actor == 'teh-hippo'))
|
|
11
|
-
steps:
|
|
12
|
-
- uses: actions/checkout@v5
|
|
13
|
-
- run: gh pr merge --rebase --delete-branch --auto "${{ github.event.pull_request.number }}"
|
|
14
|
-
env:
|
|
15
|
-
GH_TOKEN: ${{ github.token }}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
|
|
2
|
-
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
|
|
3
|
-
|
|
4
|
-
name: Release
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
release:
|
|
8
|
-
types: [published]
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
publish:
|
|
12
|
-
runs-on: ubuntu-latest
|
|
13
|
-
permissions:
|
|
14
|
-
contents: read
|
|
15
|
-
packages: write
|
|
16
|
-
steps:
|
|
17
|
-
- uses: actions/checkout@v5
|
|
18
|
-
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda
|
|
19
|
-
- uses: actions/setup-node@v5.0.0
|
|
20
|
-
with:
|
|
21
|
-
node-version: latest
|
|
22
|
-
cache: pnpm
|
|
23
|
-
registry-url: https://registry.npmjs.org/
|
|
24
|
-
- run: pnpm install --frozen-lockfile
|
|
25
|
-
- run: pnpm build
|
|
26
|
-
- run: pnpm publish --no-git-checks
|
|
27
|
-
env:
|
|
28
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|