n8n-nodes-smbclient 1.1.3 → 1.1.6
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/npm-publish.yml +55 -38
- package/.github/workflows/one-shot-npm-publish.yml +15 -3
- package/.github/workflows/security-cve.yml +53 -0
- package/dist/package.json +6 -6
- package/docker/Dockerfile +2 -2
- package/package.json +5 -5
- package/pnpm-workspace.yaml +17 -0
- package/renovate.json +10 -1
|
@@ -1,38 +1,55 @@
|
|
|
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://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- uses: actions/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
|
|
3
|
+
#
|
|
4
|
+
# Nothing is published unless the CVE gate (security-cve.yml) passes first.
|
|
5
|
+
|
|
6
|
+
name: Build and Publish Node.js Package
|
|
7
|
+
|
|
8
|
+
on:
|
|
9
|
+
release:
|
|
10
|
+
types: [created]
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
actions: read
|
|
14
|
+
contents: read
|
|
15
|
+
security-events: write
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
# Hard gate: re-scan the exact code being released. A known vulnerability
|
|
19
|
+
# here blocks build + publish.
|
|
20
|
+
cve-scan:
|
|
21
|
+
uses: ./.github/workflows/security-cve.yml
|
|
22
|
+
permissions:
|
|
23
|
+
actions: read
|
|
24
|
+
contents: read
|
|
25
|
+
security-events: write
|
|
26
|
+
|
|
27
|
+
build:
|
|
28
|
+
needs: cve-scan
|
|
29
|
+
runs-on: ubuntu-latest
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v7
|
|
32
|
+
- uses: pnpm/action-setup@v6
|
|
33
|
+
with:
|
|
34
|
+
version: latest
|
|
35
|
+
- uses: actions/setup-node@v7
|
|
36
|
+
with:
|
|
37
|
+
node-version: 24
|
|
38
|
+
- run: pnpm install --frozen-lockfile
|
|
39
|
+
|
|
40
|
+
publish-npm:
|
|
41
|
+
needs: build
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@v7
|
|
45
|
+
- uses: pnpm/action-setup@v6
|
|
46
|
+
with:
|
|
47
|
+
version: latest
|
|
48
|
+
- uses: actions/setup-node@v7
|
|
49
|
+
with:
|
|
50
|
+
node-version: 24
|
|
51
|
+
registry-url: https://registry.npmjs.org/
|
|
52
|
+
- run: pnpm install --frozen-lockfile
|
|
53
|
+
- run: pnpm publish --no-git-checks
|
|
54
|
+
env:
|
|
55
|
+
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
|
@@ -20,15 +20,27 @@ on:
|
|
|
20
20
|
required: true
|
|
21
21
|
type: string
|
|
22
22
|
|
|
23
|
-
#
|
|
23
|
+
# `contents: write` so the workflow can push the version-bump commit and tag back;
|
|
24
|
+
# the rest is for the CVE gate's SARIF upload.
|
|
24
25
|
permissions:
|
|
26
|
+
actions: read
|
|
25
27
|
contents: write
|
|
28
|
+
security-events: write
|
|
26
29
|
|
|
27
30
|
jobs:
|
|
31
|
+
# Hard gate: no bump, no tag, no publish if a known vulnerability is found.
|
|
32
|
+
cve-scan:
|
|
33
|
+
uses: ./.github/workflows/security-cve.yml
|
|
34
|
+
permissions:
|
|
35
|
+
actions: read
|
|
36
|
+
contents: read
|
|
37
|
+
security-events: write
|
|
38
|
+
|
|
28
39
|
publish-npm:
|
|
40
|
+
needs: cve-scan
|
|
29
41
|
runs-on: ubuntu-latest
|
|
30
42
|
steps:
|
|
31
|
-
- uses: actions/checkout@
|
|
43
|
+
- uses: actions/checkout@v7
|
|
32
44
|
with:
|
|
33
45
|
# Use a token that can push the bump commit/tag back to the repo.
|
|
34
46
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -37,7 +49,7 @@ jobs:
|
|
|
37
49
|
with:
|
|
38
50
|
version: latest
|
|
39
51
|
|
|
40
|
-
- uses: actions/setup-node@
|
|
52
|
+
- uses: actions/setup-node@v7
|
|
41
53
|
with:
|
|
42
54
|
node-version: 24
|
|
43
55
|
registry-url: https://registry.npmjs.org/
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: CVE Security Scan
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
# Scan every PR targeting main.
|
|
5
|
+
pull_request:
|
|
6
|
+
branches:
|
|
7
|
+
- main
|
|
8
|
+
|
|
9
|
+
# Re-scan once the code actually lands on main.
|
|
10
|
+
push:
|
|
11
|
+
branches:
|
|
12
|
+
- main
|
|
13
|
+
|
|
14
|
+
# Weekly sweep: catches vulnerabilities disclosed after the code was merged,
|
|
15
|
+
# without needing any new commit. Mondays at 06:00 UTC.
|
|
16
|
+
schedule:
|
|
17
|
+
- cron: '0 6 * * 1'
|
|
18
|
+
|
|
19
|
+
# Allow the release workflows to use this workflow as a hard gate.
|
|
20
|
+
workflow_call:
|
|
21
|
+
|
|
22
|
+
# Useful if you want to manually re-check the repository.
|
|
23
|
+
workflow_dispatch:
|
|
24
|
+
|
|
25
|
+
permissions:
|
|
26
|
+
actions: read
|
|
27
|
+
contents: read
|
|
28
|
+
security-events: write
|
|
29
|
+
|
|
30
|
+
jobs:
|
|
31
|
+
osv-scan:
|
|
32
|
+
name: OSV Dependency Scan
|
|
33
|
+
|
|
34
|
+
uses: google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@v2.5.0
|
|
35
|
+
|
|
36
|
+
permissions:
|
|
37
|
+
actions: read
|
|
38
|
+
contents: read
|
|
39
|
+
security-events: write
|
|
40
|
+
|
|
41
|
+
with:
|
|
42
|
+
# Recursively inspect the repository.
|
|
43
|
+
# OSV automatically detects pnpm-lock.yaml.
|
|
44
|
+
scan-args: |-
|
|
45
|
+
--recursive
|
|
46
|
+
./
|
|
47
|
+
|
|
48
|
+
# Fail the GitHub Action if a known vulnerability is found.
|
|
49
|
+
fail-on-vuln: true
|
|
50
|
+
|
|
51
|
+
# Upload results to:
|
|
52
|
+
# GitHub -> Security -> Code scanning
|
|
53
|
+
upload-sarif: true
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-smbclient",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "Transfer files via Samba (SMB2) and smbclient package with n8n, some of the base work are based on https://github.com/drudge/n8n-nodes-smb work.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"format": "prettier nodes credentials --write",
|
|
26
26
|
"lint": "eslint nodes credentials package.json",
|
|
27
27
|
"lintfix": "eslint nodes credentials package.json --fix",
|
|
28
|
-
"prepublishOnly": "npm run build && npm run lint
|
|
28
|
+
"prepublishOnly": "npm run build && npm run lint",
|
|
29
29
|
"release": "npx standard-version"
|
|
30
30
|
},
|
|
31
31
|
"n8n": {
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"@types/node": "^24.12.4",
|
|
45
45
|
"@typescript-eslint/parser": "^8.59.1",
|
|
46
46
|
"eslint": "^10.3.0",
|
|
47
|
-
"eslint-plugin-n8n-nodes-base": "^
|
|
47
|
+
"eslint-plugin-n8n-nodes-base": "^2.0.0",
|
|
48
48
|
"globals": "^17.6.0",
|
|
49
49
|
"gulp": "^5.0.1",
|
|
50
50
|
"prettier": "^3.8.3",
|
|
51
|
-
"typescript": "
|
|
51
|
+
"typescript": "~6.0.3"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"n8n-workflow": "^1.115.0 || ^2.0.0"
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"tmp-promise": "^3.0.3"
|
|
58
58
|
},
|
|
59
59
|
"overrides": {
|
|
60
|
-
"form-data": "^4.0.
|
|
61
|
-
"axios": "1.
|
|
60
|
+
"form-data": "^4.0.6",
|
|
61
|
+
"axios": "1.19.0"
|
|
62
62
|
}
|
|
63
63
|
}
|
package/docker/Dockerfile
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
# into the final image.
|
|
9
9
|
|
|
10
10
|
# Declared before the first FROM so it can be used in the stage-2 FROM line.
|
|
11
|
-
ARG N8N_VERSION=2.
|
|
11
|
+
ARG N8N_VERSION=2.35.3
|
|
12
12
|
|
|
13
13
|
# ---- Stage 1: collect smbclient + its dependency files ----
|
|
14
|
-
FROM alpine:3.
|
|
14
|
+
FROM alpine:3.24 AS smb
|
|
15
15
|
RUN set -eux; \
|
|
16
16
|
apk add --no-cache samba-client 2>&1 | tee /tmp/apk.log; \
|
|
17
17
|
smbclient --version; \
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-smbclient",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "Transfer files via Samba (SMB2) and smbclient package with n8n, some of the base work are based on https://github.com/drudge/n8n-nodes-smb work.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"@types/node": "^24.12.4",
|
|
39
39
|
"@typescript-eslint/parser": "^8.59.1",
|
|
40
40
|
"eslint": "^10.3.0",
|
|
41
|
-
"eslint-plugin-n8n-nodes-base": "^
|
|
41
|
+
"eslint-plugin-n8n-nodes-base": "^2.0.0",
|
|
42
42
|
"globals": "^17.6.0",
|
|
43
43
|
"gulp": "^5.0.1",
|
|
44
44
|
"prettier": "^3.8.3",
|
|
45
|
-
"typescript": "
|
|
45
|
+
"typescript": "~6.0.3"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"n8n-workflow": "^1.115.0 || ^2.0.0"
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"tmp-promise": "^3.0.3"
|
|
52
52
|
},
|
|
53
53
|
"overrides": {
|
|
54
|
-
"form-data": "^4.0.
|
|
55
|
-
"axios": "1.
|
|
54
|
+
"form-data": "^4.0.6",
|
|
55
|
+
"axios": "1.19.0"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
58
|
"build": "npx rimraf dist && tsc && gulp build:icons",
|
package/pnpm-workspace.yaml
CHANGED
|
@@ -16,3 +16,20 @@ onlyBuiltDependencies:
|
|
|
16
16
|
allowBuilds:
|
|
17
17
|
eslint-plugin-n8n-nodes-base: true
|
|
18
18
|
isolated-vm: true
|
|
19
|
+
|
|
20
|
+
# Force patched versions of transitive dependencies flagged by the OSV scan
|
|
21
|
+
# (see .github/workflows/security-cve.yml). Each entry pins the lowest release
|
|
22
|
+
# that carries the fix; drop an entry once the direct dependency pulls in a
|
|
23
|
+
# patched version on its own.
|
|
24
|
+
#
|
|
25
|
+
# `tmp` is the only one that reaches published consumers — it arrives through
|
|
26
|
+
# our single runtime dependency, tmp-promise. The rest are dev-only, coming in
|
|
27
|
+
# via eslint/gulp.
|
|
28
|
+
overrides:
|
|
29
|
+
brace-expansion@1: ^1.1.18 # GHSA-mh99-v99m-4gvg, GHSA-rgw5-rvv9-x895
|
|
30
|
+
brace-expansion@5: ^5.0.9 # GHSA-mh99-v99m-4gvg, GHSA-rgw5-rvv9-x895
|
|
31
|
+
form-data: ^4.0.6 # GHSA-hmw2-7cc7-3qxx
|
|
32
|
+
js-yaml@4: ^4.3.1 # GHSA-5p4m-2wfm-xmqj
|
|
33
|
+
lodash: ^4.18.0 # GHSA-f23m-r3pf-42rh, GHSA-r5fr-rjxr-66jc
|
|
34
|
+
tmp: ^0.2.6 # GHSA-ph9p-34f9-6g65 (runtime, via tmp-promise)
|
|
35
|
+
uuid@10: ^11.1.1 # GHSA-w5hq-g745-h8pq
|
package/renovate.json
CHANGED
|
@@ -3,5 +3,14 @@
|
|
|
3
3
|
"extends": [
|
|
4
4
|
"config:recommended"
|
|
5
5
|
],
|
|
6
|
-
"minimumReleaseAge": "3 days"
|
|
6
|
+
"minimumReleaseAge": "3 days",
|
|
7
|
+
"packageRules": [
|
|
8
|
+
{
|
|
9
|
+
"description": "typescript-eslint peers on `typescript >=4.8.4 <6.1.0`, so TypeScript 7 breaks `npm run lint` (and therefore `prepublishOnly`). PR #107 bumped us to v7 and did exactly that. Hold at 6.0.x until typescript-eslint widens its peer range, then drop this rule.",
|
|
10
|
+
"matchPackageNames": [
|
|
11
|
+
"typescript"
|
|
12
|
+
],
|
|
13
|
+
"allowedVersions": "<6.1.0"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
7
16
|
}
|