Can't resolve 'fs' in react-script - node-modules

We tried updating react-scripts from 4.0.3 to 5.0.0 with react-data-export 0.6.0 and xlsx 0.17.2, and when we try to build it fails with the error Module not found: Error: Can't resolve 'fs' in react-data-export\node_modules\tempa-xlsx
What fix needs to be applied to maintain react-scripts version 5.0.0?
I am using react-scripts and not webpack. Thanks!

Try adding this in node_modules\react-data-export\node_modules\tempa-xlsx\package.json
"browser": {
"fs": false,
"path": false,
"os": false
}
Worked with me.
Edit:
I just found out that I can't create Excel files anymore. After some research, it seems that 'fs' (which is used to interact with file system) was removed from react-scripts 5. So the only solution is to either use react-scripts 4.0.3, or use another Excel library.

Although adding "fs":false is a temporary fix, you might not be able to export excel files altogether. This package is not being maintained anymore. I would suggest go for react-export-excel

Related

1 WARNING in child compilations (Use 'stats.children: true' resp. '--stats-children' for more details)

How can I solve this warning when creating laravel project?
1 WARNING in child compilations (Use 'stats.children: true' resp. '--stats-children' for more details)
Steps to replicate:
composer create-project --prefer-dist laravel/laravel example
cd example
composer require laravel/ui
php artisan ui vue --auth
npm install vue#next vue-router#next vue-loader#next
npm install
npm run dev
EDIT
From this solution, add these lines to webpack.mix.js
mix.webpackConfig({
stats: {
children: true,
},
});
The above solution creates another warning:
WARNING in ./resources/sass/app.scss (./node_modules/css-loader/dist/cjs.js??clonedRuleSet-6.use1!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-6.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-6.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-6.use[4]!./resources/sass/app.scss)
Module Warning (from ./node_modules/postcss-loader/dist/cjs.js):
Warning
(2423:3) autoprefixer: Replace color-adjust to print-color-adjust. The color-adjust shorthand is currently deprecated.
Child mini-css-extract-plugin C:\xampp\htdocs\lva\node_modules\css-loader\dist\cjs.js??clonedRuleSet-6.use1!C:\xampp\htdocs\lva\node_modules\postcss-loader\dist\cjs.js??clonedRuleSet-6.use[2]!C:\xampp\htdocs\lva\node_modules\resolve-url-loader\index.js??clonedRuleSet-6.use[3]!C:\xampp\htdocs\lva\node_modules\sass-loader\dist\cjs.js??clonedRuleSet-6.use[4]!C:\xampp\htdocs\lva\resources\sass\app.scss compiled with 1 warning
webpack compiled with 1 warning
How can I solve this?
The color-adjust shorthand is currently deprecated and it depends on the autoprefixer#10.4.6 (source).
I was able to fix this by reverting the autoprefixer package as well as #Benno to version 10.4.5. Run this:
npm install autoprefixer#10.4.5 --save-exact
You probably updated your npm packages. I was able to fix this by reverting the autoprefixer package to version 10.4.5 in the package-lock.json.
when you have problem with autoprefixer maybe because your version autoprefixer. you can add version autoprefixer based problem this version autoprefixer . i have problem on "print-color-adjust" and i add code on my package.json for change my autoprefixer become version "10.4.5"
when you use npm
"overrides": {
"autoprefixer": "10.4.5"
},
Or, when you use yarn
"resolutions": {
"autoprefixer": "10.4.5"
},
Don't forget to delete your package-lock and node_modules , then npm install again.
it work for me (react-bootstrap.v.5)
If you don't want to add additional packages to solve this error, then try this:
Capitalize all the files and Directory name in your components folder
Or you can run this command to install a package if the above solution doesn't work.
npm install autoprefixer#10.4.5 --save-exact
I'm using React with InertiaJS and Laravel as backend, this solution worked in my case.
Thanks
I have the same problem, whenever I hit save an annoying pop-up of error code comes. The simple solution is to add the following code to your webpack.mixjs file :
mix.webpackConfig({
stats: {
children: true,
},});
stop the npm run watch
add a package autoprefixer, add below in terminal:
npm install autoprefixer#10.4.5 --save-exact
run npm run watch and it will not give the error again.
I solved this issue within Laravel by changing the file ./node_modules/bootstrap/scss/forms/_form-check.scss
Line 28 part of the .form-check-input style
change color-adjust: exact; // Keep themed appearance for print
to print-color-adjust: exact; // Keep themed appearance for print

Script codecept handling the __exec_command event returned with error code 255

I am very new to unit testing and have been trying to use codeception to do it. So I have followed the following guidelines link
and installed it using composer: composer require "codeception/codeception" --dev, it was successful, but when I tried to set it up using composer exec codecept bootstrap I got the following error:
Script codecept handling the __exec_command event returned with error
code 255
Anyone knows how to fix it?
Just FYI, I have pulled the whole project from a repo that already has the tests/unit folder with previous tests already.
My composer.json file has the following
"require": {
"codeception/robo-paracept": "dev-master",
},
"require-dev": {
"codeception/codeception": "2.6.x-dev",
Apparently the issue was with the php version that I was using. I am using 7.3; using 7.2 solved my problem and the whole thing went smoothly.
Run the command with the -v option to show verbose output.
In my case there where unallowed tabs in my tests/functional.suite.yml file.
I replaced them with 4 spaces and everything was fine.

Can't install module using composer on Magento 2.1

I am trying to install M2ePro module on my Magento ver. 2.1.8 application using composer and getting this error:
[http]$ php-7.0 /usr/local/bin/composer require m2e/ebay-amazon-magento2
Could not find a matching version of package m2e/ebay-amazon-magento2.
Check the package spelling, your version constraint and that the
package is available in a stability which matches your
minimum-stability (alpha).
The spelling of the package is correct, I have tried defining the version of the module (The only one available is 1.3.2):
[http]$ php-7.0 /usr/local/bin/composer require m2e/ebay-amazon-magento2:1.3.2
However get the same error so I believe stability of this module is "Beta" and I have "minimum-stability (alpha)" set so beta modules should be installed with no problems.?
I looked for solution in composer docs but could find anything about installing beta: https://getcomposer.org/doc/03-cli.md#require
Or was I looking in the wrong place?
I managed to successfully install the module on my development site and didn't receive this error so I thought it might be due to the fact that my Magento application was in the "Production" mode but setting the mode to "Developer" did not solve my problem.
UPDATE:
I just found this thread: https://magento.stackexchange.com/questions/114393/error-in-using-composer-to-install-a-module-in-magento-2-0. The answer to this question is that you need to define the package as repository. The package is from marketplace and this is content of my composer.json:
"minimum-stability": "alpha",
"prefer-stable": true,
"repositories": [
{
"type": "composer",
"url": "https://repo.magento.com/"
}
],
I have previously installed modules from marketplace using composer with no problems.
It came out that my auth.json had incorrect credentials and couldn't find the account.
Correcting the account settings fixed my problem.

Angular2 + Visual Studio 2015 - Typings

I'm having trouble with installing typings. I have the following line at the top of boot.ts:
///<reference path="./../typings/browser/ambient/es6-shim/index.d.ts"/>
However, That typing is not installed in node_modules:
I have the typings.json file with the following:
{
"ambientDependencies": {
"es6-shim": "registry:dt/es6-shim#0.31.2+20160317120654",
"jasmine": "registry:dt/jasmine#2.2.0+20160412134438",
"node": "registry:dt/node#4.0.0+20160509154515"
}
}
From all the Google'ing, I should be able to run "typings install" to install it. But, I'm just not seeing it. When I run that command, all I see is:
What am I missing/doing incorrectly?
Finally found my answer here: Attempted to compile "zone.js" as an external module, but it looks like a global module
Summary from the above link:
Basically, the newest Typings install has new changes.
In typings.json file change "ambientDependencies" to "globalDependencies"
All the typings are saved/stored in /typings folder in the root of your project, not "node_modules" (where I was looking). Reference them accordingly

React Native _weakMap2 error

I just updated to React Native 0.21, but I am getting an error when I require Parse:
var Parse = require('parse/react-native').Parse;
The error I get is:
undefined is not a constructor (evaluating 'new _weakMap2.default()')
I don't believe it has to do with Parse though, as searching the directory, the 'weakMap2' reference is only found inside the react-proxy package.
Has anyone else experienced this error or found a workaround? Thanks!
This should be fixed in react-proxy#1.1.7.
(Don’t use 2.x, it’s not related to React Native at all currently!)
You can run npm install react-proxy#1.1.7 so NPM updates it locally. If you are using npm#2.x, you would need to run npm install react-proxy#1.1.7 inside node_modules/react-native/node_modules/react-transform-hmr or something like this—check where it is installed and make sure it’s 1.x but up to date.
Don't really know the issue but running Parse JS SDK as version 1.6.14 works for me. Have the same error as you when running latest 1.7.1. Hard to trace the error.
npm i parse#1.6.14 --save
I forced react-proxy to version 2.0.1 and the error is now gone for me.

Resources