ep_post_data 0.1.11 → 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"
@@ -1,6 +1,3 @@
1
- # You need to change lines 38 and 46 in case the plugin's name on npmjs.com is different
2
- # from the repository name
3
-
4
1
  name: "Backend tests"
5
2
 
6
3
  # any branch is useful for testing before a PR is submitted
@@ -11,40 +8,68 @@ jobs:
11
8
  # run on pushes to any branch
12
9
  # run on PRs from external forks
13
10
  if: |
14
- (github.event_name != 'pull_request')
15
- || (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)
16
13
  name: with Plugins
17
14
  runs-on: ubuntu-latest
18
15
 
19
16
  steps:
20
- - name: Install libreoffice
21
- run: |
22
- sudo add-apt-repository -y ppa:libreoffice/ppa
23
- sudo apt update
24
- sudo apt install -y --no-install-recommends libreoffice libreoffice-pdfimport
25
-
26
- # clone etherpad-lite
27
- - name: Install etherpad core
28
- uses: actions/checkout@v2
29
- with:
30
- repository: ether/etherpad-lite
31
-
32
- - name: Install all dependencies and symlink for ep_etherpad-lite
33
- run: src/bin/installDeps.sh
34
-
35
- # clone this repository into node_modules/ep_plugin-name
36
- - name: Checkout plugin repository
37
- uses: actions/checkout@v2
38
- with:
39
- path: ./node_modules/${{github.event.repository.name}}
40
-
41
- - name: Install plugin dependencies
42
- run: |
43
- cd node_modules/${{github.event.repository.name}}
44
- npm ci
45
-
46
- - name: Run the backend tests
47
- run: cd src && npm test
48
-
49
- ##ETHERPAD_NPM_V=2
50
- ## NPM configuration automatically created using src/bin/plugins/updateAllPluginsScript.sh
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
@@ -0,0 +1,110 @@
1
+ # Publicly credit Sauce Labs because they generously support open source
2
+ # projects.
3
+ name: "frontend tests powered by Sauce Labs"
4
+
5
+ on: [push]
6
+
7
+ jobs:
8
+ test:
9
+ runs-on: ubuntu-latest
10
+
11
+ steps:
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,50 +21,86 @@ 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
59
- - uses: actions/setup-node@v1
79
+ -
80
+ uses: actions/checkout@v2
81
+ with:
82
+ fetch-depth: 0
83
+ -
84
+ uses: actions/setup-node@v3
60
85
  with:
61
86
  node-version: 12
62
87
  registry-url: https://registry.npmjs.org/
63
- - run: git config user.name 'github-actions[bot]'
64
- - run: git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
65
- - run: npm ci
66
- - run: npm version patch
67
- - run: git push --follow-tags
88
+ cache: 'npm'
89
+ -
90
+ name: Bump version (patch)
91
+ run: |
92
+ LATEST_TAG=$(git describe --tags --abbrev=0) || exit 1
93
+ NEW_COMMITS=$(git rev-list --count "${LATEST_TAG}"..) || exit 1
94
+ [ "${NEW_COMMITS}" -gt 0 ] || exit 0
95
+ git config user.name 'github-actions[bot]'
96
+ git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
97
+ npm ci
98
+ npm version patch
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
68
104
  # `npm publish` must come after `git push` otherwise there is a race
69
105
  # condition: If two PRs are merged back-to-back then master/main will be
70
106
  # updated with the commits from the second PR before the first PR's
@@ -75,9 +111,12 @@ jobs:
75
111
  # already-used version number. By running `npm publish` after `git push`,
76
112
  # back-to-back merges will cause the first merge's workflow to fail but
77
113
  # the second's will succeed.
78
- - run: npm publish
114
+ -
115
+ run: npm publish
116
+ env:
117
+ NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
118
+ -
119
+ name: Add package to etherpad organization
120
+ run: npm access grant read-write etherpad:developers
79
121
  env:
80
122
  NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
81
-
82
- ##ETHERPAD_NPM_V=2
83
- ## NPM configuration automatically created using bin/plugins/updateAllPluginsScript.sh
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.11",
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,25 +13,16 @@
13
13
  ],
14
14
  "dependencies": {},
15
15
  "engines": {
16
- "node": ">=10.17.1"
16
+ "node": ">=12.17.0"
17
17
  },
18
18
  "funding": {
19
19
  "type": "individual",
20
- "url": "http://etherpad.org/"
20
+ "url": "https://etherpad.org/"
21
21
  },
22
22
  "devDependencies": {
23
- "eslint": "^7.18.0",
24
- "eslint-config-etherpad": "^1.0.24",
25
- "eslint-plugin-eslint-comments": "^3.2.0",
26
- "eslint-plugin-mocha": "^8.0.0",
27
- "eslint-plugin-node": "^11.1.0",
28
- "eslint-plugin-prefer-arrow": "^1.2.3",
29
- "eslint-plugin-promise": "^4.2.1",
30
- "eslint-plugin-you-dont-need-lodash-underscore": "^6.10.0"
31
- },
32
- "eslintConfig": {
33
- "root": true,
34
- "extends": "etherpad/plugin"
23
+ "eslint": "^8.9.0",
24
+ "eslint-config-etherpad": "^3.0.1",
25
+ "typescript": "^4.5.5"
35
26
  },
36
27
  "scripts": {
37
28
  "lint": "eslint .",