Custom readme for react-tools
Of course this means I can no longer just npm publish from the project root, but I haven't been anyway.
This commit is contained in:
parent
e10d10e31e
commit
5c85f33184
|
@ -66,7 +66,8 @@ module.exports = function(grunt) {
|
||||||
|
|
||||||
grunt.registerTask('npm-react:release', npmReactTasks.buildRelease);
|
grunt.registerTask('npm-react:release', npmReactTasks.buildRelease);
|
||||||
grunt.registerTask('npm-react:pack', npmReactTasks.packRelease);
|
grunt.registerTask('npm-react:pack', npmReactTasks.packRelease);
|
||||||
grunt.registerTask('npm-react-tools:pack', npmReactToolsTasks.pack);
|
grunt.registerTask('npm-react-tools:release', npmReactToolsTasks.buildRelease);
|
||||||
|
grunt.registerTask('npm-react-tools:pack', npmReactToolsTasks.packRelease);
|
||||||
|
|
||||||
grunt.registerTask('version-check', versionCheckTask);
|
grunt.registerTask('version-check', versionCheckTask);
|
||||||
|
|
||||||
|
@ -220,6 +221,7 @@ module.exports = function(grunt) {
|
||||||
'browserify:addonsMin',
|
'browserify:addonsMin',
|
||||||
'npm-react:release',
|
'npm-react:release',
|
||||||
'npm-react:pack',
|
'npm-react:pack',
|
||||||
|
'npm-react-tools:release',
|
||||||
'npm-react-tools:pack',
|
'npm-react-tools:pack',
|
||||||
'copy:react_docs',
|
'copy:react_docs',
|
||||||
'compare_size'
|
'compare_size'
|
||||||
|
|
|
@ -3,20 +3,58 @@
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var grunt = require('grunt');
|
var grunt = require('grunt');
|
||||||
|
|
||||||
function pack() {
|
var src = 'npm-react-tools';
|
||||||
|
var dest = 'build/npm-react-tools/';
|
||||||
|
|
||||||
|
function buildRelease() {
|
||||||
|
grunt.file.exists(dest) && grunt.file.delete(dest);
|
||||||
|
|
||||||
|
// read our required files from package.json
|
||||||
|
var pkgFiles = grunt.config.data.pkg.files;
|
||||||
|
|
||||||
|
// copy all files from src first, includes custom README
|
||||||
|
var mappings = grunt.file.expandMapping('**/*', dest, {cwd: src});
|
||||||
|
|
||||||
|
// make sure we also get package.json
|
||||||
|
pkgFiles.push('package.json');
|
||||||
|
|
||||||
|
pkgFiles.map(function(file) {
|
||||||
|
if (grunt.file.isDir(file)) {
|
||||||
|
mappings = mappings.concat(grunt.file.expandMapping(file + '**/*', dest))
|
||||||
|
} else {
|
||||||
|
mappings.push({src: [file], dest: dest + file})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
mappings.forEach(function(mapping) {
|
||||||
|
var src = mapping.src[0];
|
||||||
|
var dest = mapping.dest;
|
||||||
|
if (grunt.file.isDir(src)) {
|
||||||
|
grunt.file.mkdir(dest);
|
||||||
|
} else {
|
||||||
|
grunt.file.copy(src, dest);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function packRelease() {
|
||||||
/*jshint validthis:true */
|
/*jshint validthis:true */
|
||||||
var done = this.async();
|
var done = this.async();
|
||||||
var spawnCmd = {
|
var spawnCmd = {
|
||||||
cmd: 'npm',
|
cmd: 'npm',
|
||||||
args: ['pack']
|
args: ['pack', 'npm-react-tools'],
|
||||||
|
opts: {
|
||||||
|
cwd: 'build/'
|
||||||
|
}
|
||||||
};
|
};
|
||||||
grunt.util.spawn(spawnCmd, function() {
|
grunt.util.spawn(spawnCmd, function() {
|
||||||
var src = 'react-tools-' + grunt.config.data.pkg.version + '.tgz';
|
var src = 'build/react-tools-' + grunt.config.data.pkg.version + '.tgz';
|
||||||
var dest = 'build/react-tools.tgz';
|
var dest = 'build/react-tools.tgz';
|
||||||
fs.rename(src, dest, done);
|
fs.rename(src, dest, done);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
pack: pack
|
buildRelease: buildRelease,
|
||||||
|
packRelease: packRelease
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# react-tools
|
||||||
|
|
||||||
|
This package compliments the usage of React. It ships with tools that are often used in conjunction.
|
||||||
|
|
||||||
|
## JSX
|
||||||
|
|
||||||
|
This package installs a `jsx` executable that can be used to transform JSX into vanilla JS. This is often used as part of a build step. This transform is also exposed as an API.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Command Line
|
||||||
|
|
||||||
|
```sh
|
||||||
|
jsx input > output
|
||||||
|
```
|
||||||
|
|
||||||
|
### API
|
||||||
|
|
||||||
|
```js
|
||||||
|
var reactTools = require('react-tools');
|
||||||
|
|
||||||
|
reactTools.transform(string, options);
|
||||||
|
```
|
|
@ -17,12 +17,10 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"files": [
|
"files": [
|
||||||
"README.md",
|
|
||||||
"main.js",
|
"main.js",
|
||||||
"bin/jsx",
|
"bin/jsx",
|
||||||
"src/",
|
"src/",
|
||||||
"vendor/fbtransform/",
|
"vendor/fbtransform/"
|
||||||
"vendor/constants.js"
|
|
||||||
],
|
],
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|
Loading…
Reference in New Issue