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.
@@ -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
- name: Build and Publish Node.js Package
5
-
6
- on:
7
- release:
8
- types: [created]
9
-
10
- jobs:
11
- build:
12
- runs-on: ubuntu-latest
13
- steps:
14
- - uses: actions/checkout@v6
15
- - uses: pnpm/action-setup@v6
16
- with:
17
- version: latest
18
- - uses: actions/setup-node@v6
19
- with:
20
- node-version: 24
21
- - run: pnpm install --frozen-lockfile
22
-
23
- publish-npm:
24
- needs: build
25
- runs-on: ubuntu-latest
26
- steps:
27
- - uses: actions/checkout@v6
28
- - uses: pnpm/action-setup@v6
29
- with:
30
- version: latest
31
- - uses: actions/setup-node@v6
32
- with:
33
- node-version: 24
34
- registry-url: https://registry.npmjs.org/
35
- - run: pnpm install --frozen-lockfile
36
- - run: pnpm publish --no-git-checks
37
- env:
38
- NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
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
- # Needed so the workflow can push the version-bump commit and tag back.
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@v6
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@v6
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",
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 -c .eslintrc.prepublish.js nodes credentials package.json",
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": "^1.16.6",
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": "^6.0.3"
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.4",
61
- "axios": "1.17.0"
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.25.6
11
+ ARG N8N_VERSION=2.35.3
12
12
 
13
13
  # ---- Stage 1: collect smbclient + its dependency files ----
14
- FROM alpine:3.23 AS smb
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",
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": "^1.16.6",
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": "^6.0.3"
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.4",
55
- "axios": "1.17.0"
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",
@@ -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
  }