ep_post_data 0.1.13 → 0.1.14

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/.eslintrc.cjs ADDED
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ // This is a workaround for https://github.com/eslint/eslint/issues/3458
4
+ require('eslint-config-etherpad/patch/modern-module-resolution');
5
+
6
+ module.exports = {
7
+ root: true,
8
+ extends: 'etherpad/plugin',
9
+ };
@@ -0,0 +1,11 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "daily"
7
+ - package-ecosystem: "npm"
8
+ directory: "/"
9
+ schedule:
10
+ interval: "daily"
11
+ versioning-strategy: "increase"
@@ -8,54 +8,68 @@ jobs:
8
8
  # run on pushes to any branch
9
9
  # run on PRs from external forks
10
10
  if: |
11
- (github.event_name != 'pull_request')
12
- || (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id)
11
+ (github.event_name != 'pull_request')
12
+ || (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id)
13
13
  name: with Plugins
14
14
  runs-on: ubuntu-latest
15
15
 
16
16
  steps:
17
- - uses: actions/setup-node@v2
18
- with:
19
- node-version: 12
20
-
21
- - name: Install libreoffice
22
- run: |
23
- sudo add-apt-repository -y ppa:libreoffice/ppa
24
- sudo apt update
25
- sudo apt install -y --no-install-recommends libreoffice libreoffice-pdfimport
26
-
27
- # clone etherpad-lite
28
- - name: Install etherpad core
29
- uses: actions/checkout@v2
30
- with:
31
- repository: ether/etherpad-lite
32
-
33
- - name: Install all dependencies and symlink for ep_etherpad-lite
34
- run: src/bin/installDeps.sh
35
-
36
- - name: Checkout plugin repository
37
- uses: actions/checkout@v2
38
- with:
39
- path: ./node_modules/__tmp
40
-
41
- - name: Determine plugin name
42
- id: plugin_name
43
- run: |
44
- cd ./node_modules/__tmp
45
- npx -c 'printf %s\\n "::set-output name=plugin_name::${npm_package_name}"'
46
-
47
- - name: Rename plugin directory
48
- run: |
49
- mv ./node_modules/__tmp ./node_modules/"${PLUGIN_NAME}"
50
- env:
51
- PLUGIN_NAME: ${{ steps.plugin_name.outputs.plugin_name }}
52
-
53
- - name: Install plugin dependencies
54
- run: |
55
- cd ./node_modules/"${PLUGIN_NAME}"
56
- npm ci
57
- env:
58
- PLUGIN_NAME: ${{ steps.plugin_name.outputs.plugin_name }}
59
-
60
- - name: Run the backend tests
61
- run: cd src && npm test
17
+ -
18
+ name: Install libreoffice
19
+ run: |
20
+ sudo add-apt-repository -y ppa:libreoffice/ppa
21
+ sudo apt update
22
+ sudo apt install -y --no-install-recommends libreoffice libreoffice-pdfimport
23
+ -
24
+ name: Install etherpad core
25
+ uses: actions/checkout@v2
26
+ with:
27
+ repository: ether/etherpad-lite
28
+ -
29
+ name: Checkout plugin repository
30
+ uses: actions/checkout@v2
31
+ with:
32
+ path: ./node_modules/__tmp
33
+ -
34
+ name: Determine plugin name
35
+ id: plugin_name
36
+ run: |
37
+ cd ./node_modules/__tmp
38
+ npx -c 'printf %s\\n "::set-output name=plugin_name::${npm_package_name}"'
39
+ -
40
+ name: Rename plugin directory
41
+ run: |
42
+ mv ./node_modules/__tmp ./node_modules/"${PLUGIN_NAME}"
43
+ env:
44
+ PLUGIN_NAME: ${{ steps.plugin_name.outputs.plugin_name }}
45
+ -
46
+ uses: actions/setup-node@v3
47
+ with:
48
+ node-version: 12
49
+ cache: 'npm'
50
+ cache-dependency-path: |
51
+ src/package-lock.json
52
+ src/bin/doc/package-lock.json
53
+ node_modules/${{ steps.plugin_name.outputs.plugin_name }}/package-lock.json
54
+ -
55
+ name: Install plugin dependencies
56
+ run: |
57
+ cd ./node_modules/"${PLUGIN_NAME}"
58
+ npm ci
59
+ env:
60
+ PLUGIN_NAME: ${{ steps.plugin_name.outputs.plugin_name }}
61
+ # Etherpad core dependencies must be installed after installing the
62
+ # plugin's dependencies, otherwise npm will try to hoist common
63
+ # dependencies by removing them from src/node_modules and installing them
64
+ # in the top-level node_modules. As of v6.14.10, npm's hoist logic appears
65
+ # to be buggy, because it sometimes removes dependencies from
66
+ # src/node_modules but fails to add them to the top-level node_modules.
67
+ # Even if npm correctly hoists the dependencies, the hoisting seems to
68
+ # confuse tools such as `npm outdated`, `npm update`, and some ESLint
69
+ # rules.
70
+ -
71
+ name: Install Etherpad core dependencies
72
+ run: src/bin/installDeps.sh
73
+ -
74
+ name: Run the backend tests
75
+ run: cd src && npm test
@@ -9,84 +9,102 @@ jobs:
9
9
  runs-on: ubuntu-latest
10
10
 
11
11
  steps:
12
- - name: Generate Sauce Labs strings
13
- id: sauce_strings
14
- run: |
15
- printf %s\\n '::set-output name=name::${{github.event.repository.name}} ${{ github.workflow }} - ${{ github.job }}'
16
- printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}'
17
-
18
- - uses: actions/setup-node@v2
19
- with:
20
- node-version: 12
21
-
22
- - name: Check out Etherpad core
23
- uses: actions/checkout@v2
24
- with:
25
- repository: ether/etherpad-lite
26
-
27
- - name: Check out the plugin
28
- uses: actions/checkout@v2
29
- with:
30
- path: ./node_modules/__tmp
31
-
32
- - name: export GIT_HASH to env
33
- id: environment
34
- run: |
35
- cd ./node_modules/__tmp
36
- echo "::set-output name=sha_short::$(git rev-parse --short ${{ github.sha }})"
37
-
38
- - name: Determine plugin name
39
- id: plugin_name
40
- run: |
41
- cd ./node_modules/__tmp
42
- npx -c 'printf %s\\n "::set-output name=plugin_name::${npm_package_name}"'
43
-
44
- - name: Rename plugin directory
45
- env:
46
- PLUGIN_NAME: ${{ steps.plugin_name.outputs.plugin_name }}
47
- run: |
48
- mv ./node_modules/__tmp ./node_modules/"${PLUGIN_NAME}"
49
-
50
- - name: Install plugin dependencies
51
- env:
52
- PLUGIN_NAME: ${{ steps.plugin_name.outputs.plugin_name }}
53
- run: |
54
- cd ./node_modules/"${PLUGIN_NAME}"
55
- npm ci
56
-
57
- # This must be run after setting up the plugin, otherwise npm will try to
58
- # hoist common dependencies by removing them from src/node_modules and
59
- # installing them in the top-level node_modules. As of v6.14.10, npm's hoist
60
- # logic appears to be buggy, because it sometimes removes dependencies from
61
- # src/node_modules but fails to add them to the top-level node_modules. Even
62
- # if npm correctly hoists the dependencies, the hoisting seems to confuse
63
- # tools such as `npm outdated`, `npm update`, and some ESLint rules.
64
- - name: Install Etherpad core dependencies
65
- run: src/bin/installDeps.sh
66
-
67
- - name: Create settings.json
68
- run: cp settings.json.template settings.json
69
-
70
- - name: Disable import/export rate limiting
71
- run: |
72
- sed -e '/^ *"importExportRateLimiting":/,/^ *\}/ s/"max":.*/"max": 0/' -i settings.json
73
-
74
- - name: Remove standard frontend test files
75
- run: rm -rf src/tests/frontend/specs
76
-
77
- - uses: saucelabs/sauce-connect-action@v1
78
- with:
79
- username: ${{ secrets.SAUCE_USERNAME }}
80
- accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
81
- tunnelIdentifier: ${{ steps.sauce_strings.outputs.tunnel_id }}
82
-
83
- - name: Run the frontend tests
84
- shell: bash
85
- env:
86
- SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
87
- SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
88
- SAUCE_NAME: ${{ steps.sauce_strings.outputs.name }}
89
- TRAVIS_JOB_NUMBER: ${{ steps.sauce_strings.outputs.tunnel_id }}
90
- GIT_HASH: ${{ steps.environment.outputs.sha_short }}
91
- run: |
92
- src/tests/frontend/travis/runner.sh
12
+ -
13
+ name: Fail if Dependabot
14
+ if: github.actor == 'dependabot[bot]'
15
+ run: |
16
+ cat <<EOF >&2
17
+ Frontend tests skipped because Dependabot can't access secrets.
18
+ Manually re-run the jobs to run the frontend tests.
19
+ For more information, see:
20
+ https://github.blog/changelog/2021-02-19-github-actions-workflows-triggered-by-dependabot-prs-will-run-with-read-only-permissions/
21
+ EOF
22
+ exit 1
23
+ -
24
+ name: Generate Sauce Labs strings
25
+ id: sauce_strings
26
+ run: |
27
+ printf %s\\n '::set-output name=name::${{github.event.repository.name}} ${{ github.workflow }} - ${{ github.job }}'
28
+ printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}'
29
+ -
30
+ name: Check out Etherpad core
31
+ uses: actions/checkout@v2
32
+ with:
33
+ repository: ether/etherpad-lite
34
+ -
35
+ uses: actions/setup-node@v3
36
+ with:
37
+ node-version: 12
38
+ cache: 'npm'
39
+ cache-dependency-path: |
40
+ src/package-lock.json
41
+ src/bin/doc/package-lock.json
42
+ -
43
+ name: Check out the plugin
44
+ uses: actions/checkout@v2
45
+ with:
46
+ path: ./node_modules/__tmp
47
+ -
48
+ name: export GIT_HASH to env
49
+ id: environment
50
+ run: |
51
+ cd ./node_modules/__tmp
52
+ echo "::set-output name=sha_short::$(git rev-parse --short ${{ github.sha }})"
53
+ -
54
+ name: Determine plugin name
55
+ id: plugin_name
56
+ run: |
57
+ cd ./node_modules/__tmp
58
+ npx -c 'printf %s\\n "::set-output name=plugin_name::${npm_package_name}"'
59
+ -
60
+ name: Rename plugin directory
61
+ env:
62
+ PLUGIN_NAME: ${{ steps.plugin_name.outputs.plugin_name }}
63
+ run: |
64
+ mv ./node_modules/__tmp ./node_modules/"${PLUGIN_NAME}"
65
+ -
66
+ name: Install plugin dependencies
67
+ env:
68
+ PLUGIN_NAME: ${{ steps.plugin_name.outputs.plugin_name }}
69
+ run: |
70
+ cd ./node_modules/"${PLUGIN_NAME}"
71
+ npm ci
72
+ # Etherpad core dependencies must be installed after installing the
73
+ # plugin's dependencies, otherwise npm will try to hoist common
74
+ # dependencies by removing them from src/node_modules and installing them
75
+ # in the top-level node_modules. As of v6.14.10, npm's hoist logic appears
76
+ # to be buggy, because it sometimes removes dependencies from
77
+ # src/node_modules but fails to add them to the top-level node_modules.
78
+ # Even if npm correctly hoists the dependencies, the hoisting seems to
79
+ # confuse tools such as `npm outdated`, `npm update`, and some ESLint
80
+ # rules.
81
+ -
82
+ name: Install Etherpad core dependencies
83
+ run: src/bin/installDeps.sh
84
+ -
85
+ name: Create settings.json
86
+ run: cp settings.json.template settings.json
87
+ -
88
+ name: Disable import/export rate limiting
89
+ run: |
90
+ sed -e '/^ *"importExportRateLimiting":/,/^ *\}/ s/"max":.*/"max": 0/' -i settings.json
91
+ -
92
+ name: Remove standard frontend test files
93
+ run: rm -rf src/tests/frontend/specs
94
+ -
95
+ uses: saucelabs/sauce-connect-action@v2.1.1
96
+ with:
97
+ username: ${{ secrets.SAUCE_USERNAME }}
98
+ accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
99
+ tunnelIdentifier: ${{ steps.sauce_strings.outputs.tunnel_id }}
100
+ -
101
+ name: Run the frontend tests
102
+ shell: bash
103
+ env:
104
+ SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
105
+ SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
106
+ SAUCE_NAME: ${{ steps.sauce_strings.outputs.name }}
107
+ TRAVIS_JOB_NUMBER: ${{ steps.sauce_strings.outputs.tunnel_id }}
108
+ GIT_HASH: ${{ steps.environment.outputs.sha_short }}
109
+ run: |
110
+ src/tests/frontend/travis/runner.sh
@@ -21,48 +21,73 @@ jobs:
21
21
  # cloned to etherpad-lite then moved to ../etherpad-lite. To avoid
22
22
  # conflicts with this plugin's clone, etherpad-lite must be cloned and
23
23
  # moved out before this plugin's repo is cloned to $GITHUB_WORKSPACE.
24
- - uses: actions/checkout@v2
24
+ -
25
+ uses: actions/checkout@v2
25
26
  with:
26
27
  repository: ether/etherpad-lite
27
28
  path: etherpad-lite
28
- - run: mv etherpad-lite ..
29
+ -
30
+ run: mv etherpad-lite ..
29
31
  # etherpad-lite has been moved outside of $GITHUB_WORKSPACE, so it is now
30
32
  # safe to clone this plugin's repo to $GITHUB_WORKSPACE.
31
- - uses: actions/checkout@v2
32
- - uses: actions/setup-node@v1
33
+ -
34
+ uses: actions/checkout@v2
35
+ # This is necessary for actions/setup-node because '..' can't be used in
36
+ # cache-dependency-path.
37
+ -
38
+ name: Create ep_etherpad-lite symlink
39
+ run: |
40
+ mkdir -p node_modules
41
+ ln -s ../../etherpad-lite/src node_modules/ep_etherpad-lite
42
+ -
43
+ uses: actions/setup-node@v3
33
44
  with:
34
45
  node-version: 12
46
+ cache: 'npm'
47
+ cache-dependency-path: |
48
+ node_modules/ep_etherpad-lite/package-lock.json
49
+ node_modules/ep_etherpad-lite/bin/doc/package-lock.json
50
+ package-lock.json
35
51
  # All of ep_etherpad-lite's devDependencies are installed because the
36
52
  # plugin might do `require('ep_etherpad-lite/node_modules/${devDep}')`.
37
53
  # Eventually it would be nice to create an ESLint plugin that prohibits
38
54
  # Etherpad plugins from piggybacking off of ep_etherpad-lite's
39
55
  # devDependencies. If we had that, we could change this line to only
40
56
  # install production dependencies.
41
- - run: cd ../etherpad-lite/src && npm ci
42
- - run: npm ci
57
+ -
58
+ run: cd ../etherpad-lite/src && npm ci
59
+ -
60
+ run: npm ci
43
61
  # This runs some sanity checks and creates a symlink at
44
62
  # node_modules/ep_etherpad-lite that points to ../../etherpad-lite/src.
45
63
  # This step must be done after `npm ci` installs the plugin's dependencies
46
64
  # because npm "helpfully" cleans up such symlinks. :( Installing
47
65
  # ep_etherpad-lite in the plugin's node_modules prevents lint errors and
48
66
  # unit test failures if the plugin does `require('ep_etherpad-lite/foo')`.
49
- - run: npm install --no-save ep_etherpad-lite@file:../etherpad-lite/src
50
- - run: npm test
51
- - run: npm run lint
67
+ -
68
+ run: npm install --no-save ep_etherpad-lite@file:../etherpad-lite/src
69
+ -
70
+ run: npm test
71
+ -
72
+ run: npm run lint
52
73
 
53
74
  publish-npm:
54
75
  if: github.event_name == 'push'
55
76
  needs: test
56
77
  runs-on: ubuntu-latest
57
78
  steps:
58
- - uses: actions/checkout@v2
79
+ -
80
+ uses: actions/checkout@v2
59
81
  with:
60
82
  fetch-depth: 0
61
- - uses: actions/setup-node@v1
83
+ -
84
+ uses: actions/setup-node@v3
62
85
  with:
63
86
  node-version: 12
64
87
  registry-url: https://registry.npmjs.org/
65
- - name: Bump version (patch)
88
+ cache: 'npm'
89
+ -
90
+ name: Bump version (patch)
66
91
  run: |
67
92
  LATEST_TAG=$(git describe --tags --abbrev=0) || exit 1
68
93
  NEW_COMMITS=$(git rev-list --count "${LATEST_TAG}"..) || exit 1
@@ -72,6 +97,10 @@ jobs:
72
97
  npm ci
73
98
  npm version patch
74
99
  git push --follow-tags
100
+ # This is required if the package has a prepare script that uses something
101
+ # in dependencies or devDependencies.
102
+ -
103
+ run: npm ci
75
104
  # `npm publish` must come after `git push` otherwise there is a race
76
105
  # condition: If two PRs are merged back-to-back then master/main will be
77
106
  # updated with the commits from the second PR before the first PR's
@@ -82,10 +111,12 @@ jobs:
82
111
  # already-used version number. By running `npm publish` after `git push`,
83
112
  # back-to-back merges will cause the first merge's workflow to fail but
84
113
  # the second's will succeed.
85
- - run: npm publish
114
+ -
115
+ run: npm publish
86
116
  env:
87
117
  NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
88
- - name: Add package to etherpad organization
118
+ -
119
+ name: Add package to etherpad organization
89
120
  run: npm access grant read-write etherpad:developers
90
121
  env:
91
122
  NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ep_post_data",
3
3
  "description": "Post data into Etherpad using Curl",
4
- "version": "0.1.13",
4
+ "version": "0.1.14",
5
5
  "author": "John McLear",
6
6
  "repository": "git@github.com:johnmclear/ep_post_data.git",
7
7
  "contributors": [
@@ -13,26 +13,16 @@
13
13
  ],
14
14
  "dependencies": {},
15
15
  "engines": {
16
- "node": ">=12.13.0"
16
+ "node": ">=12.17.0"
17
17
  },
18
18
  "funding": {
19
19
  "type": "individual",
20
20
  "url": "https://etherpad.org/"
21
21
  },
22
22
  "devDependencies": {
23
- "eslint": "^7.32.0",
24
- "eslint-config-etherpad": "^2.0.2",
25
- "eslint-plugin-eslint-comments": "^3.2.0",
26
- "eslint-plugin-mocha": "^9.0.0",
27
- "eslint-plugin-node": "^11.1.0",
28
- "eslint-plugin-prefer-arrow": "^1.2.3",
29
- "eslint-plugin-promise": "^5.1.1",
30
- "eslint-plugin-you-dont-need-lodash-underscore": "^6.12.0",
31
- "eslint-plugin-cypress": "^2.12.1"
32
- },
33
- "eslintConfig": {
34
- "root": true,
35
- "extends": "etherpad/plugin"
23
+ "eslint": "^8.9.0",
24
+ "eslint-config-etherpad": "^3.0.1",
25
+ "typescript": "^4.5.5"
36
26
  },
37
27
  "scripts": {
38
28
  "lint": "eslint .",