Skip to content

Commit

Permalink
Fix #37: Add README for react-server-gulp-module-tagger
Browse files Browse the repository at this point in the history
  • Loading branch information
doug-wade committed May 25, 2016
1 parent f937d54 commit a016bb9
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions packages/react-server-gulp-module-tagger/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# react-server-gulp-module-tagger

A [gulp](http://gulpjs.com) plugin for tagging [react-server](https://www.npmjs.com/package/react-server) logger instances with information about the module they're being used in.

To transpile your source for use with [React Server](https://www.npmjs.com/package/react-server), install gulp and the plugin

npm i -D gulp react-server-gulp-module-tagger

Then add the task to your gulpfile

const gulp = require('gulp');
const tagger = require('react-server-gulp-module-tagger');
gulp.task('compile', () => {
gulp.src('src')
.pipe(tagger())
.pipe(gulp.dest('dist'));
});

A compile task might also use [Babel](https://babeljs.io) with the [React Server Babel preset](https://www.npmjs.com/package/babel-preset-react-server) to transpile jsx and
es 7 for the browser and the server

const gulp = require('gulp');
const babel = require('gulp-babel');
const tagger = require('react-server-gulp-module-tagger');

gulp.task('compile', () => {
gulp.src('src')
.pipe(tagger())
.pipe(babel({ presets: ['react-server'] }))
.pipe(gulp.dest('dist'));
});

Given a [React Server](https://www.npmjs.com/package/react-server) getLogger call,
adds the correct arguments to keep the server and the browser in sync.

For example, given a module in `src/components/my-feature/foo.js`

let logger = require("react-server").logging.getLogger(__LOGGER__);

returns a logger instance that will have consistent coloring on the server and
the client, and that has a human-friendly, readable name that easily maps to
the file tree (`src.components.my-feature.foo`).

Two other tokens, `__CHANNEL__` and `__CACHE__`, are reserved for future use,
and will also be replaced with a module context.

0 comments on commit a016bb9

Please sign in to comment.