Skip to content

Removes need to use babel-register #4865

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jul 3, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .babelrc
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@
"node": "8"
}
}]
]
],
"sourceMaps": "inline"
}
2 changes: 1 addition & 1 deletion .nycrc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
],
"exclude": [
"**/spec/**",
"lib/"
"src/"
]
}

51 changes: 45 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,49 @@
### Contributing to Parse Server
# Contributing to Parse Server

#### Pull Requests Welcome!
We really want Parse to be yours, to see it grow and thrive in the open source community.

We really want Parse to be yours, to see it grow and thrive in the open source community.
If you are not familiar with Pull Requests and want to know more about them, you can visit the [Creating a pull request](https://help.github.com/articles/creating-a-pull-request/) article. It contains detailed informations about the process.

##### Please Do's
## Setting up the project for debugging and contributing:

### Recommended setup:

* [vscode](https://code.visualstudio.com), the popular IDE.
* [Jasmine Test Explorer](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer), a very practical test exploration plugin which let you run, debug and see the test results inline.

### Setting up you local machine:

* [Fork](https://github.com/parse-community/parse-server) this project and clone the fork on your local machine:

```sh
$ git clone https://github.com/parse-community/parse-server
$ cd parse-server # go into the clone directory
$ npm install # install all the node dependencies
$ code . # launch vscode
$ npm run watch # run babel watching for local file changes
```

Once you have babel running in watch mode, you can start making changes to parse-server.

### Good to know:

* The lib/ folder is not commited, so never make changes in there.
* Always make changes to files in the `src/` folder.
* All the tests should point to sources in the `lib/` folder.

### Troubleshooting:

*Question*: I modify the code in the src folder but it doesn't seem to have any effect.<br/>
*Answer*: Check that `npm run watch` is running

*Question*: How do I use breakpoints and debug step by step?<br/>
*Answer*: The easiest way is to install [Jasmine Test Explorer](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer), it will let you run selectively tests and debug them.

*Question*: How do I deploy my forked version on my servers?<br/>
*Answer*: In your `package.json`, update the `parse-server` dependency to `https://github.com/MY_USERNAME/parse-server#MY_FEATURE`. Run `npm install`, commit the changes and deploy to your servers.


### Please Do's

* Begin by reading the [Development Guide](http://docs.parseplatform.org/parse-server/guide/#development-guide) to learn how to get started running the parse-server.
* Take testing seriously! Aim to increase the test coverage with every pull request. To obtain the test coverage of the project, run:
Expand All @@ -17,7 +56,7 @@ We really want Parse to be yours, to see it grow and thrive in the open source c
* Lint your code by running `npm run lint` to make sure the code is not going to be rejected by the CI.
* **Do not** publish the *lib* folder.

##### Run your tests against Postgres (optional)
### Run your tests against Postgres (optional)

If your pull request introduces a change that may affect the storage or retrieval of objects, you may want to make sure it plays nice with Postgres.

Expand All @@ -28,6 +67,6 @@ If your pull request introduces a change that may affect the storage or retrieva
- `it_only_db('mongo')` // will make a test that only runs on mongo
- `it_exclude_dbs(['postgres'])` // will make a test that runs against all DB's but postgres

##### Code of Conduct
### Code of Conduct

This project adheres to the [Contributor Covenant Code of Conduct](https://github.com/parse-community/parse-server/blob/master/CODE_OF_CONDUCT.md). By participating, you are expected to honor this code.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
"dev": "npm run build && node bin/dev",
"lint": "flow && eslint --cache ./",
"build": "babel src/ -d lib/ --copy-files",
"watch": "babel --watch src/ -d lib/ --copy-files",
"pretest": "npm run lint",
"test": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 TESTING=1 jasmine",
"coverage": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=3.2.6} MONGODB_STORAGE_ENGINE=mmapv1 TESTING=1 nyc jasmine",
Expand Down
2 changes: 1 addition & 1 deletion spec/AccountLockoutPolicy.spec.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"use strict";

const Config = require("../src/Config");
const Config = require("../lib/Config");

const loginWithWrongCredentialsShouldFail = function(username, password) {
return new Promise((resolve, reject) => {
Expand Down
6 changes: 3 additions & 3 deletions spec/AdaptableController.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

const AdaptableController = require("../src/Controllers/AdaptableController").AdaptableController;
const FilesAdapter = require("../src/Adapters/Files/FilesAdapter").default;
const FilesController = require("../src/Controllers/FilesController").FilesController;
const AdaptableController = require("../lib/Controllers/AdaptableController").AdaptableController;
const FilesAdapter = require("../lib/Adapters/Files/FilesAdapter").default;
const FilesController = require("../lib/Controllers/FilesController").FilesController;

const MockController = function(options) {
AdaptableController.call(this, options);
Expand Down
6 changes: 3 additions & 3 deletions spec/AdapterLoader.spec.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@

const loadAdapter = require("../src/Adapters/AdapterLoader").loadAdapter;
const loadAdapter = require("../lib/Adapters/AdapterLoader").loadAdapter;
const FilesAdapter = require("@parse/fs-files-adapter").default;
const S3Adapter = require("@parse/s3-files-adapter").default;
const ParsePushAdapter = require("@parse/push-adapter").default;
const Config = require('../src/Config');
const Config = require('../lib/Config');

describe("AdapterLoader", ()=>{

Expand Down Expand Up @@ -33,7 +33,7 @@ describe("AdapterLoader", ()=>{
});

it("should instantiate an adapter from string that is module", (done) => {
const adapterPath = require('path').resolve("./src/Adapters/Files/FilesAdapter");
const adapterPath = require('path').resolve("./lib/Adapters/Files/FilesAdapter");
const adapter = loadAdapter({
adapter: adapterPath
});
Expand Down
8 changes: 4 additions & 4 deletions spec/AudienceRouter.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const auth = require('../src/Auth');
const Config = require('../src/Config');
const rest = require('../src/rest');
const AudiencesRouter = require('../src/Routers/AudiencesRouter').AudiencesRouter;
const auth = require('../lib/Auth');
const Config = require('../lib/Config');
const rest = require('../lib/rest');
const AudiencesRouter = require('../lib/Routers/AudiencesRouter').AudiencesRouter;

describe('AudiencesRouter', () => {
it('uses find condition from request.body', (done) => {
Expand Down
2 changes: 1 addition & 1 deletion spec/Auth.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
describe('Auth', () => {
const Auth = require('../src/Auth.js').Auth;
const Auth = require('../lib/Auth.js').Auth;

describe('getUserRoles', () => {
let auth;
Expand Down
8 changes: 4 additions & 4 deletions spec/AuthenticationAdapters.spec.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
const request = require('request');
const Config = require("../src/Config");
const defaultColumns = require('../src/Controllers/SchemaController').defaultColumns;
const authenticationLoader = require('../src/Adapters/Auth');
const Config = require("../lib/Config");
const defaultColumns = require('../lib/Controllers/SchemaController').defaultColumns;
const authenticationLoader = require('../lib/Adapters/Auth');
const path = require('path');

describe('AuthenticationProviders', function() {
["facebook", "facebookaccountkit", "github", "instagram", "google", "linkedin", "meetup", "twitter", "janrainengage", "janraincapture", "vkontakte"].map(function(providerName){
it("Should validate structure of " + providerName, (done) => {
const provider = require("../src/Adapters/Auth/" + providerName);
const provider = require("../lib/Adapters/Auth/" + providerName);
jequal(typeof provider.validateAuthData, "function");
jequal(typeof provider.validateAppId, "function");
const authDataPromise = provider.validateAuthData({}, {});
Expand Down
8 changes: 4 additions & 4 deletions spec/CLI.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';
import commander from '../src/cli/utils/commander';
import definitions from '../src/cli/definitions/parse-server';
import liveQueryDefinitions from '../src/cli/definitions/parse-live-query-server';
const commander = require('../lib/cli/utils/commander').default;
const definitions = require('../lib/cli/definitions/parse-server').default;
const liveQueryDefinitions = require('../lib/cli/definitions/parse-live-query-server').default;

const testDefinitions = {
'arg0': 'PROGRAM_ARG_0',
Expand Down Expand Up @@ -173,7 +173,7 @@ describe('LiveQuery definitions', () => {
if (typeof definition.env !== 'undefined') {
expect(typeof definition.env).toBe('string');
}
expect(typeof definition.help).toBe('string');
expect(typeof definition.help).toBe('string', `help for ${key} should be a string`);
if (typeof definition.required !== 'undefined') {
expect(typeof definition.required).toBe('boolean');
}
Expand Down
2 changes: 1 addition & 1 deletion spec/CacheController.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const CacheController = require('../src/Controllers/CacheController.js').default;
const CacheController = require('../lib/Controllers/CacheController.js').default;

describe('CacheController', function() {
let FakeCacheAdapter;
Expand Down
4 changes: 2 additions & 2 deletions spec/Client.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Client = require('../src/LiveQuery/Client').Client;
const ParseWebSocket = require('../src/LiveQuery/ParseWebSocketServer').ParseWebSocket;
const Client = require('../lib/LiveQuery/Client').Client;
const ParseWebSocket = require('../lib/LiveQuery/ParseWebSocketServer').ParseWebSocket;

describe('Client', function() {
it('can be initialized', function() {
Expand Down
2 changes: 1 addition & 1 deletion spec/ClientSDK.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const ClientSDK = require('../src/ClientSDK');
const ClientSDK = require('../lib/ClientSDK');

describe('ClientSDK', () => {
it('should properly parse the SDK versions', () => {
Expand Down
2 changes: 1 addition & 1 deletion spec/CloudCode.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use strict"
const Parse = require("parse/node");
const rp = require('request-promise');
const InMemoryCacheAdapter = require('../src/Adapters/Cache/InMemoryCacheAdapter').InMemoryCacheAdapter;
const InMemoryCacheAdapter = require('../lib/Adapters/Cache/InMemoryCacheAdapter').InMemoryCacheAdapter;

describe('Cloud Code', () => {
it('can load absolute cloud code file', done => {
Expand Down
4 changes: 2 additions & 2 deletions spec/CloudCodeLogger.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const LoggerController = require('../src/Controllers/LoggerController').LoggerController;
const WinstonLoggerAdapter = require('../src/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
const LoggerController = require('../lib/Controllers/LoggerController').LoggerController;
const WinstonLoggerAdapter = require('../lib/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
const fs = require('fs');

const loremFile = __dirname + '/support/lorem.txt';
Expand Down
2 changes: 1 addition & 1 deletion spec/DatabaseController.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const DatabaseController = require('../src/Controllers/DatabaseController.js');
const DatabaseController = require('../lib/Controllers/DatabaseController.js');
const validateQuery = DatabaseController._validateQuery;

describe('DatabaseController', function() {
Expand Down
2 changes: 1 addition & 1 deletion spec/EmailVerificationToken.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

const request = require('request');
const requestp = require('request-promise');
const Config = require('../src/Config');
const Config = require('../lib/Config');

describe("Email Verification Token Expiration: ", () => {

Expand Down
6 changes: 3 additions & 3 deletions spec/EnableSingleSchemaCache.spec.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const auth = require('../src/Auth');
const Config = require('../src/Config');
const rest = require('../src/rest');
const auth = require('../lib/Auth');
const Config = require('../lib/Config');
const rest = require('../lib/rest');

describe('Enable single schema cache', () => {
beforeEach((done) => {
Expand Down
2 changes: 1 addition & 1 deletion spec/EventEmitterPubSub.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const EventEmitterPubSub = require('../src/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;
const EventEmitterPubSub = require('../lib/Adapters/PubSub/EventEmitterPubSub').EventEmitterPubSub;

describe('EventEmitterPubSub', function() {
it('can publish and subscribe', function() {
Expand Down
10 changes: 5 additions & 5 deletions spec/FilesController.spec.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
const LoggerController = require('../src/Controllers/LoggerController').LoggerController;
const WinstonLoggerAdapter = require('../src/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
const GridStoreAdapter = require("../src/Adapters/Files/GridStoreAdapter").GridStoreAdapter;
const Config = require("../src/Config");
const FilesController = require('../src/Controllers/FilesController').default;
const LoggerController = require('../lib/Controllers/LoggerController').LoggerController;
const WinstonLoggerAdapter = require('../lib/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
const GridStoreAdapter = require("../lib/Adapters/Files/GridStoreAdapter").GridStoreAdapter;
const Config = require("../lib/Config");
const FilesController = require('../lib/Controllers/FilesController').default;

const mockAdapter = {
createFile: () => {
Expand Down
6 changes: 3 additions & 3 deletions spec/GridStoreAdapter.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
const MongoClient = require("mongodb").MongoClient;
const GridStore = require("mongodb").GridStore;

const GridStoreAdapter = require("../src/Adapters/Files/GridStoreAdapter").GridStoreAdapter;
const Config = require("../src/Config");
const FilesController = require('../src/Controllers/FilesController').default;
const GridStoreAdapter = require("../lib/Adapters/Files/GridStoreAdapter").GridStoreAdapter;
const Config = require("../lib/Config");
const FilesController = require('../lib/Controllers/FilesController').default;


// Small additional tests to improve overall coverage
Expand Down
4 changes: 2 additions & 2 deletions spec/HTTPRequest.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

const httpRequest = require("../src/cloud-code/httpRequest"),
HTTPResponse = require('../src/cloud-code/HTTPResponse').default,
const httpRequest = require("../lib/cloud-code/httpRequest"),
HTTPResponse = require('../lib/cloud-code/HTTPResponse').default,
bodyParser = require('body-parser'),
express = require("express");

Expand Down
2 changes: 1 addition & 1 deletion spec/InMemoryCache.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const InMemoryCache = require('../src/Adapters/Cache/InMemoryCache').default;
const InMemoryCache = require('../lib/Adapters/Cache/InMemoryCache').default;


describe('InMemoryCache', function() {
Expand Down
2 changes: 1 addition & 1 deletion spec/InMemoryCacheAdapter.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const InMemoryCacheAdapter = require('../src/Adapters/Cache/InMemoryCacheAdapter').default;
const InMemoryCacheAdapter = require('../lib/Adapters/Cache/InMemoryCacheAdapter').default;

describe('InMemoryCacheAdapter', function() {
const KEY = 'hello';
Expand Down
8 changes: 4 additions & 4 deletions spec/InstallationsRouter.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const auth = require('../src/Auth');
const Config = require('../src/Config');
const rest = require('../src/rest');
const InstallationsRouter = require('../src/Routers/InstallationsRouter').InstallationsRouter;
const auth = require('../lib/Auth');
const Config = require('../lib/Config');
const rest = require('../lib/rest');
const InstallationsRouter = require('../lib/Routers/InstallationsRouter').InstallationsRouter;

describe('InstallationsRouter', () => {
it('uses find condition from request.body', (done) => {
Expand Down
2 changes: 1 addition & 1 deletion spec/Logger.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const logging = require('../src/Adapters/Logger/WinstonLogger');
const logging = require('../lib/Adapters/Logger/WinstonLogger');
const winston = require('winston');

class TestTransport extends winston.Transport {
Expand Down
4 changes: 2 additions & 2 deletions spec/LoggerController.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const LoggerController = require('../src/Controllers/LoggerController').LoggerController;
const WinstonLoggerAdapter = require('../src/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
const LoggerController = require('../lib/Controllers/LoggerController').LoggerController;
const WinstonLoggerAdapter = require('../lib/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;

describe('LoggerController', () => {
it('can check process a query without throwing', (done) => {
Expand Down
6 changes: 3 additions & 3 deletions spec/LogsRouter.spec.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
'use strict';

const request = require('request');
const LogsRouter = require('../src/Routers/LogsRouter').LogsRouter;
const LoggerController = require('../src/Controllers/LoggerController').LoggerController;
const WinstonLoggerAdapter = require('../src/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;
const LogsRouter = require('../lib/Routers/LogsRouter').LogsRouter;
const LoggerController = require('../lib/Controllers/LoggerController').LoggerController;
const WinstonLoggerAdapter = require('../lib/Adapters/Logger/WinstonLoggerAdapter').WinstonLoggerAdapter;

const loggerController = new LoggerController(new WinstonLoggerAdapter());

Expand Down
4 changes: 2 additions & 2 deletions spec/Middlewares.spec.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const middlewares = require('../src/middlewares');
const AppCache = require('../src/cache').AppCache;
const middlewares = require('../lib/middlewares');
const AppCache = require('../lib/cache').AppCache;

describe('middlewares', () => {

Expand Down
2 changes: 1 addition & 1 deletion spec/MongoSchemaCollectionAdapter.spec.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

const MongoSchemaCollection = require('../src/Adapters/Storage/Mongo/MongoSchemaCollection').default;
const MongoSchemaCollection = require('../lib/Adapters/Storage/Mongo/MongoSchemaCollection').default;

describe('MongoSchemaCollection', () => {
it('can transform legacy _client_permissions keys to parse format', done => {
Expand Down
2 changes: 1 addition & 1 deletion spec/MongoStorageAdapter.spec.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

import MongoStorageAdapter from '../src/Adapters/Storage/Mongo/MongoStorageAdapter';
const MongoStorageAdapter = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter').default;
const { MongoClient } = require('mongodb');
const databaseURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase';

Expand Down
2 changes: 1 addition & 1 deletion spec/MongoTransform.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// These tests are unit tests designed to only test transform.js.
"use strict";

const transform = require('../src/Adapters/Storage/Mongo/MongoTransform');
const transform = require('../lib/Adapters/Storage/Mongo/MongoTransform');
const dd = require('deep-diff');
const mongodb = require('mongodb');

Expand Down
2 changes: 1 addition & 1 deletion spec/NullCacheAdapter.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const NullCacheAdapter = require('../src/Adapters/Cache/NullCacheAdapter').default;
const NullCacheAdapter = require('../lib/Adapters/Cache/NullCacheAdapter').default;

describe('NullCacheAdapter', function() {
const KEY = 'hello';
Expand Down
2 changes: 1 addition & 1 deletion spec/OAuth1.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const OAuth = require("../src/Adapters/Auth/OAuth1Client");
const OAuth = require("../lib/Adapters/Auth/OAuth1Client");

describe('OAuth', function() {
it("Nonce should have right length", (done) => {
Expand Down
Loading