From 73e97116d50ccc202059488cf8f274162f4b12fb Mon Sep 17 00:00:00 2001 From: Igor Randjelovic Date: Tue, 2 Mar 2021 20:11:47 +0100 Subject: [PATCH] fix: handle appComponents (closes #9126) --- .../configuration/__snapshots__/angular.spec.ts.snap | 6 ++++-- .../configuration/__snapshots__/base.spec.ts.snap | 6 ++++-- .../__snapshots__/javascript.spec.ts.snap | 4 +++- .../configuration/__snapshots__/react.spec.ts.snap | 12 ++++++++---- .../configuration/__snapshots__/svelte.spec.ts.snap | 6 ++++-- .../configuration/__snapshots__/vue.spec.ts.snap | 6 ++++-- packages/webpack5/src/configuration/base.ts | 12 +++++++++++- packages/webpack5/src/index.ts | 1 + 8 files changed, 39 insertions(+), 14 deletions(-) diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap index 8ad46eb11..ecd72ecc0 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap @@ -259,7 +259,9 @@ exports[`angular configuration for android 1`] = ` entry: { bundle: [ '@nativescript/core/globals/index.js', - '__jest__/src/app.js' + '__jest__/src/app.js', + '@nativescript/core/ui/frame', + '@nativescript/core/ui/frame/activity' ] } }" @@ -526,7 +528,7 @@ exports[`angular configuration for ios 1`] = ` '@nativescript/core/globals/index.js', '__jest__/src/app.js' ], - 'tns_modules/@nativescript/core/inspector_modules': [ + 'tns_modules/inspector_modules': [ '@nativescript/core/inspector_modules' ] } diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap index 9498926b0..d2e230d9d 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap @@ -247,7 +247,9 @@ exports[`base configuration for android 1`] = ` entry: { bundle: [ '@nativescript/core/globals/index.js', - '__jest__/src/app.js' + '__jest__/src/app.js', + '@nativescript/core/ui/frame', + '@nativescript/core/ui/frame/activity' ] } }" @@ -502,7 +504,7 @@ exports[`base configuration for ios 1`] = ` '@nativescript/core/globals/index.js', '__jest__/src/app.js' ], - 'tns_modules/@nativescript/core/inspector_modules': [ + 'tns_modules/inspector_modules': [ '@nativescript/core/inspector_modules' ] } diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap index 9a82e34e5..63a3ba91d 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap @@ -269,6 +269,8 @@ exports[`javascript configuration for android 1`] = ` bundle: [ '@nativescript/core/globals/index.js', '__jest__/src/app.js', + '@nativescript/core/ui/frame', + '@nativescript/core/ui/frame/activity', '__jest__/src/__virtual_entry__.js' ] } @@ -546,7 +548,7 @@ exports[`javascript configuration for ios 1`] = ` '__jest__/src/app.js', '__jest__/src/__virtual_entry__.js' ], - 'tns_modules/@nativescript/core/inspector_modules': [ + 'tns_modules/inspector_modules': [ '@nativescript/core/inspector_modules' ] } diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap index 314368102..a80530515 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap @@ -275,7 +275,9 @@ exports[`react configuration > android > adds ReactRefreshWebpackPlugin when HMR entry: { bundle: [ '@nativescript/core/globals/index.js', - '__jest__/src/app.js' + '__jest__/src/app.js', + '@nativescript/core/ui/frame', + '@nativescript/core/ui/frame/activity' ] } }" @@ -534,7 +536,9 @@ exports[`react configuration > android > base config 1`] = ` entry: { bundle: [ '@nativescript/core/globals/index.js', - '__jest__/src/app.js' + '__jest__/src/app.js', + '@nativescript/core/ui/frame', + '@nativescript/core/ui/frame/activity' ] } }" @@ -817,7 +821,7 @@ exports[`react configuration > ios > adds ReactRefreshWebpackPlugin when HMR ena '@nativescript/core/globals/index.js', '__jest__/src/app.js' ], - 'tns_modules/@nativescript/core/inspector_modules': [ + 'tns_modules/inspector_modules': [ '@nativescript/core/inspector_modules' ] } @@ -1079,7 +1083,7 @@ exports[`react configuration > ios > base config 1`] = ` '@nativescript/core/globals/index.js', '__jest__/src/app.js' ], - 'tns_modules/@nativescript/core/inspector_modules': [ + 'tns_modules/inspector_modules': [ '@nativescript/core/inspector_modules' ] } diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap index 352ab3101..67fb95c7e 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap @@ -272,7 +272,9 @@ exports[`svelte configuration for android 1`] = ` entry: { bundle: [ '@nativescript/core/globals/index.js', - '__jest__/src/app.js' + '__jest__/src/app.js', + '@nativescript/core/ui/frame', + '@nativescript/core/ui/frame/activity' ] } }" @@ -552,7 +554,7 @@ exports[`svelte configuration for ios 1`] = ` '@nativescript/core/globals/index.js', '__jest__/src/app.js' ], - 'tns_modules/@nativescript/core/inspector_modules': [ + 'tns_modules/inspector_modules': [ '@nativescript/core/inspector_modules' ] } diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap index dda5b71fe..d84f2b0a6 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap @@ -279,7 +279,9 @@ exports[`vue configuration for android 1`] = ` entry: { bundle: [ '@nativescript/core/globals/index.js', - '__jest__/src/app.js' + '__jest__/src/app.js', + '@nativescript/core/ui/frame', + '@nativescript/core/ui/frame/activity' ] } }" @@ -566,7 +568,7 @@ exports[`vue configuration for ios 1`] = ` '@nativescript/core/globals/index.js', '__jest__/src/app.js' ], - 'tns_modules/@nativescript/core/inspector_modules': [ + 'tns_modules/inspector_modules': [ '@nativescript/core/inspector_modules' ] } diff --git a/packages/webpack5/src/configuration/base.ts b/packages/webpack5/src/configuration/base.ts index 1e66602df..7504e2dfd 100644 --- a/packages/webpack5/src/configuration/base.ts +++ b/packages/webpack5/src/configuration/base.ts @@ -54,10 +54,20 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { .add('@nativescript/core/globals/index.js') .add(entryPath); + // Add android app components to the bundle to SBG can generate the java classes + if (platform === 'android') { + const appComponents = env.appComponents || []; + appComponents.push('@nativescript/core/ui/frame'); + appComponents.push('@nativescript/core/ui/frame/activity'); + appComponents.map((component) => { + config.entry('bundle').add(component); + }); + } + // inspector_modules config.when(shouldIncludeInspectorModules(), (config) => { config - .entry('tns_modules/@nativescript/core/inspector_modules') + .entry('tns_modules/inspector_modules') .add('@nativescript/core/inspector_modules'); }); diff --git a/packages/webpack5/src/index.ts b/packages/webpack5/src/index.ts index be16d9dc4..df9bed519 100644 --- a/packages/webpack5/src/index.ts +++ b/packages/webpack5/src/index.ts @@ -16,6 +16,7 @@ export interface IWebpackEnv { appPath?: string; appResourcesPath?: string; + appComponents?: string[]; nativescriptLibPath?: string;