ep_headerauth 1.1.58 → 1.1.60
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/automerge.yml +1 -1
- package/.github/workflows/backend-tests.yml +6 -6
- package/.github/workflows/frontend-tests.yml +5 -5
- package/.github/workflows/lint.yml +39 -0
- package/.github/workflows/npmpublish.yml +15 -11
- package/.github/workflows/test-and-release.yml +4 -0
- package/index.js +2 -2
- package/package.json +7 -4
- package/pnpm-workspace.yaml +10 -0
- package/static/tests/backend/specs/handleMessage.js +3 -1
|
@@ -16,21 +16,21 @@ jobs:
|
|
|
16
16
|
steps:
|
|
17
17
|
-
|
|
18
18
|
name: Install libreoffice
|
|
19
|
-
uses: awalsh128/cache-apt-pkgs-action@v1.6.
|
|
19
|
+
uses: awalsh128/cache-apt-pkgs-action@v1.6.3
|
|
20
20
|
with:
|
|
21
21
|
packages: libreoffice libreoffice-pdfimport
|
|
22
22
|
version: 1.0
|
|
23
23
|
-
|
|
24
24
|
name: Install etherpad core
|
|
25
|
-
uses: actions/checkout@
|
|
25
|
+
uses: actions/checkout@v7
|
|
26
26
|
with:
|
|
27
27
|
repository: ether/etherpad-lite
|
|
28
28
|
path: etherpad-lite
|
|
29
|
-
- uses: actions/setup-node@
|
|
29
|
+
- uses: actions/setup-node@v7
|
|
30
30
|
name: Install Node.js
|
|
31
31
|
with:
|
|
32
32
|
node-version: 25
|
|
33
|
-
- uses: pnpm/action-setup@v6
|
|
33
|
+
- uses: pnpm/action-setup@v6.1.0
|
|
34
34
|
name: Install pnpm
|
|
35
35
|
with:
|
|
36
36
|
package_json_file: ./etherpad-lite/package.json
|
|
@@ -39,7 +39,7 @@ jobs:
|
|
|
39
39
|
shell: bash
|
|
40
40
|
run: |
|
|
41
41
|
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
|
42
|
-
- uses: actions/cache@
|
|
42
|
+
- uses: actions/cache@v6
|
|
43
43
|
name: Setup pnpm cache
|
|
44
44
|
with:
|
|
45
45
|
path: ${{ env.STORE_PATH }}
|
|
@@ -48,7 +48,7 @@ jobs:
|
|
|
48
48
|
${{ runner.os }}-pnpm-store-
|
|
49
49
|
-
|
|
50
50
|
name: Checkout plugin repository
|
|
51
|
-
uses: actions/checkout@
|
|
51
|
+
uses: actions/checkout@v7
|
|
52
52
|
with:
|
|
53
53
|
path: plugin
|
|
54
54
|
- name: Remove tests
|
|
@@ -12,15 +12,15 @@ jobs:
|
|
|
12
12
|
steps:
|
|
13
13
|
-
|
|
14
14
|
name: Check out Etherpad core
|
|
15
|
-
uses: actions/checkout@
|
|
15
|
+
uses: actions/checkout@v7
|
|
16
16
|
with:
|
|
17
17
|
repository: ether/etherpad-lite
|
|
18
18
|
path: etherpad-lite
|
|
19
|
-
- uses: actions/setup-node@
|
|
19
|
+
- uses: actions/setup-node@v7
|
|
20
20
|
name: Install Node.js
|
|
21
21
|
with:
|
|
22
22
|
node-version: 25
|
|
23
|
-
- uses: pnpm/action-setup@v6
|
|
23
|
+
- uses: pnpm/action-setup@v6.1.0
|
|
24
24
|
name: Install pnpm
|
|
25
25
|
with:
|
|
26
26
|
package_json_file: ./etherpad-lite/package.json
|
|
@@ -29,7 +29,7 @@ jobs:
|
|
|
29
29
|
shell: bash
|
|
30
30
|
run: |
|
|
31
31
|
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
|
32
|
-
- uses: actions/cache@
|
|
32
|
+
- uses: actions/cache@v6
|
|
33
33
|
name: Setup pnpm cache
|
|
34
34
|
with:
|
|
35
35
|
path: ${{ env.STORE_PATH }}
|
|
@@ -38,7 +38,7 @@ jobs:
|
|
|
38
38
|
${{ runner.os }}-pnpm-store-
|
|
39
39
|
-
|
|
40
40
|
name: Checkout plugin repository
|
|
41
|
-
uses: actions/checkout@
|
|
41
|
+
uses: actions/checkout@v7
|
|
42
42
|
with:
|
|
43
43
|
path: plugin
|
|
44
44
|
-
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: Lint
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_call:
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
lint:
|
|
8
|
+
name: ESLint
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
# `eslint .` executes .eslintrc.cjs and every installed ESLint plugin, so
|
|
11
|
+
# don't hand it the caller's contents:write / id-token:write token.
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
steps:
|
|
15
|
+
- name: Check out plugin repository
|
|
16
|
+
uses: actions/checkout@v7
|
|
17
|
+
- uses: actions/setup-node@v7
|
|
18
|
+
name: Install Node.js
|
|
19
|
+
with:
|
|
20
|
+
node-version: 25
|
|
21
|
+
- uses: pnpm/action-setup@v6.1.0
|
|
22
|
+
name: Install pnpm
|
|
23
|
+
with:
|
|
24
|
+
version: 10
|
|
25
|
+
run_install: false
|
|
26
|
+
- name: Get pnpm store directory
|
|
27
|
+
shell: bash
|
|
28
|
+
run: echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
|
29
|
+
- uses: actions/cache@v6
|
|
30
|
+
name: Setup pnpm cache
|
|
31
|
+
with:
|
|
32
|
+
path: ${{ env.STORE_PATH }}
|
|
33
|
+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
34
|
+
restore-keys: |
|
|
35
|
+
${{ runner.os }}-pnpm-store-
|
|
36
|
+
- name: Install dependencies
|
|
37
|
+
run: pnpm install --ignore-scripts
|
|
38
|
+
- name: Run ESLint
|
|
39
|
+
run: pnpm run lint
|
|
@@ -18,20 +18,24 @@ jobs:
|
|
|
18
18
|
contents: write # for the atomic version-bump push (branch + tag)
|
|
19
19
|
id-token: write # for npm OIDC trusted publishing
|
|
20
20
|
steps:
|
|
21
|
-
- uses: actions/setup-node@
|
|
21
|
+
- uses: actions/setup-node@v7
|
|
22
22
|
with:
|
|
23
|
-
# OIDC trusted publishing needs npm >= 11.5.1
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
|
|
23
|
+
# OIDC trusted publishing needs npm >= 11.5.1. Node 24 is an LTS
|
|
24
|
+
# line that every npm 11.x and 12.x supports; Node 25 is not —
|
|
25
|
+
# npm 12 requires ^22.22.2 || ^24.15.0 || >=26.0.0, so on Node 25
|
|
26
|
+
# the upgrade step below died with EBADENGINE and no plugin could
|
|
27
|
+
# publish.
|
|
28
|
+
node-version: 24
|
|
27
29
|
registry-url: https://registry.npmjs.org/
|
|
30
|
+
# Pinned to a range rather than @latest: the next npm major dropping
|
|
31
|
+
# this Node line would silently break publishing fleet-wide again.
|
|
28
32
|
- name: Upgrade npm to >=11.5.1 (required for trusted publishing)
|
|
29
|
-
run: npm install -g npm
|
|
33
|
+
run: npm install -g npm@^11.5.1
|
|
30
34
|
- name: Check out Etherpad core
|
|
31
|
-
uses: actions/checkout@
|
|
35
|
+
uses: actions/checkout@v7
|
|
32
36
|
with:
|
|
33
37
|
repository: ether/etherpad-lite
|
|
34
|
-
- uses: pnpm/action-setup@v6
|
|
38
|
+
- uses: pnpm/action-setup@v6.1.0
|
|
35
39
|
name: Install pnpm
|
|
36
40
|
with:
|
|
37
41
|
run_install: false
|
|
@@ -39,7 +43,7 @@ jobs:
|
|
|
39
43
|
shell: bash
|
|
40
44
|
run: |
|
|
41
45
|
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
|
42
|
-
- uses: actions/cache@
|
|
46
|
+
- uses: actions/cache@v6
|
|
43
47
|
name: Setup pnpm cache
|
|
44
48
|
with:
|
|
45
49
|
path: ${{ env.STORE_PATH }}
|
|
@@ -47,7 +51,7 @@ jobs:
|
|
|
47
51
|
restore-keys: |
|
|
48
52
|
${{ runner.os }}-pnpm-store-
|
|
49
53
|
-
|
|
50
|
-
uses: actions/checkout@
|
|
54
|
+
uses: actions/checkout@v7
|
|
51
55
|
with:
|
|
52
56
|
fetch-depth: 0
|
|
53
57
|
-
|
|
@@ -73,7 +77,7 @@ jobs:
|
|
|
73
77
|
# `pnpm version patch` bumps package.json, makes a commit, and creates
|
|
74
78
|
# a `v<new-version>` tag. Capture the new tag name from package.json
|
|
75
79
|
# rather than parsing pnpm's output, which has historically varied.
|
|
76
|
-
# Bump the patch component directly with Node. pnpm/action-setup@v6
|
|
80
|
+
# Bump the patch component directly with Node. pnpm/action-setup@v6.0.10
|
|
77
81
|
# sometimes installs pnpm 11 pre-releases even when version: 10.x is
|
|
78
82
|
# requested (pnpm/action-setup#225); those pre-releases either skip
|
|
79
83
|
# the git commit/tag or reject --no-git-tag-version as unknown.
|
|
@@ -14,6 +14,9 @@ permissions:
|
|
|
14
14
|
id-token: write
|
|
15
15
|
|
|
16
16
|
jobs:
|
|
17
|
+
lint:
|
|
18
|
+
uses: ./.github/workflows/lint.yml
|
|
19
|
+
secrets: inherit
|
|
17
20
|
backend:
|
|
18
21
|
uses: ./.github/workflows/backend-tests.yml
|
|
19
22
|
secrets: inherit
|
|
@@ -23,6 +26,7 @@ jobs:
|
|
|
23
26
|
release:
|
|
24
27
|
if: ${{ github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' }}
|
|
25
28
|
needs:
|
|
29
|
+
- lint
|
|
26
30
|
- backend
|
|
27
31
|
- frontend
|
|
28
32
|
permissions:
|
package/index.js
CHANGED
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
// permissions and limitations under the License.
|
|
16
16
|
|
|
17
17
|
const authorManager = require('ep_etherpad-lite/node/db/AuthorManager');
|
|
18
|
-
const
|
|
18
|
+
const {createLogger} = require('ep_plugin_helpers/logger');
|
|
19
19
|
|
|
20
|
-
const logger =
|
|
20
|
+
const logger = createLogger('ep_headerauth');
|
|
21
21
|
let settings;
|
|
22
22
|
|
|
23
23
|
exports.authenticate = (hookName, {req}, cb) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ep_headerauth",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.60",
|
|
4
4
|
"description": "Etherpad plugin to use a reverse proxy's HTTP headers for authentication.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"auth",
|
|
@@ -25,14 +25,17 @@
|
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"eslint": "^8.57.1",
|
|
28
|
-
"eslint-config-etherpad": "^
|
|
29
|
-
"typescript": "
|
|
28
|
+
"eslint-config-etherpad": "^5.0.0",
|
|
29
|
+
"typescript": "~6.0.3"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"lint": "eslint .",
|
|
33
33
|
"lint:fix": "eslint --fix ."
|
|
34
34
|
},
|
|
35
35
|
"engines": {
|
|
36
|
-
"node": ">=
|
|
36
|
+
"node": ">=22.0.0"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"ep_plugin_helpers": "^0.6.7"
|
|
37
40
|
}
|
|
38
41
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# js-yaml and brace-expansion arrive only as transitive dev dependencies (via
|
|
2
|
+
# eslint and minimatch@3), so `pnpm update` cannot move them. The selectors are
|
|
3
|
+
# scoped to the affected major line: an unbounded range would drag minimatch@3
|
|
4
|
+
# onto brace-expansion 5.x and eslint onto js-yaml 5.x.
|
|
5
|
+
#
|
|
6
|
+
# pnpm 11 no longer reads `pnpm.overrides` from package.json — these must live
|
|
7
|
+
# here or the lockfile and the install disagree (ERR_PNPM_LOCKFILE_CONFIG_MISMATCH).
|
|
8
|
+
overrides:
|
|
9
|
+
js-yaml: '^4.3.2'
|
|
10
|
+
brace-expansion@1: '^1.1.16'
|
|
@@ -13,7 +13,9 @@ describe(__filename, function () {
|
|
|
13
13
|
await common.init();
|
|
14
14
|
await new Promise((resolve, reject) => {
|
|
15
15
|
plugin.loadSettings(
|
|
16
|
-
'loadSettings',
|
|
16
|
+
'loadSettings',
|
|
17
|
+
{settings: {trustProxy: true, users: {}}},
|
|
18
|
+
(err) => (err ? reject(err) : resolve()));
|
|
17
19
|
});
|
|
18
20
|
});
|
|
19
21
|
|