let babelTransfrom = (plain) => { try { let matchCommonJS = (opt) => opt === 'transform-es2015-modules-commonjs'; let strict = false; if(global.Mancy.session.mode === 'Strict') { strict = true; if(_.findIndex(ReplConstants.BABEL_OPTIONS.plugins, matchCommonJS) === -1) { ReplConstants.BABEL_OPTIONS.plugins.push('transform-es2015-modules-commonjs'); } } else { _.remove(ReplConstants.BABEL_OPTIONS.plugins, matchCommonJS); } let code = babel .transform(plain, ReplConstants.BABEL_OPTIONS) .code; // transform imports added by babel scripts into require if(!strict && code.indexOf('import') !== -1) { code = code.replace(importMatcher, importToRequire); } return strict ? code.substring(USE_STRICT_LENGTH - 1) : code; } catch(e) { return e; } }
it('transforms "react-native-config"" to "react-native-config-node"', function () { const code = 'import abc from "react-native-config";' const expected = 'import abc from "react-native-config-node";' const actual = babel.transform(code, { plugins: [pluginPath] }).code assert(actual === expected) })
function testPlugin(code) { const result = transform(code, { presets: [["env", {"targets": {"node": "8.0"}}]], plugins: [ require.resolve('../../src/babel'), 'babel-plugin-transform-es2015-modules-commonjs', ], }) return result.code }
// transpile es6 syntax const transpileCode = source => { return transform(source, { presets: ['es2015', 'env', 'react'], plugins: ['transform-object-rest-spread'] }).code }
process(src, filename) { if (babel.util.canCompile(filename)) { return babel.transform(src, { filename, presets: [jestPreset], retainLines: true, }).code; } return src; }
function compileByBabel(file, appName, runtimeName) { let runtimeFile = getRuntimeFile(file, appName, runtimeName); if (!checkFileExtensions(file)) { if (path.basename(file) != '.DS_Store') { fileCopySync(file, runtimeFile); } return; } mkdirsSync(path.dirname(runtimeFile)); let content = fs.readFileSync(file); let babel = require('babel-core'); let data = babel.transform(content, { filename: file, presets: [ ['env', { 'targets': { "node": 'current' } }] ] }); fs.writeFileSync(`${runtimeFile}`, data.code); log(`[Babel] ${path.relative(process.cwd(), file)}`); }
data = transformed.code } catch (err) { fs.writeFile(out + '.errored.js', data, encoding, function () {
plugins: ['react-intl'], presets: ['es2015-node6/object-rest', 'react', 'stage-2'] }).metadata['react-intl'].messages;
var out = fn.apply(null, args) JSON.stringify(out) `, { presets: ['env'] }).code
function babelIt(filter, babelSettings) { return babel.transform(code, babelSettings).code
function buildContent(content, filename, destination, babelOptions = {}) { babelOptions.filename = filename; const result = transform(content, babelOptions); outputFileSync(destination, result.code, {encoding: 'utf8'}); }
it('does not transform "React-native-config"', function () { const code = 'import abc from "React-native-config";' const expected = 'import abc from "React-native-config";' const actual = babel.transform(code, { plugins: [pluginPath] }).code assert(actual === expected) })
it('does not transform "react-native-config-node"', function () { const code = 'import abc from "react-native-config-node";' const expected = 'import abc from "react-native-config-node";' const actual = babel.transform(code, { plugins: [pluginPath] }).code assert(actual === expected) })