Skip to content

Commit 2956dec

Browse files
authored
Merge pull request #351 from ParsePlatform/babelfix
Upgrading Babel, Jest, fixing RN compat
2 parents 73ccdd3 + b01f2df commit 2956dec

Some content is hidden

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

45 files changed

+376
-384
lines changed

babel-jest.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
const babelJest = require('babel-jest');
2+
3+
module.exports = babelJest.createTransformer({
4+
presets: ['es2015', 'react', 'stage-2'],
5+
plugins: [],
6+
});

gulpfile.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@ var uglify = require('gulp-uglify');
1212
var BUILD = process.env.PARSE_BUILD || 'browser';
1313
var VERSION = require('./package.json').version;
1414

15+
var PRESETS = {
16+
'browser': ['es2015', 'react', 'stage-2'],
17+
'node': ['es2015', 'react', 'stage-2'],
18+
'react-native': ['react'],
19+
};
20+
var PLUGINS = {
21+
'browser': ['inline-package-json', 'transform-inline-environment-variables', 'transform-runtime'],
22+
'node': ['inline-package-json', 'transform-inline-environment-variables', 'transform-runtime'],
23+
'react-native': ['inline-package-json', 'transform-inline-environment-variables'],
24+
};
25+
1526
var DEV_HEADER = (
1627
'/**\n' +
1728
' * Parse JavaScript SDK v' + VERSION + '\n' +
@@ -42,15 +53,12 @@ gulp.task('compile', function() {
4253
};
4354
return gulp.src('src/*.js')
4455
.pipe(babel({
45-
experimental: true,
46-
optional: [
47-
'runtime',
48-
'utility.inlineEnvironmentVariables'
49-
],
50-
plugins: [
51-
'inline-package-json',
52-
require('./vendor/babel-plugin-dead-code-elimination')
53-
],
56+
presets: PRESETS[BUILD],
57+
plugins: PLUGINS[BUILD],
58+
}))
59+
// Second pass to kill BUILD-switched code
60+
.pipe(babel({
61+
plugins: ['minify-dead-code-elimination'],
5462
}))
5563
.pipe(gulp.dest(path.join('lib', BUILD)));
5664
});

integration/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"dependencies": {
44
"express": "^4.13.4",
55
"mocha": "^2.4.5",
6-
"parse-server": "^2.1.1"
6+
"parse-server": "2.2.17"
77
},
88
"scripts": {
99
"test": "mocha --reporter dot -t 5000"

package.json

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "parse",
3-
"version": "1.9.1",
3+
"version": "1.9.2",
44
"description": "The Parse JavaScript SDK",
55
"homepage": "https://www.parse.com",
66
"keywords": [
@@ -28,25 +28,31 @@
2828
"react-native": false
2929
},
3030
"dependencies": {
31-
"babel-runtime": "^5.8.20",
31+
"babel-runtime": "^6.11.6",
3232
"ws": "^1.0.1",
3333
"xmlhttprequest": "^1.7.0"
3434
},
3535
"devDependencies": {
36-
"babel-jest": "~5.3.0",
36+
"babel-jest": "^15.0.0",
3737
"babel-plugin-flow-comments": "^1.0.9",
38-
"babel-plugin-inline-package-json": "~1.0.1",
38+
"babel-plugin-inline-package-json": "~2.0.0",
39+
"babel-plugin-minify-dead-code-elimination": "0.0.2",
40+
"babel-plugin-transform-inline-environment-variables": "^6.8.0",
41+
"babel-plugin-transform-runtime": "^6.15.0",
42+
"babel-preset-es2015": "^6.14.0",
43+
"babel-preset-react": "^6.11.1",
44+
"babel-preset-stage-2": "^6.13.0",
3945
"browserify": "^11.0.1",
4046
"codecov.io": "^0.1.6",
4147
"gulp": "^3.9.0",
42-
"gulp-babel": "^5.2.0",
48+
"gulp-babel": "^6.1.2",
4349
"gulp-derequire": "^2.1.0",
4450
"gulp-insert": "^0.5.0",
4551
"gulp-rename": "^1.2.2",
4652
"gulp-replace": "^0.5.4",
4753
"gulp-uglify": "^1.4.0",
4854
"jasmine-reporters": "~1.0.0",
49-
"jest-cli": "~0.5.0",
55+
"jest-cli": "^15.1.1",
5056
"vinyl-source-stream": "^1.1.0"
5157
},
5258
"scripts": {
@@ -55,6 +61,7 @@
5561
"test": "PARSE_BUILD=node jest"
5662
},
5763
"jest": {
64+
"automock": true,
5865
"collectCoverage": true,
5966
"testPathDirs": [
6067
"src/"
@@ -63,7 +70,7 @@
6370
"/node_modules/",
6471
"/test_helpers/"
6572
],
66-
"scriptPreprocessor": "node_modules/babel-jest",
73+
"scriptPreprocessor": "babel-jest.js",
6774
"setupTestFrameworkScriptFile": "setup-jest.js"
6875
}
6976
}

src/LiveQueryClient.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,6 @@ export default class LiveQueryClient extends EventEmitter {
270270
};
271271

272272
this.socket.onerror = (error) => {
273-
console.log("error on socket");
274273
this._handleWebSocketError(error);
275274
};
276275
}
@@ -440,8 +439,6 @@ export default class LiveQueryClient extends EventEmitter {
440439

441440
if (this.reconnectHandle) {
442441
clearTimeout(this.reconnectHandle);
443-
} else {
444-
console.info('attempting to reconnect');
445442
}
446443

447444
this.reconnectHandle = setTimeout((() => {

src/Parse.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -90,17 +90,17 @@ Object.defineProperty(Parse, 'liveQueryServerURL', {
9090
});
9191
/** End setters **/
9292

93-
Parse.ACL = require('./ParseACL');
93+
Parse.ACL = require('./ParseACL').default;
9494
Parse.Analytics = require('./Analytics');
9595
Parse.Cloud = require('./Cloud');
9696
Parse.CoreManager = require('./CoreManager');
97-
Parse.Config = require('./ParseConfig');
98-
Parse.Error = require('./ParseError');
99-
Parse.FacebookUtils = require('./FacebookUtils');
100-
Parse.File = require('./ParseFile');
101-
Parse.GeoPoint = require('./ParseGeoPoint');
102-
Parse.Installation = require('./ParseInstallation');
103-
Parse.Object = require('./ParseObject');
97+
Parse.Config = require('./ParseConfig').default;
98+
Parse.Error = require('./ParseError').default;
99+
Parse.FacebookUtils = require('./FacebookUtils').default;
100+
Parse.File = require('./ParseFile').default;
101+
Parse.GeoPoint = require('./ParseGeoPoint').default;
102+
Parse.Installation = require('./ParseInstallation').default;
103+
Parse.Object = require('./ParseObject').default;
104104
Parse.Op = {
105105
Set: ParseOp.SetOp,
106106
Unset: ParseOp.UnsetOp,
@@ -110,16 +110,16 @@ Parse.Op = {
110110
AddUnique: ParseOp.AddUniqueOp,
111111
Relation: ParseOp.RelationOp
112112
};
113-
Parse.Promise = require('./ParsePromise');
113+
Parse.Promise = require('./ParsePromise').default;
114114
Parse.Push = require('./Push');
115-
Parse.Query = require('./ParseQuery');
116-
Parse.Relation = require('./ParseRelation');
117-
Parse.Role = require('./ParseRole');
118-
Parse.Session = require('./ParseSession');
115+
Parse.Query = require('./ParseQuery').default;
116+
Parse.Relation = require('./ParseRelation').default;
117+
Parse.Role = require('./ParseRole').default;
118+
Parse.Session = require('./ParseSession').default;
119119
Parse.Storage = require('./Storage');
120-
Parse.User = require('./ParseUser');
121-
Parse.LiveQuery = require('./ParseLiveQuery');
122-
Parse.LiveQueryClient = require('./LiveQueryClient');
120+
Parse.User = require('./ParseUser').default;
121+
Parse.LiveQuery = require('./ParseLiveQuery').default;
122+
Parse.LiveQueryClient = require('./LiveQueryClient').default;
123123

124124
Parse._request = function(...args) {
125125
return CoreManager.getRESTController().request.apply(null, args);

src/ParseFile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ export default class ParseFile {
100100
file: data,
101101
type: specifiedType
102102
};
103-
} else if (data && typeof data.base64 !== 'undefined') {
103+
} else if (data && typeof data.base64 === 'string') {
104104
const base64 = data.base64;
105105
var commaIndex = base64.indexOf(',');
106106

src/ParsePromise.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,8 +280,8 @@ export default class ParsePromise {
280280
* @param {Function} continuation the callback.
281281
*/
282282
_continueWith(continuation) {
283-
return this.then(function() {
284-
return continuation(arguments, null);
283+
return this.then(function(...args) {
284+
return continuation(args, null);
285285
}, function(error) {
286286
return continuation(null, error);
287287
});

src/ParseQuery.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import ParsePromise from './ParsePromise';
1818

1919
import type { RequestOptions, FullOptions } from './RESTController';
2020

21+
type BatchOptions = FullOptions & { batchSize?: number };
22+
2123
export type WhereClause = {
2224
[attr: string]: mixed;
2325
};
@@ -407,7 +409,7 @@ export default class ParseQuery {
407409
* @return {Parse.Promise} A promise that will be fulfilled once the
408410
* iteration has completed.
409411
*/
410-
each(callback: (obj: ParseObject) => any, options?: FullOptions): ParsePromise {
412+
each(callback: (obj: ParseObject) => any, options?: BatchOptions): ParsePromise {
411413
options = options || {};
412414

413415
if (this._order || this._skip || (this._limit >= 0)) {

src/ParseUser.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ export default class ParseUser extends ParseObject {
115115
});
116116
},
117117
error: (provider, error) => {
118-
if (options.error) {
118+
if (typeof options.error === 'function') {
119119
options.error(this, error);
120120
}
121121
promise.reject(error);

0 commit comments

Comments
 (0)