11'use strict' ;
22const path = require ( 'path' ) ;
33const fs = require ( 'fs' ) ;
4- const imgRegex = / \. ( p n g | j p e ? g | g i f | s v g ) ( \? .* ) ? $ / ;
4+ const IMG_REGEX = / \. ( p n g | j p e ? g | g i f | s v g ) ( \? .* ) ? $ / ;
5+ const PKG_PREFIX = '@easy-team' ;
56exports . readWebpackMemoryFile = ( compiler , filePath ) => {
67 const compilerList = Array . isArray ( compiler ) ? compiler : [ compiler ] ;
78 for ( let i = 0 ; i < compilerList . length ; i ++ ) {
@@ -11,7 +12,7 @@ exports.readWebpackMemoryFile = (compiler, filePath) => {
1112 } ) ;
1213 if ( fileCompiler && fileCompiler . length ) {
1314 const ext = path . extname ( filePath ) . toLocaleLowerCase ( ) ;
14- if ( imgRegex . test ( ext ) ) {
15+ if ( IMG_REGEX . test ( ext ) ) {
1516 const base64 = fileCompiler [ 0 ] . outputFileSystem . readFileSync ( filePath ) . toString ( 'base64' ) ;
1617 return `data:image/${ ext . replace ( / ^ \. / , '' ) } ;base64,${ base64 } ` ;
1718 }
@@ -21,12 +22,26 @@ exports.readWebpackMemoryFile = (compiler, filePath) => {
2122 return '' ;
2223} ;
2324
24- exports . requireModule = ( module , baseDir ) => {
25+ exports . requireModule = ( moduleName , baseDir ) => {
2526 try {
26- const modulepath = path . join ( baseDir , 'node_modules' , module ) ;
27+ const modulepath = path . join ( baseDir , 'node_modules' , moduleName ) ;
2728 return require ( modulepath ) ;
2829 } catch ( e ) {
29- return require ( module ) ;
30+ return require ( moduleName ) ;
31+ }
32+ } ;
33+
34+
35+ exports . requireEasyModule = ( moduleName , baseDir ) => {
36+ const name = `${ PKG_PREFIX } /${ moduleName } ` ;
37+ return exports . requireModule ( name , baseDir ) ;
38+ } ;
39+
40+ exports . requireEasyCompatibleModule = ( moduleName , baseDir ) => {
41+ try {
42+ return exports . requireModule ( moduleName , baseDir ) ;
43+ } catch ( e ) {
44+ return exports . requireEasyModule ( moduleName , baseDir ) ;
3045 }
3146} ;
3247
@@ -65,14 +80,19 @@ exports.isUseMultProcess = (baseDir, pluginConfig) => {
6580} ;
6681
6782exports . getFramework = ( root , option = { } ) => {
83+ const vuePkgName = 'easywebpack-vue' ;
84+ const reactPkgName = 'easywebpack-vue' ;
85+
6886 if ( option . framework ) {
6987 return option . framework ;
7088 }
7189 const pkgFile = path . join ( root , 'package.json' ) ;
7290 const pkg = require ( pkgFile ) ;
73- if ( pkg . dependencies [ 'egg-view-vue-ssr' ] || pkg . dependencies [ 'easywebpack-vue' ] || pkg . devDependencies [ 'easywebpack-vue' ] ) {
91+ if ( pkg . dependencies [ 'egg-view-vue-ssr' ] || pkg . dependencies [ vuePkgName ] || pkg . devDependencies [ vuePkgName ]
92+ || pkg . dependencies [ `${ PKG_PREFIX } /${ vuePkgName } ` ] || pkg . devDependencies [ `${ PKG_PREFIX } /${ vuePkgName } ` ] ) {
7493 return 'vue' ;
75- } else if ( pkg . dependencies [ 'egg-view-react-ssr' ] || pkg . dependencies [ 'easywebpack-react' ] || pkg . devDependencies [ 'easywebpack-react' ] ) {
94+ } else if ( pkg . dependencies [ 'egg-view-react-ssr' ] || pkg . dependencies [ reactPkgName ] || pkg . devDependencies [ reactPkgName ]
95+ || pkg . dependencies [ `${ PKG_PREFIX } /${ reactPkgName } ` ] || pkg . devDependencies [ `${ PKG_PREFIX } /${ reactPkgName } ` ] ) {
7696 return 'react' ;
7797 }
7898 return null ;
@@ -84,7 +104,7 @@ exports.getWebpackConfig = (eggWebpackConfig, option) => {
84104 option . framework = framework ;
85105 const module = framework ? `easywebpack-${ framework } ` : 'easywebpack' ;
86106 const webpackConfigFile = eggWebpackConfig . webpackConfigFile ;
87- const easywebpack = exports . requireModule ( module , baseDir ) ;
107+ const easywebpack = exports . requireEasyCompatibleModule ( module , baseDir ) ;
88108 return easywebpack . getWebpackConfig ( webpackConfigFile , option ) ;
89109} ;
90110
@@ -112,4 +132,4 @@ exports.normalizeProxyUrlFile = (app, url) => {
112132
113133exports . getPort = port => {
114134 return Number ( process . env . EASY_ENV_DEV_PORT || port ) ;
115- } ;
135+ } ;
0 commit comments