Skip to content

Commit 63ba14f

Browse files
committed
Merge branch 'upstream/alpha'
# Conflicts: # .gitignore # package-lock.json # package.json
2 parents 71848ee + ef68fb1 commit 63ba14f

File tree

138 files changed

+5363
-4302
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

138 files changed

+5363
-4302
lines changed

.babelrc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"plugins": [
3-
"@babel/plugin-transform-flow-strip-types",
4-
"@babel/plugin-proposal-object-rest-spread"
3+
"@babel/plugin-transform-flow-strip-types"
54
],
65
"presets": [
6+
"@babel/preset-typescript",
77
["@babel/preset-env", {
88
"targets": {
9-
"node": "14",
9+
"node": "18"
1010
},
1111
"exclude": ["proposal-dynamic-import"]
1212
}]

.eslintignore

Lines changed: 0 additions & 3 deletions
This file was deleted.

.eslintrc.json

Lines changed: 0 additions & 33 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 38 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ on:
88
paths-ignore:
99
- '**/**.md'
1010
env:
11-
NODE_VERSION: 22.4.1
11+
NODE_VERSION: 22.12.0
1212
PARSE_SERVER_TEST_TIMEOUT: 20000
13+
permissions:
14+
actions: write
1315
jobs:
1416
check-code-analysis:
1517
name: Code Analysis
@@ -136,41 +138,42 @@ jobs:
136138
uses: mansona/npm-lockfile-version@v1
137139
with:
138140
version: 2
141+
check-types:
142+
name: Check Types
143+
timeout-minutes: 5
144+
runs-on: ubuntu-latest
145+
steps:
146+
- uses: actions/checkout@v3
147+
- run: npm ci
148+
- name: Build types
149+
run: npm run build:types
139150
check-mongo:
140151
strategy:
141152
matrix:
142153
include:
143-
- name: MongoDB 4.2, ReplicaSet
144-
MONGODB_VERSION: 4.2.25
145-
MONGODB_TOPOLOGY: replset
146-
NODE_VERSION: 22.4.1
147-
- name: MongoDB 4.4, ReplicaSet
148-
MONGODB_VERSION: 4.4.29
149-
MONGODB_TOPOLOGY: replset
150-
NODE_VERSION: 22.4.1
151-
- name: MongoDB 5, ReplicaSet
152-
MONGODB_VERSION: 5.0.26
153-
MONGODB_TOPOLOGY: replset
154-
NODE_VERSION: 22.4.1
155154
- name: MongoDB 6, ReplicaSet
156-
MONGODB_VERSION: 6.0.14
155+
MONGODB_VERSION: 6.0.19
157156
MONGODB_TOPOLOGY: replset
158-
NODE_VERSION: 22.4.1
157+
NODE_VERSION: 22.12.0
159158
- name: MongoDB 7, ReplicaSet
160-
MONGODB_VERSION: 7.0.8
159+
MONGODB_VERSION: 7.0.16
160+
MONGODB_TOPOLOGY: replset
161+
NODE_VERSION: 22.12.0
162+
- name: MongoDB 8, ReplicaSet
163+
MONGODB_VERSION: 8.0.4
161164
MONGODB_TOPOLOGY: replset
162-
NODE_VERSION: 22.4.1
165+
NODE_VERSION: 22.12.0
163166
- name: Redis Cache
164167
PARSE_SERVER_TEST_CACHE: redis
165-
MONGODB_VERSION: 7.0.8
168+
MONGODB_VERSION: 8.0.4
166169
MONGODB_TOPOLOGY: standalone
167-
NODE_VERSION: 22.4.1
170+
NODE_VERSION: 22.12.0
168171
- name: Node 20
169-
MONGODB_VERSION: 7.0.8
172+
MONGODB_VERSION: 8.0.4
170173
MONGODB_TOPOLOGY: standalone
171-
NODE_VERSION: 20.15.1
174+
NODE_VERSION: 20.18.0
172175
- name: Node 18
173-
MONGODB_VERSION: 7.0.8
176+
MONGODB_VERSION: 8.0.4
174177
MONGODB_TOPOLOGY: standalone
175178
NODE_VERSION: 18.20.4
176179
fail-fast: false
@@ -219,27 +222,21 @@ jobs:
219222
strategy:
220223
matrix:
221224
include:
222-
- name: PostgreSQL 13, PostGIS 3.1
223-
POSTGRES_IMAGE: postgis/postgis:13-3.1
224-
NODE_VERSION: 22.4.1
225-
- name: PostgreSQL 13, PostGIS 3.2
226-
POSTGRES_IMAGE: postgis/postgis:13-3.2
227-
NODE_VERSION: 22.4.1
228-
- name: PostgreSQL 13, PostGIS 3.3
229-
POSTGRES_IMAGE: postgis/postgis:13-3.3
230-
NODE_VERSION: 22.4.1
231-
- name: PostgreSQL 13, PostGIS 3.4
232-
POSTGRES_IMAGE: postgis/postgis:13-3.4
233-
NODE_VERSION: 22.4.1
234-
- name: PostgreSQL 14, PostGIS 3.4
235-
POSTGRES_IMAGE: postgis/postgis:14-3.4
236-
NODE_VERSION: 22.4.1
225+
- name: PostgreSQL 15, PostGIS 3.3
226+
POSTGRES_IMAGE: postgis/postgis:15-3.3
227+
NODE_VERSION: 22.12.0
237228
- name: PostgreSQL 15, PostGIS 3.4
238229
POSTGRES_IMAGE: postgis/postgis:15-3.4
239-
NODE_VERSION: 22.4.1
240-
- name: PostgreSQL 16, PostGIS 3.4
241-
POSTGRES_IMAGE: postgis/postgis:16-3.4
242-
NODE_VERSION: 22.4.1
230+
NODE_VERSION: 22.12.0
231+
- name: PostgreSQL 15, PostGIS 3.5
232+
POSTGRES_IMAGE: postgis/postgis:15-3.5
233+
NODE_VERSION: 22.12.0
234+
- name: PostgreSQL 16, PostGIS 3.5
235+
POSTGRES_IMAGE: postgis/postgis:16-3.5
236+
NODE_VERSION: 22.12.0
237+
- name: PostgreSQL 17, PostGIS 3.5
238+
POSTGRES_IMAGE: postgis/postgis:17-3.5
239+
NODE_VERSION: 22.12.0
243240
fail-fast: false
244241
name: ${{ matrix.name }}
245242
timeout-minutes: 20

.github/workflows/release-automated.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
- name: Use Node.js
9494
uses: actions/setup-node@v4
9595
with:
96-
node-version: 18.20.0
96+
node-version: 18.20.4
9797
- name: Cache Node.js modules
9898
uses: actions/cache@v4
9999
with:

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ node_modules
4545
.vscode
4646

4747
# Babel.js
48-
48+
# types/* once we have full typescript support, we can generate types from the typescript files
49+
!types/tsconfig.json
4950

5051
# cache folder
5152
.cache

.releaserc.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,12 @@ async function config() {
3030

3131
// Get branch
3232
const branch = ref?.split('/')?.pop()?.split('-')[0] || '(current branch could not be determined)';
33+
// eslint-disable-next-line no-console
3334
console.log(`Running on branch: ${branch}`);
3435

3536
// Set changelog file
3637
const changelogFile = `./changelogs/CHANGELOG_${branch}.md`;
38+
// eslint-disable-next-line no-console
3739
console.log(`Changelog file output to: ${changelogFile}`);
3840

3941
// Load template file contents
@@ -108,7 +110,7 @@ async function config() {
108110

109111
async function loadTemplates() {
110112
for (const template of Object.keys(templates)) {
111-
113+
112114
// For ES6 modules use:
113115
// const fileUrl = import.meta.url;
114116
// const __dirname = dirname(fileURLToPath(fileUrl));

CONTRIBUTING.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -263,24 +263,22 @@ If your pull request introduces a change that may affect the storage or retrieva
263263
* If your feature is intended to work with MongoDB and PostgreSQL, you can include or exclude tests more granularly with:
264264

265265
- `it_only_mongodb_version('>=4.4')` // will test with any version of Postgres but only with version >=4.4 of MongoDB; accepts semver notation to specify a version range
266-
- `it_exclude_mongodb_version('<4.4')` // will test with any version of Postgres and MongoDB, excluding version <4.4 of MongoDB; accepts semver notation to specify a version range
267266
- `it_only_postgres_version('>=13')` // will test with any version of Mongo but only with version >=13 of Postgres; accepts semver notation to specify a version range
268-
- `it_exclude_postgres_version('<13')` // will test with any version of Postgres and MongoDB, excluding version <13 of Postgres; accepts semver notation to specify a version range
269267

270268
#### Postgres with Docker
271269

272270
[PostGIS images (select one with v2.2 or higher) on docker hub](https://hub.docker.com/r/postgis/postgis) is based off of the official [postgres](https://hub.docker.com/_/postgres) image and will work out-of-the-box (as long as you create a user with the necessary extensions for each of your Parse databases; see below). To launch the compatible Postgres instance, copy and paste the following line into your shell:
273271

274272
```
275-
docker run -d --name parse-postgres -p 5432:5432 -e POSTGRES_PASSWORD=password --rm postgis/postgis:16-3.4-alpine && sleep 20 && docker exec -it parse-postgres psql -U postgres -c 'CREATE DATABASE parse_server_postgres_adapter_test_database;' && docker exec -it parse-postgres psql -U postgres -c 'CREATE EXTENSION pgcrypto; CREATE EXTENSION postgis;' -d parse_server_postgres_adapter_test_database && docker exec -it parse-postgres psql -U postgres -c 'CREATE EXTENSION postgis_topology;' -d parse_server_postgres_adapter_test_database
273+
docker run -d --name parse-postgres -p 5432:5432 -e POSTGRES_PASSWORD=password --rm postgis/postgis:17-3.5-alpine && sleep 20 && docker exec -it parse-postgres psql -U postgres -c 'CREATE DATABASE parse_server_postgres_adapter_test_database;' && docker exec -it parse-postgres psql -U postgres -c 'CREATE EXTENSION pgcrypto; CREATE EXTENSION postgis;' -d parse_server_postgres_adapter_test_database && docker exec -it parse-postgres psql -U postgres -c 'CREATE EXTENSION postgis_topology;' -d parse_server_postgres_adapter_test_database
276274
```
277275
To stop the Postgres instance:
278276

279277
```
280278
docker stop parse-postgres
281279
```
282280

283-
You can also use the [postgis/postgis:16-3.4-alpine](https://hub.docker.com/r/postgis/postgis) image in a Dockerfile and copy this [script](https://github.com/parse-community/parse-server/blob/master/scripts/before_script_postgres.sh) to the image by adding the following lines:
281+
You can also use the [postgis/postgis:17-3.5-alpine](https://hub.docker.com/r/postgis/postgis) image in a Dockerfile and copy this [script](https://github.com/parse-community/parse-server/blob/master/scripts/before_script_postgres.sh) to the image by adding the following lines:
284282

285283
```
286284
#Install additional scripts. These are run in abc order during initial start

DEPRECATIONS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ The following is a list of deprecations, according to the [Deprecation Policy](h
1313
| DEPPS7 | Remove file trigger syntax `Parse.Cloud.beforeSaveFile((request) => {})` | [#7966](https://github.com/parse-community/parse-server/pull/7966) | 5.3.0 (2022) | 7.0.0 (2024) | removed | - |
1414
| DEPPS8 | Login with expired 3rd party authentication token defaults to `false` | [#7079](https://github.com/parse-community/parse-server/pull/7079) | 5.3.0 (2022) | 7.0.0 (2024) | removed | - |
1515
| DEPPS9 | Rename LiveQuery `fields` option to `keys` | [#8389](https://github.com/parse-community/parse-server/issues/8389) | 6.0.0 (2023) | 7.0.0 (2024) | removed | - |
16-
| DEPPS10 | Config option `encodeParseObjectInCloudFunction` defaults to `true` | [#8634](https://github.com/parse-community/parse-server/issues/8634) | 6.2.0 (2023) | 8.0.0 (2025) | deprecated | - |
16+
| DEPPS10 | Encode `Parse.Object` in Cloud Function and remove option `encodeParseObjectInCloudFunction` | [#8634](https://github.com/parse-community/parse-server/issues/8634) | 6.2.0 (2023) | 9.0.0 (2026) | deprecated | - |
17+
| DEPPS11 | Replace `PublicAPIRouter` with `PagesRouter` | [#7625](https://github.com/parse-community/parse-server/issues/7625) | 8.0.0 (2025) | 9.0.0 (2026) | deprecated | - |
1718

1819
[i_deprecation]: ## "The version and date of the deprecation."
1920
[i_removal]: ## "The version and date of the planned removal."

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
############################################################
22
# Build stage
33
############################################################
4-
FROM node:20.14.0-alpine3.20 AS build
4+
FROM node:20.18.2-alpine3.20 AS build
55

66
RUN apk --no-cache add \
77
build-base \
@@ -28,7 +28,7 @@ RUN npm ci --omit=dev --ignore-scripts \
2828
############################################################
2929
# Release stage
3030
############################################################
31-
FROM node:20.14.0-alpine3.20 AS release
31+
FROM node:20.18.2-alpine3.20 AS release
3232

3333
VOLUME /parse-server/cloud /parse-server/config
3434

0 commit comments

Comments
 (0)