@nx/expo
Version:
33 lines (32 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = update;
const devkit_1 = require("@nx/devkit");
/**
* Migration:
* - change target 'export-web'
* - change bundler to 'metro'
*/
async function update(tree) {
const projects = (0, devkit_1.getProjects)(tree);
for (const [name, config] of projects.entries()) {
if (config.targets?.['start']?.executor === '@nx/expo:start') {
if (config.targets['web']) {
delete config.targets['web'];
}
if (config.targets['export-web']) {
config.targets['export-web'].options.bundler = 'metro';
}
if (tree.exists(`${config.root}/app.json`)) {
(0, devkit_1.updateJson)(tree, `${config.root}/app.json`, (appJson) => {
if (appJson.expo?.web) {
appJson.expo.web.bundler = 'metro';
}
return appJson;
});
}
}
(0, devkit_1.updateProjectConfiguration)(tree, name, config);
}
await (0, devkit_1.formatFiles)(tree);
}