@@ -3,6 +3,7 @@ const { closeSync, openSync, writeFileSync } = require("fs");
3
3
const validateOptions = require ( "schema-utils" ) ;
4
4
5
5
const ProjectSnapshotGenerator = require ( "../../snapshot/android/project-snapshot-generator" ) ;
6
+ const { getPackageJson } = require ( "../../projectHelpers" ) ;
6
7
const {
7
8
ANDROID_PROJECT_DIR ,
8
9
ANDROID_APP_PATH ,
@@ -38,14 +39,16 @@ exports.NativeScriptSnapshotPlugin = (function() {
38
39
39
40
NativeScriptSnapshotPlugin . ensureSnapshotModuleEntry = function ( options ) {
40
41
const { webpackConfig, requireModules, chunks, includeApplicationCss } = options ;
42
+ const internalRequireModules = this . getInternalRequireModules ( webpackConfig . context ) ;
41
43
42
44
const snapshotEntryPath = join ( ANDROID_PROJECT_DIR , SNAPSHOT_ENTRY_MODULE ) ;
43
45
44
46
let snapshotEntryContent = "" ;
45
47
if ( includeApplicationCss ) {
46
48
snapshotEntryContent += `require("nativescript-dev-webpack/load-application-css");` ;
47
49
}
48
- snapshotEntryContent += requireModules . map ( mod => `require('${ mod } ')` ) . join ( ";" ) ;
50
+ snapshotEntryContent += [ ...requireModules , ...internalRequireModules ]
51
+ . map ( mod => `require('${ mod } ')` ) . join ( ";" ) ;
49
52
50
53
writeFileSync ( snapshotEntryPath , snapshotEntryContent , { encoding : "utf8" } ) ;
51
54
@@ -59,6 +62,11 @@ exports.NativeScriptSnapshotPlugin = (function() {
59
62
webpackConfig . optimization . runtimeChunk = { name : SNAPSHOT_ENTRY_NAME } ;
60
63
}
61
64
65
+ NativeScriptSnapshotPlugin . getInternalRequireModules = function ( webpackContext ) {
66
+ const packageJson = getPackageJson ( webpackContext ) ;
67
+ return ( packageJson && packageJson [ "android" ] && packageJson [ "android" ] [ "requireModules" ] ) || [ ] ;
68
+ }
69
+
62
70
NativeScriptSnapshotPlugin . validateSchema = function ( options ) {
63
71
if ( ! options . chunk && ! options . chunks ) {
64
72
const error = NativeScriptSnapshotPlugin . extendError ( { message : `No chunks specified!` } ) ;
0 commit comments