Anna Henningsen bd99179abc
Make sure input to path.{dir,base}name is a string
Since nodejs/node@08085c49b6, which will be part of Node.js v6.0,
functions from the `path` core module (like `dirname`) will require
their input to be a string.

Currently, at some points in the code they might be called
with `undefined`; This patch adds `… || ""` so that the input
is always a string.

For `path.dirname` in the babel-core file, this does not change
behaviour, since
`path.dirname(undefined) === path.dirname("") === "."` (where the
first expression is only defined for Node.js ≤ v5.x).

For `path.basename`, this changes the return value, since
`path.basename(undefined) === "undefined"` (on Node.js ≤ v5.x), but
`path.basename("") === ""`. However, it seems reasonable to assume
that, due to the trailing expression in
`path.basename(…) || "stdout"`, the current behaviour is not actually
the intended one.

There are possibly more places in the code base where similar changes
may be neccessary; However, these suffice to make the tests pass
and un-break the build of at least one external project when using
the current Node.js master branch.
2016-03-28 15:31:38 +02:00
..
2016-03-16 18:13:40 -07:00
2016-03-22 20:37:46 -07:00
2015-10-29 20:15:06 -07:00

babel-core

Babel compiler core.

Install

$ npm install babel-core

Usage

import babel from 'babel-core';

const code = `class Example {}`;
const result = babel.transform(code, { /* options */ });

result.code; // Generated code
result.map; // Sourcemap
result.ast; // AST

For more in depth documentation see: http://babeljs.io/docs/usage/api/