11#!/usr/bin/env node
22
3- const Module = require ( "module" ) ;
4-
53const get = prop => value => value [ prop ] ;
64const flatten = ( others , next ) => others . concat ( next ) ;
75const getLoadersFromRules = ( rules , path , loaderName ) =>
@@ -25,22 +23,20 @@ if (!webpackConfig) {
2523}
2624const { module : { rules = [ ] } = { } } = webpackConfig ;
2725
26+ // use for unminified prod builds
27+ // webpackConfig.optimization.minimize = false;
28+
2829const eslintLoaders = getLoadersFromRules ( rules , "use" , "eslint" ) ;
2930if ( ! eslintLoaders . length ) {
3031 throw new Error (
3132 `missing ESLint config in webpack config: ${ webpackConfigPath } `
3233 ) ;
3334}
3435const eslintConfig = eslintLoaders [ 0 ] . options . baseConfig ;
36+ eslintConfig . settings = { react : { version : "latest" } } ;
3537// override ESLint rules to allow using JSX with Hyperapp
3638eslintConfig . rules = Object . assign ( eslintConfig . rules || { } , {
37- "react/react-in-jsx-scope" : "off" ,
38- "no-unused-vars" : [
39- "warn" ,
40- {
41- varsIgnorePattern : "^h$"
42- }
43- ]
39+ "react/react-in-jsx-scope" : "off"
4440} ) ;
4541
4642const babelLoaders = getLoadersFromRules ( rules , "oneOf" , "babel" ) ;
@@ -55,10 +51,11 @@ babelOptions.plugins = (babelOptions.plugins || []).concat([
5551 [
5652 "@babel/transform-react-jsx" ,
5753 {
58- pragma : "h " ,
54+ pragma : "__hyperapp_html " ,
5955 useBuiltIns : true
6056 }
61- ]
57+ ] ,
58+ require . resolve ( "./injectHtmlImportPlugin" )
6259] ) ;
6360
6461// override config in cache
@@ -76,14 +73,5 @@ require.cache[require.resolve(createJestConfigPath)].exports = (...args) => {
7673 return jestConfig ;
7774} ;
7875
79- // Mock React module with dummy latest version
80- require . cache [ require . resolve ( "resolve" ) ] . exports . sync = require . resolve ;
81- const _resolveFilename = Module . _resolveFilename ;
82- Module . _resolveFilename = ( request , parent ) =>
83- request === "react" ? "react" : _resolveFilename ( request , parent ) ;
84- require . cache [ "react" ] = {
85- exports : { version : "999.999.999" }
86- } ;
87-
8876// call original react script
8977require ( `react-scripts/scripts/${ script } .js` ) ;
0 commit comments