create-expo-cljs-app
Version:
Create a react native application with Expo and Shadow-CLJS!
60 lines (49 loc) • 1.59 kB
JavaScript
/**
* 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
*/
;
const meta = require("../../shared/output/meta");
const _require = require("./util"),
getModuleCodeAndMap = _require.getModuleCodeAndMap,
concat = _require.concat;
const _require2 = require("metro-source-map"),
BundleBuilder = _require2.BundleBuilder;
function asPlainBundle(_ref) {
let dependencyMapReservedName = _ref.dependencyMapReservedName,
filename = _ref.filename,
globalPrefix = _ref.globalPrefix,
idsForPath = _ref.idsForPath,
modules = _ref.modules,
requireCalls = _ref.requireCalls,
sourceMapPath = _ref.sourceMapPath,
enableIDInlining = _ref.enableIDInlining;
const builder = new BundleBuilder(filename);
const modIdForPath = x => idsForPath(x).moduleId;
for (const module of concat(modules, requireCalls)) {
const _getModuleCodeAndMap = getModuleCodeAndMap(module, modIdForPath, {
dependencyMapReservedName,
enableIDInlining,
globalPrefix
}),
moduleCode = _getModuleCodeAndMap.moduleCode,
moduleMap = _getModuleCodeAndMap.moduleMap;
builder.append(moduleCode + "\n", moduleMap);
}
if (sourceMapPath) {
builder.append(`//# sourceMappingURL=${sourceMapPath}`);
}
const code = builder.getCode();
const map = builder.getMap();
return {
code,
extraFiles: [[`${filename}.meta`, meta(code)]],
map
};
}
module.exports = asPlainBundle;