yeet
This commit is contained in:
23
node_modules/metro-babel-transformer/package.json
generated
vendored
Normal file
23
node_modules/metro-babel-transformer/package.json
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "metro-babel-transformer",
|
||||
"version": "0.59.0",
|
||||
"description": "Base Babel transformer for Metro",
|
||||
"main": "src/index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:facebook/metro.git"
|
||||
},
|
||||
"scripts": {
|
||||
"prepare-release": "test -d build && rm -rf src.real && mv src src.real && mv build src",
|
||||
"cleanup-release": "test ! -e build && mv src build && mv src.real src"
|
||||
},
|
||||
"keywords": [
|
||||
"transformer",
|
||||
"metro"
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.0.0",
|
||||
"metro-source-map": "0.59.0"
|
||||
}
|
||||
}
|
68
node_modules/metro-babel-transformer/src/index.js
generated
vendored
Normal file
68
node_modules/metro-babel-transformer/src/index.js
generated
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
const _require = require("@babel/core"),
|
||||
parseSync = _require.parseSync,
|
||||
transformFromAstSync = _require.transformFromAstSync;
|
||||
|
||||
const _require2 = require("metro-source-map"),
|
||||
generateFunctionMap = _require2.generateFunctionMap;
|
||||
|
||||
function transform(_ref) {
|
||||
let filename = _ref.filename,
|
||||
options = _ref.options,
|
||||
plugins = _ref.plugins,
|
||||
src = _ref.src;
|
||||
const OLD_BABEL_ENV = process.env.BABEL_ENV;
|
||||
process.env.BABEL_ENV = options.dev
|
||||
? "development"
|
||||
: process.env.BABEL_ENV || "production";
|
||||
|
||||
try {
|
||||
const babelConfig = {
|
||||
caller: {
|
||||
name: "metro",
|
||||
platform: options.platform
|
||||
},
|
||||
ast: true,
|
||||
babelrc: options.enableBabelRCLookup,
|
||||
code: false,
|
||||
highlightCode: true,
|
||||
filename,
|
||||
plugins,
|
||||
sourceType: "module"
|
||||
};
|
||||
const sourceAst = parseSync(src, babelConfig);
|
||||
|
||||
const _transformFromAstSync = transformFromAstSync(
|
||||
sourceAst,
|
||||
src,
|
||||
babelConfig
|
||||
),
|
||||
ast = _transformFromAstSync.ast;
|
||||
|
||||
const functionMap = generateFunctionMap(sourceAst, {
|
||||
filename
|
||||
});
|
||||
return {
|
||||
ast,
|
||||
functionMap
|
||||
};
|
||||
} finally {
|
||||
if (OLD_BABEL_ENV) {
|
||||
process.env.BABEL_ENV = OLD_BABEL_ENV;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
transform
|
||||
};
|
92
node_modules/metro-babel-transformer/src/index.js.flow
generated
vendored
Normal file
92
node_modules/metro-babel-transformer/src/index.js.flow
generated
vendored
Normal file
@ -0,0 +1,92 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @flow
|
||||
* @format
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
const {parseSync, transformFromAstSync} = require('@babel/core');
|
||||
const {generateFunctionMap} = require('metro-source-map');
|
||||
|
||||
import type {Ast, Plugins} from '@babel/core';
|
||||
import type {FBSourceFunctionMap} from 'metro-source-map';
|
||||
|
||||
export type CustomTransformOptions = {
|
||||
[string]: mixed,
|
||||
__proto__: null,
|
||||
...
|
||||
};
|
||||
|
||||
type BabelTransformerOptions = $ReadOnly<{
|
||||
customTransformOptions?: CustomTransformOptions,
|
||||
dev: boolean,
|
||||
disableFlowStripTypesTransform?: boolean,
|
||||
enableBabelRCLookup?: boolean,
|
||||
enableBabelRuntime: boolean,
|
||||
extendsBabelConfigPath?: string,
|
||||
experimentalImportSupport?: boolean,
|
||||
hot: boolean,
|
||||
inlineRequires: boolean,
|
||||
nonInlinedRequires?: $ReadOnlyArray<string>,
|
||||
minify: boolean,
|
||||
unstable_disableES6Transforms?: boolean,
|
||||
platform: ?string,
|
||||
projectRoot: string,
|
||||
publicPath: string,
|
||||
unstable_transformProfile?: 'default' | 'hermes-stable' | 'hermes-canary',
|
||||
...
|
||||
}>;
|
||||
|
||||
export type BabelTransformerArgs = $ReadOnly<{|
|
||||
filename: string,
|
||||
options: BabelTransformerOptions,
|
||||
plugins?: Plugins,
|
||||
src: string,
|
||||
|}>;
|
||||
|
||||
export type BabelTransformer = {|
|
||||
transform: BabelTransformerArgs => {
|
||||
ast: Ast,
|
||||
functionMap: ?FBSourceFunctionMap,
|
||||
...
|
||||
},
|
||||
getCacheKey?: () => string,
|
||||
|};
|
||||
|
||||
function transform({filename, options, plugins, src}: BabelTransformerArgs) {
|
||||
const OLD_BABEL_ENV = process.env.BABEL_ENV;
|
||||
process.env.BABEL_ENV = options.dev
|
||||
? 'development'
|
||||
: process.env.BABEL_ENV || 'production';
|
||||
|
||||
try {
|
||||
const babelConfig = {
|
||||
caller: {name: 'metro', platform: options.platform},
|
||||
ast: true,
|
||||
babelrc: options.enableBabelRCLookup,
|
||||
code: false,
|
||||
highlightCode: true,
|
||||
filename,
|
||||
plugins,
|
||||
sourceType: 'module',
|
||||
};
|
||||
const sourceAst = parseSync(src, babelConfig);
|
||||
const {ast} = transformFromAstSync(sourceAst, src, babelConfig);
|
||||
const functionMap = generateFunctionMap(sourceAst, {filename});
|
||||
|
||||
return {ast, functionMap};
|
||||
} finally {
|
||||
if (OLD_BABEL_ENV) {
|
||||
process.env.BABEL_ENV = OLD_BABEL_ENV;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = ({
|
||||
transform,
|
||||
}: BabelTransformer);
|
Reference in New Issue
Block a user