https://github.com/feedly/grunt-react-native
A grunt plugin for launching the React Native packager and bundle your files for relase
https://github.com/feedly/grunt-react-native
Last synced: 11 months ago
JSON representation
A grunt plugin for launching the React Native packager and bundle your files for relase
- Host: GitHub
- URL: https://github.com/feedly/grunt-react-native
- Owner: feedly
- License: mit
- Archived: true
- Created: 2016-03-22T20:53:47.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-03-14T17:29:39.000Z (over 9 years ago)
- Last Synced: 2025-03-16T18:24:05.346Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 441 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
# grunt-react-native [](https://travis-ci.org/feedly/grunt-react-native) [](https://www.npmjs.com/package/grunt-react-native)
> A grunt plugin for launching the React Native packager and bundle your files for release
## Getting Started
This plugin requires Grunt `~0.4.5`
If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
```shell
npm install react@^0.14.5 react-native@^0.24.1 grunt-react-native --save-dev
```
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-react-native');
```
## The "react_native" task
### Overview
In your project's Gruntfile, add a section named `react_native` to the data object passed into `grunt.initConfig()`.
```js
grunt.initConfig({
react_native: {
your_target: {
options: {
// Target-specific options go here.
}
// Target-specific files go here.
},
},
});
```
### Options
#### options.minify
Type: `Boolean`
Default value: `false`
Setting to true will minify the resulting bundle.
#### options.platform
Type: `String`
Default value: The task's (target) name
Which platform the bundle is made for.
#### options.reset_cache
Type: `Boolean`
Default value: `false`
Pass the reset cache option to react native packager (see https://github.com/facebook/react-native/issues/4968)
#### options.verbose
Type: `Boolean`
Default value: `false`
Verbose mode.
#### options.watch
Type: `Boolean`
Default value: `false`
Watch mode, this will launch the react native packager server for development.
### Usage Examples
```js
grunt.initConfig({
react_native: {
ios: {
options: {
minify: false,
verbose: false,
watch: false,
},
src: 'src/index.ios.js',
dst: 'build/index.ios.bundle',
},
watch: {
options: {
verbose: false,
watch: true,
},
src: 'src/', // The directory to watch and serve
},
},
});
```
## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).
## Release History
### V 2.2.0 Transfer ownership from [@alexmick](https://github.com/alexmick) to @feedly
### V 2.1.4 Use peer dependencies
### V 2.1.3 Update dependency management
### V 2.1.2 Major release version bump because of ownership transfer to @alexmick
### V 0.1.2 Include assets
Features :
* Now bundles your assets as well
To do :
* Find a more reliable way to test output files
### V 0.1.1 Fix tests
Fixes :
* Failing tests (react-native's fault)
To do :
* Find a more reliable way to test output files
* Manage assets destination
### V 0.1.0 Initial Release
Supports :
* Bundle task
* Watch task
To do :
* Manage assets destination