parse-dashboard 8.1.1-alpha.1 → 8.2.0-alpha.10
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/Parse-Dashboard/public/bundles/120.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/19.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/221.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/578.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/647.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/729.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/75.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/753.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/817.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/844.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/862.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/866.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/874.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/929.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/950.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/976.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/dashboard.bundle.js +1 -1
- package/Parse-Dashboard/public/bundles/dashboard.bundle.js.LICENSE.txt +0 -25
- package/README.md +47 -11
- package/package.json +20 -20
|
@@ -39,31 +39,6 @@ object-assign
|
|
|
39
39
|
|
|
40
40
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
41
41
|
|
|
42
|
-
/**
|
|
43
|
-
* @license
|
|
44
|
-
* MIT License
|
|
45
|
-
*
|
|
46
|
-
* Copyright (c) 2014-present, Lee Byron and other contributors.
|
|
47
|
-
*
|
|
48
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
49
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
50
|
-
* in the Software without restriction, including without limitation the rights
|
|
51
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
52
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
53
|
-
* furnished to do so, subject to the following conditions:
|
|
54
|
-
*
|
|
55
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
56
|
-
* copies or substantial portions of the Software.
|
|
57
|
-
*
|
|
58
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
59
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
60
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
61
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
62
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
63
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
64
|
-
* SOFTWARE.
|
|
65
|
-
*/
|
|
66
|
-
|
|
67
42
|
/**
|
|
68
43
|
* @remix-run/router v1.23.0
|
|
69
44
|
*
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](https://github.com/parse-community/parse-dashboard/actions?query=workflow%3Aci+branch%3Arelease)
|
|
7
7
|
[](https://snyk.io/test/github/parse-community/parse-dashboard)
|
|
8
8
|
|
|
9
|
-
[](https://nodejs.org/)
|
|
9
|
+
[](https://nodejs.org/)
|
|
10
10
|
[](https://github.com/parse-community/parse-dashboard/releases)
|
|
11
11
|
|
|
12
12
|
[](https://www.npmjs.com/package/parse-dashboard)
|
|
@@ -30,6 +30,14 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
|
|
|
30
30
|
- [Node.js](#nodejs)
|
|
31
31
|
- [Configuring Parse Dashboard](#configuring-parse-dashboard)
|
|
32
32
|
- [Options](#options)
|
|
33
|
+
- [Root Options](#root-options)
|
|
34
|
+
- [App Options](#app-options)
|
|
35
|
+
- [Column Options](#column-options)
|
|
36
|
+
- [Script Options](#script-options)
|
|
37
|
+
- [Info Panel Options](#info-panel-options)
|
|
38
|
+
- [User Options](#user-options)
|
|
39
|
+
- [CLI \& Server Options](#cli--server-options)
|
|
40
|
+
- [Helper CLI Commands](#helper-cli-commands)
|
|
33
41
|
- [File](#file)
|
|
34
42
|
- [Environment variables](#environment-variables)
|
|
35
43
|
- [Multiple apps](#multiple-apps)
|
|
@@ -42,6 +50,7 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
|
|
|
42
50
|
- [Prevent columns sorting](#prevent-columns-sorting)
|
|
43
51
|
- [Custom order in the filter popup](#custom-order-in-the-filter-popup)
|
|
44
52
|
- [Persistent Filters](#persistent-filters)
|
|
53
|
+
- [Keyboard Shortcuts](#keyboard-shortcuts)
|
|
45
54
|
- [Scripts](#scripts)
|
|
46
55
|
- [Resource Cache](#resource-cache)
|
|
47
56
|
- [Running as Express Middleware](#running-as-express-middleware)
|
|
@@ -51,7 +60,8 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
|
|
|
51
60
|
- [Security Checks](#security-checks)
|
|
52
61
|
- [Configuring Basic Authentication](#configuring-basic-authentication)
|
|
53
62
|
- [Multi-Factor Authentication (One-Time Password)](#multi-factor-authentication-one-time-password)
|
|
54
|
-
- [
|
|
63
|
+
- [Running Multiple Dashboard Replicas](#running-multiple-dashboard-replicas)
|
|
64
|
+
- [Using a Custom Session Store](#using-a-custom-session-store)
|
|
55
65
|
- [Use Read-Only masterKey](#use-read-only-masterkey)
|
|
56
66
|
- [Making an app read-only for all users](#making-an-app-read-only-for-all-users)
|
|
57
67
|
- [Makings users read-only](#makings-users-read-only)
|
|
@@ -90,6 +100,7 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
|
|
|
90
100
|
- [Pointer](#pointer)
|
|
91
101
|
- [Link](#link)
|
|
92
102
|
- [Image](#image)
|
|
103
|
+
- [Video](#video)
|
|
93
104
|
- [Contributing](#contributing)
|
|
94
105
|
|
|
95
106
|
# Getting Started
|
|
@@ -135,11 +146,12 @@ Parse Dashboard automatically checks the Parse Server version when connecting an
|
|
|
135
146
|
### Node.js
|
|
136
147
|
Parse Dashboard is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date.
|
|
137
148
|
|
|
138
|
-
| Version |
|
|
149
|
+
| Version | Minimum version | End-of-Life | Compatible |
|
|
139
150
|
|------------|----------------|-------------|------------|
|
|
140
151
|
| Node.js 18 | 18.20.4 | May 2025 | ✅ Yes |
|
|
141
152
|
| Node.js 20 | 20.18.0 | April 2026 | ✅ Yes |
|
|
142
153
|
| Node.js 22 | 22.9.0 | April 2027 | ✅ Yes |
|
|
154
|
+
| Node.js 24 | 24.0.0 | April 2028 | ✅ Yes |
|
|
143
155
|
|
|
144
156
|
## Configuring Parse Dashboard
|
|
145
157
|
|
|
@@ -147,12 +159,12 @@ Parse Dashboard is continuously tested with the most recent releases of Node.js
|
|
|
147
159
|
|
|
148
160
|
This section provides a comprehensive reference for all Parse Dashboard configuration options that can be used in the configuration file, via CLI arguments, or as environment variables.
|
|
149
161
|
|
|
150
|
-
#### Root
|
|
162
|
+
#### Root Options
|
|
151
163
|
|
|
152
164
|
| Key | Type | Required | Default | CLI | Env Variable | Example | Description | Links to Details |
|
|
153
165
|
|-----|------|----------|---------|-----|--------------|---------|-------------|------------------|
|
|
154
|
-
| `apps` | Array<Object> | Yes | - | - | `PARSE_DASHBOARD_CONFIG` | `[{...}]` | Array of Parse Server apps to manage | [App
|
|
155
|
-
| `users` | Array<Object> | No | - | - | - | `[{...}]` | User accounts for dashboard authentication | [User Configuration](#user-
|
|
166
|
+
| `apps` | Array<Object> | Yes | - | - | `PARSE_DASHBOARD_CONFIG` | `[{...}]` | Array of Parse Server apps to manage | [App Options](#app-options) |
|
|
167
|
+
| `users` | Array<Object> | No | - | - | - | `[{...}]` | User accounts for dashboard authentication | [User Configuration](#user-options) |
|
|
156
168
|
| `useEncryptedPasswords` | Boolean | No | `false` | - | - | `true` | Use bcrypt hashes instead of plain text passwords | - |
|
|
157
169
|
| `trustProxy` | Boolean \| Number | No | `false` | `--trustProxy` | `PARSE_DASHBOARD_TRUST_PROXY` | `1` | Trust X-Forwarded-* headers when behind proxy | - |
|
|
158
170
|
| `iconsFolder` | String | No | - | - | - | `"icons"` | Folder for app icons (relative or absolute path) | - |
|
|
@@ -160,7 +172,7 @@ This section provides a comprehensive reference for all Parse Dashboard configur
|
|
|
160
172
|
| `enableResourceCache` | Boolean | No | `false` | - | - | `true` | Enable browser caching of dashboard resources | - |
|
|
161
173
|
|
|
162
174
|
|
|
163
|
-
##### App
|
|
175
|
+
##### App Options
|
|
164
176
|
|
|
165
177
|
| Parameter | Type | Optional | Default | CLI | Env Variable | Example | Description |
|
|
166
178
|
| -------------------------- | ------------------- | -------- | --------- | -------------------- | ------------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
@@ -193,7 +205,7 @@ This section provides a comprehensive reference for all Parse Dashboard configur
|
|
|
193
205
|
| `scripts` | Array<Object> | yes | `[]` | - | - | `[{...}]` | Scripts for this app. See [scripts table below](#scripts). |
|
|
194
206
|
| `infoPanel` | Array<Object> | yes | - | - | - | `[{...}]` | Info panel config. See [info panel table below](#info-panel). |
|
|
195
207
|
|
|
196
|
-
##### Column
|
|
208
|
+
##### Column Options
|
|
197
209
|
|
|
198
210
|
Each class in `columnPreference` can have an array of column configurations:
|
|
199
211
|
|
|
@@ -204,7 +216,7 @@ Each class in `columnPreference` can have an array of column configurations:
|
|
|
204
216
|
| `preventSort` | Boolean | yes | `false` | `true` | Prevent this column from being sortable. |
|
|
205
217
|
| `filterSortToTop` | Boolean | yes | `false` | `true` | Sort this column to the top in filter popup. |
|
|
206
218
|
|
|
207
|
-
#####
|
|
219
|
+
##### Script Options
|
|
208
220
|
|
|
209
221
|
| Parameter | Type | Optional | Default | Example | Description |
|
|
210
222
|
| --------------------------|--------------------------------------------|----------|---------|-----------------|---------------------------------------------------|
|
|
@@ -215,7 +227,7 @@ Each class in `columnPreference` can have an array of column configurations:
|
|
|
215
227
|
| `showConfirmationDialog` | Boolean | yes | `false` | `true` | Show confirmation dialog before execution. |
|
|
216
228
|
| `confirmationDialogStyle` | String | yes | `info` | `critical` | Dialog style: `info` (blue) or `critical` (red). |
|
|
217
229
|
|
|
218
|
-
##### Info Panel
|
|
230
|
+
##### Info Panel Options
|
|
219
231
|
|
|
220
232
|
| Parameter | Type | Optional | Default | Example | Description |
|
|
221
233
|
| --------------------|---------------------|----------|---------|--------------------|-----------------------------------------------|
|
|
@@ -229,7 +241,7 @@ Each class in `columnPreference` can have an array of column configurations:
|
|
|
229
241
|
| `prefetchAudio` | Boolean | yes | `true` | `false` | Whether to prefetch audio content. |
|
|
230
242
|
|
|
231
243
|
|
|
232
|
-
##### User
|
|
244
|
+
##### User Options
|
|
233
245
|
|
|
234
246
|
| Parameter | Type | Optional | Default | CLI | Env Variable | Example | Description |
|
|
235
247
|
| ------------------|---------------------|----------|----------|------------------|---------------------------------|----------------------|----------------------------------------|
|
|
@@ -519,6 +531,12 @@ For example:
|
|
|
519
531
|
|
|
520
532
|
You can conveniently create a filter definition without having to write it by hand by first saving a filter in the data browser, then exporting the filter definition under *App Settings > Export Class Preferences*.
|
|
521
533
|
|
|
534
|
+
### Keyboard Shortcuts
|
|
535
|
+
|
|
536
|
+
Configure custom keyboard shortcuts for dashboard actions in **App Settings > Keyboard Shortcuts**.
|
|
537
|
+
|
|
538
|
+
Delete a shortcut key to disable the shortcut.
|
|
539
|
+
|
|
522
540
|
### Scripts
|
|
523
541
|
|
|
524
542
|
You can specify scripts to execute Cloud Functions with the `scripts` option:
|
|
@@ -1623,6 +1641,24 @@ Example:
|
|
|
1623
1641
|
> [!Warning]
|
|
1624
1642
|
> The URL will be directly invoked by the browser when trying to display the image. For security reasons, make sure you either control the full URL, including the image file name, or sanitize the URL before returning it to the dashboard. URLs containing `javascript:` or `<script` will be blocked automatically and replaced with a placeholder.
|
|
1625
1643
|
|
|
1644
|
+
#### Video
|
|
1645
|
+
|
|
1646
|
+
Videos are rendered directly in the output table with a `<video>` tag that includes playback controls. The content mode is always "scale to fit", meaning that the video maintains its aspect ratio within the specified dimensions.
|
|
1647
|
+
|
|
1648
|
+
Example:
|
|
1649
|
+
|
|
1650
|
+
```json
|
|
1651
|
+
{
|
|
1652
|
+
"__type": "Video",
|
|
1653
|
+
"url": "https://example.com/video.mp4",
|
|
1654
|
+
"width": "320",
|
|
1655
|
+
"height": "240"
|
|
1656
|
+
}
|
|
1657
|
+
```
|
|
1658
|
+
|
|
1659
|
+
> [!Warning]
|
|
1660
|
+
> The URL will be directly invoked by the browser when trying to display the video. For security reasons, make sure you either control the full URL, including the video file name, or sanitize the URL before returning it to the dashboard. URLs containing `javascript:` or `<script` will be blocked automatically and replaced with a placeholder.
|
|
1661
|
+
|
|
1626
1662
|
# Contributing
|
|
1627
1663
|
|
|
1628
1664
|
We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the [Contributing to Parse Dashboard guide](CONTRIBUTING.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "parse-dashboard",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.2.0-alpha.10",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/parse-community/parse-dashboard"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"LICENSE"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@babel/runtime": "7.
|
|
39
|
+
"@babel/runtime": "7.28.4",
|
|
40
40
|
"@babel/runtime-corejs3": "7.28.3",
|
|
41
41
|
"bcryptjs": "3.0.2",
|
|
42
42
|
"body-parser": "2.2.1",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"express-session": "1.18.2",
|
|
50
50
|
"fast-deep-equal": "3.1.3",
|
|
51
51
|
"graphiql": "2.0.8",
|
|
52
|
-
"graphql": "16.
|
|
52
|
+
"graphql": "16.12.0",
|
|
53
53
|
"immutable": "5.1.3",
|
|
54
54
|
"immutable-devtools": "0.1.5",
|
|
55
55
|
"inquirer": "12.9.0",
|
|
@@ -77,29 +77,29 @@
|
|
|
77
77
|
"regenerator-runtime": "0.14.1"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
|
-
"@actions/core": "
|
|
81
|
-
"@babel/core": "7.
|
|
80
|
+
"@actions/core": "2.0.1",
|
|
81
|
+
"@babel/core": "7.28.5",
|
|
82
82
|
"@babel/eslint-parser": "7.28.0",
|
|
83
|
-
"@babel/plugin-proposal-decorators": "7.
|
|
84
|
-
"@babel/plugin-transform-runtime": "7.28.
|
|
83
|
+
"@babel/plugin-proposal-decorators": "7.28.0",
|
|
84
|
+
"@babel/plugin-transform-runtime": "7.28.5",
|
|
85
85
|
"@babel/preset-env": "7.28.5",
|
|
86
|
-
"@babel/preset-react": "7.
|
|
87
|
-
"@eslint/compat": "
|
|
86
|
+
"@babel/preset-react": "7.28.5",
|
|
87
|
+
"@eslint/compat": "2.0.0",
|
|
88
88
|
"@saithodev/semantic-release-backmerge": "4.0.1",
|
|
89
89
|
"@semantic-release/changelog": "6.0.3",
|
|
90
90
|
"@semantic-release/commit-analyzer": "13.0.1",
|
|
91
91
|
"@semantic-release/git": "10.0.1",
|
|
92
|
-
"@semantic-release/github": "
|
|
92
|
+
"@semantic-release/github": "12.0.2",
|
|
93
93
|
"@semantic-release/npm": "12.0.1",
|
|
94
|
-
"@semantic-release/release-notes-generator": "14.0
|
|
94
|
+
"@semantic-release/release-notes-generator": "14.1.0",
|
|
95
95
|
"@types/jest": "30.0.0",
|
|
96
96
|
"all-node-versions": "13.0.1",
|
|
97
97
|
"babel-loader": "10.0.0",
|
|
98
98
|
"css-loader": "6.7.3",
|
|
99
|
-
"eslint": "9.
|
|
100
|
-
"eslint-plugin-jest": "29.0
|
|
99
|
+
"eslint": "9.39.1",
|
|
100
|
+
"eslint-plugin-jest": "29.5.0",
|
|
101
101
|
"eslint-plugin-react": "7.37.5",
|
|
102
|
-
"globals": "16.
|
|
102
|
+
"globals": "16.5.0",
|
|
103
103
|
"http-server": "14.1.1",
|
|
104
104
|
"husky": "9.1.7",
|
|
105
105
|
"jest": "30.0.4",
|
|
@@ -107,19 +107,19 @@
|
|
|
107
107
|
"madge": "8.0.0",
|
|
108
108
|
"marked": "15.0.12",
|
|
109
109
|
"null-loader": "4.0.1",
|
|
110
|
-
"prettier": "3.
|
|
110
|
+
"prettier": "3.7.4",
|
|
111
111
|
"puppeteer": "24.12.1",
|
|
112
112
|
"react-test-renderer": "16.13.1",
|
|
113
113
|
"request": "2.88.2",
|
|
114
114
|
"request-promise": "4.2.6",
|
|
115
115
|
"sass": "1.89.2",
|
|
116
116
|
"sass-loader": "13.2.0",
|
|
117
|
-
"semantic-release": "
|
|
118
|
-
"semver": "7.7.
|
|
117
|
+
"semantic-release": "25.0.2",
|
|
118
|
+
"semver": "7.7.3",
|
|
119
119
|
"style-loader": "3.3.1",
|
|
120
120
|
"svg-prep": "1.0.4",
|
|
121
|
-
"typescript": "5.
|
|
122
|
-
"webpack": "5.
|
|
121
|
+
"typescript": "5.9.3",
|
|
122
|
+
"webpack": "5.103.0",
|
|
123
123
|
"webpack-cli": "6.0.1",
|
|
124
124
|
"yaml": "2.8.0"
|
|
125
125
|
},
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
"parse-dashboard": "./bin/parse-dashboard"
|
|
145
145
|
},
|
|
146
146
|
"engines": {
|
|
147
|
-
"node": ">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0"
|
|
147
|
+
"node": ">=18.20.4 <19.0.0 || >=20.18.0 <21.0.0 || >=22.12.0 <23.0.0 || >=24.0.0 <25.0.0"
|
|
148
148
|
},
|
|
149
149
|
"main": "Parse-Dashboard/app.js",
|
|
150
150
|
"jest": {
|