@expo/webpack-config
Version:
The default Webpack configuration used to build Expo apps targeting the web.
42 lines • 2.03 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const env_1 = require("./env");
const webpack_config_1 = __importDefault(require("./webpack.config"));
const addons_1 = require("./addons");
/**
* Create the official Webpack config for loading Expo web apps.
*
* @param env Environment props used to configure features.
* @param argv
* @category default
*/
function createWebpackConfigAsync(env, argv = {}) {
return __awaiter(this, void 0, void 0, function* () {
const environment = env_1.validateEnvironment(env);
const config = yield webpack_config_1.default(environment, argv);
// @ts-ignore: deprecated
if (environment.info) {
console.warn('environment.info is deprecated');
}
if (environment.offline === false) {
return config;
}
const { workbox = {} } = argv;
const publicUrl = workbox.publicUrl || env_1.getPublicPaths(environment).publicUrl;
return addons_1.withWorkbox(config, Object.assign(Object.assign({ projectRoot: environment.projectRoot }, workbox), { publicUrl }));
});
}
exports.default = createWebpackConfigAsync;
//# sourceMappingURL=index.js.map