feat(core): use angular ivy (#4369)

* chore(deps): bump angular and typescript

- required to enable ivy output & partial compilation mode

* chore(build): enable ivy output & partial compilation mode

- change ngx builds to use ivy
- remove some code that is no longer required with ivy
This commit is contained in:
Johannes Korrek
2022-10-15 18:12:20 +02:00
committed by GitHub
parent a86c55ba5f
commit 85441e59ca
4 changed files with 192 additions and 136 deletions
+2 -33
View File
@@ -21,7 +21,8 @@ export function getProgram(rootNames: string[] = createSourceFiles()) {
options.inlineSourceMap = true;
options.importHelpers = true;
options.inlineSources = true;
options.enableIvy = false;
options.enableIvy = true;
options.compilationMode = 'partial';
delete options.baseUrl;
@@ -77,38 +78,6 @@ export function generateLegacyBundles() {
);
}
// remove reference to @awesome-cordova-plugins/core decorators
export function modifyMetadata() {
PLUGIN_PATHS.map((p) =>
p.replace(join(ROOT, 'src'), join(ROOT, 'dist')).replace('index.ts', 'ngx/index.metadata.json')
).forEach((p) => {
const content = readJSONSync(p);
let _prop: { members: { [x: string]: any[] } };
for (const prop in content[0].metadata) {
_prop = content[0].metadata[prop];
removeIonicNativeDecorators(_prop);
if (_prop.members) {
for (const memberProp in _prop.members) {
removeIonicNativeDecorators(_prop.members[memberProp][0]);
}
}
}
writeJSONSync(p, content);
});
}
function removeIonicNativeDecorators(node: any) {
if (node.decorators && node.decorators.length) {
node.decorators = node.decorators.filter(
(d: { expression: { module: string } }) => d.expression.module !== '@awesome-cordova-plugins/core'
);
}
if (node.decorators && !node.decorators.length) delete node.decorators;
}
function createSourceFiles(): string[] {
return PLUGIN_PATHS.map((indexPath: string) => {
const ngxPath = resolve(indexPath.replace('index.ts', ''), 'ngx'),
-2
View File
@@ -2,7 +2,6 @@ import {
cleanupNgx,
generateLegacyBundles,
generateDeclarationFiles,
modifyMetadata,
transpileNgx,
transpileNgxCore,
} from '../build/ngx';
@@ -11,5 +10,4 @@ transpileNgxCore();
transpileNgx();
generateLegacyBundles();
generateDeclarationFiles();
modifyMetadata();
cleanupNgx();