Skip to content
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: 3 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
"es6": true
},
"parser": "babel-eslint",
"globals": {
"wx": true
},
"plugins": [
"flowtype"
],
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,13 @@ const AsyncStorage = require('react-native').AsyncStorage;
Parse.setAsyncStorage(AsyncStorage);
```

For WeChat miniprogram, include `'parse/weapp'`:
```js
// In a WeChat miniprogram
const Parse = require('parse/weapp');
```
If you want to use a pre-compiled file, you can fetch it from [unpkg](https://unpkg.com). The development version is available at [https://unpkg.com/parse/dist/parse.weapp.js](https://unpkg.com/parse/dist/parse.weapp.js), and the minified production version is at [https://unpkg.com/parse/dist/parse.weapp.min.js](https://unpkg.com/parse/dist/parse.weapp.min.js).

For TypeScript applications, install `'@types/parse'`:
```
$ npm install @types/parse
Expand Down
4 changes: 4 additions & 0 deletions build_releases.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,14 @@ rm -rf dist lib

echo "Browser Release:"
PARSE_BUILD=browser gulp compile
echo "Weapp Release:"
PARSE_BUILD=weapp gulp compile
echo "Node.js Release:"
PARSE_BUILD=node gulp compile
echo "React Native Release:"
PARSE_BUILD=react-native gulp compile
echo "Bundling and minifying for CDN distribution:"
gulp browserify
gulp browserify-weapp
gulp minify
gulp minify-weapp
34 changes: 33 additions & 1 deletion gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ var PRESETS = {
'browser': [["@babel/preset-env", {
"targets": "> 0.25%, not dead"
}], '@babel/preset-react'],
'weapp': [["@babel/preset-env", {
"targets": "> 0.25%, not dead"
}], '@babel/preset-react'],
'node': [["@babel/preset-env", {
"targets": { "node": "8" }
}]],
Expand All @@ -31,8 +34,10 @@ var PRESETS = {
var PLUGINS = {
'browser': [transformRuntime, '@babel/plugin-transform-flow-comments', '@babel/plugin-proposal-class-properties', 'inline-package-json',
['transform-inline-environment-variables', {'exclude': ['SERVER_RENDERING']}]],
'weapp': [transformRuntime, '@babel/plugin-transform-flow-comments', '@babel/plugin-proposal-class-properties', 'inline-package-json',
['transform-inline-environment-variables', {'exclude': ['SERVER_RENDERING']}]],
'node': ['@babel/plugin-transform-flow-comments', 'inline-package-json', 'transform-inline-environment-variables'],
'react-native': ['@babel/plugin-transform-flow-comments', 'inline-package-json', 'transform-inline-environment-variables'],
'react-native': ['@babel/plugin-transform-flow-comments', 'inline-package-json', 'transform-inline-environment-variables']
};

var DEV_HEADER = (
Expand Down Expand Up @@ -90,6 +95,25 @@ gulp.task('browserify', function(cb) {
.pipe(gulp.dest('./dist'));
});


gulp.task('browserify-weapp', function(cb) {
var stream = browserify({
builtins: ['_process', 'events'],
entries: 'lib/weapp/Parse.js',
standalone: 'Parse'
})
.exclude('xmlhttprequest')
.ignore('_process')
.bundle();
stream.on('end', () => {
cb();
});
return stream.pipe(source('parse.weapp.js'))
.pipe(derequire())
.pipe(insert.prepend(DEV_HEADER))
.pipe(gulp.dest('./dist'));
});

gulp.task('minify', function() {
return gulp.src('dist/parse.js')
.pipe(uglify())
Expand All @@ -98,6 +122,14 @@ gulp.task('minify', function() {
.pipe(gulp.dest('./dist'))
});

gulp.task('minify-weapp', function() {
return gulp.src('dist/parse.weapp.js')
.pipe(uglify())
.pipe(insert.prepend(FULL_HEADER))
.pipe(rename({ extname: '.min.js' }))
.pipe(gulp.dest('./dist'))
});

gulp.task('watch', function() {
return watch('src/*.js', { ignoreInitial: false, verbose: true })
.pipe(babel({
Expand Down
Loading