1.0.7 • Published 9 years ago

iso-babel v1.0.7

Weekly downloads
2
License
Apache-2.0
Repository
github
Last release
9 years ago

#iso-babel

This package is a Babel plugin that lets you target the server or client directly in isomorphic JavaScript.

For example this:

import {isServer, isClient} from 'iso-babel';

if (isServer) {
  console.log(isServer);
}
if (isClient) {
  console.log(isClient);
}

...becomes this on the server:

import {isServer} from 'iso-babel';

console.log(isServer);

...and becomes this on the client:

import {isClient} from 'iso-babel';

console.log(isClient);

This also works:

if (isServer) {
  console.log('This is the server.');
} else {
  console.log('We are running on client!');
}

This is too:

if (isServer) {
  console.log(isServer);
} else if (isClient) {
  console.log(isClient);
  if (isServer) {
    // This code will never appear anywhere or run.
  }
} else {
  console.log('This code will never appear anywhere and will never run.');
}

##Usage

npm i iso-babel

For server:

babel --plugins iso-babel/is-server myscript.js > server.js

For client:

babel --plugins iso-babel/is-client myscript.js > client.js

From JavaScript:

const fs = require('fs');
const babel = require('babel')

fs.readFile('./example.js', 'utf8', (err, contents) => {

  const result = babel.transform(contents, {
    plugins: ['iso-babel/is-server'],
  });

  fs.writeFile('./bundle.js', result.code, {encoding: 'utf8'}, err => {
    if (err) {
      console.log('Received an error', err);
      process.exit(1);
    }
  });
});
1.0.7

9 years ago

1.0.6

9 years ago

1.0.5

9 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago