@@ -3,6 +3,7 @@ const { closeSync, openSync, writeFileSync } = require("fs");
33const validateOptions = require ( "schema-utils" ) ;
44
55const ProjectSnapshotGenerator = require ( "../../snapshot/android/project-snapshot-generator" ) ;
6+ const { getPackageJson } = require ( "../../projectHelpers" ) ;
67const {
78 ANDROID_PROJECT_DIR ,
89 ANDROID_APP_PATH ,
@@ -38,14 +39,16 @@ exports.NativeScriptSnapshotPlugin = (function() {
3839
3940 NativeScriptSnapshotPlugin . ensureSnapshotModuleEntry = function ( options ) {
4041 const { webpackConfig, requireModules, chunks, includeApplicationCss } = options ;
42+ const internalRequireModules = this . getInternalRequireModules ( webpackConfig . context ) ;
4143
4244 const snapshotEntryPath = join ( ANDROID_PROJECT_DIR , SNAPSHOT_ENTRY_MODULE ) ;
4345
4446 let snapshotEntryContent = "" ;
4547 if ( includeApplicationCss ) {
4648 snapshotEntryContent += `require("nativescript-dev-webpack/load-application-css");` ;
4749 }
48- snapshotEntryContent += requireModules . map ( mod => `require('${ mod } ')` ) . join ( ";" ) ;
50+ snapshotEntryContent += [ ...requireModules , ...internalRequireModules ]
51+ . map ( mod => `require('${ mod } ')` ) . join ( ";" ) ;
4952
5053 writeFileSync ( snapshotEntryPath , snapshotEntryContent , { encoding : "utf8" } ) ;
5154
@@ -59,6 +62,11 @@ exports.NativeScriptSnapshotPlugin = (function() {
5962 webpackConfig . optimization . runtimeChunk = { name : SNAPSHOT_ENTRY_NAME } ;
6063 }
6164
65+ NativeScriptSnapshotPlugin . getInternalRequireModules = function ( webpackContext ) {
66+ const packageJson = getPackageJson ( webpackContext ) ;
67+ return ( packageJson && packageJson [ "android" ] && packageJson [ "android" ] [ "requireModules" ] ) || [ ] ;
68+ }
69+
6270 NativeScriptSnapshotPlugin . validateSchema = function ( options ) {
6371 if ( ! options . chunk && ! options . chunks ) {
6472 const error = NativeScriptSnapshotPlugin . extendError ( { message : `No chunks specified!` } ) ;
0 commit comments