Open poshiemaaat opened 1 year ago
I would argue it's not this plugin's fault.
This plugin will change the config file.
Before the change, configuration.module.rules[1].oneOf[3]
is like
{
"test": {},
"include": "D:\\MyRepo\\webpack-analyze-plugin\\packages\\test-craco-1\\src",
"loader": "D:\\MyRepo\\webpack-analyze-plugin\\node_modules\\.pnpm\\babel-loader@8.3.0_@babel+core@7.21.8_webpack@5.82.0\\node_modules\\babel-loader\\lib\\index.js",
"options": {
"customize": "D:\\MyRepo\\webpack-analyze-plugin\\node_modules\\.pnpm\\babel-preset-react-app@10.0.1\\node_modules\\babel-preset-react-app\\webpack-overrides.js",
"presets": [
[
"D:\\MyRepo\\webpack-analyze-plugin\\node_modules\\.pnpm\\babel-preset-react-app@10.0.1\\node_modules\\babel-preset-react-app\\index.js",
{
"runtime": "automatic"
}
]
],
"babelrc": false,
"configFile": false,
"cacheIdentifier": "development:babel-plugin-named-asset-import@0.3.8:babel-preset-react-app@10.0.1:react-dev-utils@12.0.1:react-scripts@5.0.1",
"plugins": [
"D:\\MyRepo\\webpack-analyze-plugin\\node_modules\\.pnpm\\react-refresh@0.11.0\\node_modules\\react-refresh\\babel.js"
],
"cacheDirectory": true,
"cacheCompression": false,
"compact": false
}
},
After the change of this plugin it's
{
"test": {},
"include": "D:\\MyRepo\\webpack-analyze-plugin\\packages\\test-craco-1\\src",
"use": [
"D:\\MyRepo\\webpack-analyze-plugin\\packages\\time-analytics-webpack-plugin\\dist\\loader.js",
{
"loader": "D:\\MyRepo\\webpack-analyze-plugin\\node_modules\\.pnpm\\babel-loader@8.3.0_@babel+core@7.21.8_webpack@5.82.0\\node_modules\\babel-loader\\lib\\index.js",
"options": {
"customize": "D:\\MyRepo\\webpack-analyze-plugin\\node_modules\\.pnpm\\babel-preset-react-app@10.0.1\\node_modules\\babel-preset-react-app\\webpack-overrides.js",
"presets": [
[
"D:\\MyRepo\\webpack-analyze-plugin\\node_modules\\.pnpm\\babel-preset-react-app@10.0.1\\node_modules\\babel-preset-react-app\\index.js",
{
"runtime": "automatic"
}
]
],
"babelrc": false,
"configFile": false,
"cacheIdentifier": "development:babel-plugin-named-asset-import@0.3.8:babel-preset-react-app@10.0.1:react-dev-utils@12.0.1:react-scripts@5.0.1",
"plugins": [
"D:\\MyRepo\\webpack-analyze-plugin\\node_modules\\.pnpm\\react-refresh@0.11.0\\node_modules\\react-refresh\\babel.js"
],
"cacheDirectory": true,
"cacheCompression": false,
"compact": false
}
}
]
},
It's a valid config, however, when it's finally consumed by webpack, it becomes:
{
"test": {},
"include": "D:\\MyRepo\\webpack-analyze-plugin\\packages\\test-craco-1\\src",
"use": [
"D:\\MyRepo\\webpack-analyze-plugin\\packages\\time-analytics-webpack-plugin\\dist\\loader.js",
{
"test": {},
"include": [
"D:\\MyRepo\\webpack-analyze-plugin\\packages\\test-craco-1\\src"
],
"loader": "D:\\MyRepo\\webpack-analyze-plugin\\node_modules\\.pnpm\\esbuild-loader@2.21.0_webpack@5.82.0\\node_modules\\esbuild-loader\\dist\\index.js",
"options": {
"loader": "jsx",
"target": "es2015"
}
}
]
},
It's more like the issue of "craco-esbuild", in my personal view.
And I would suggest not use create-react-app if you are starting a new project.
the developers seems lost interest to maintain it regularly, last commit is 9/8/2022, it's kind of surprised for a project with almost 100k stars.
But it's still pretty good to test for a prototype :P
Describe the bug Using both this package in addition to craco-esbuild to build yields an invalid schema that gets passed to webpack.
To Reproduce Yes - pasted a working craco.config.ts to reproduce the issue.
Expected behavior I'd expect the time analytics rules to not clobber the esbuild rules, but I'm not entirely sure if that's correct?
Screenshots package.json
craco.config.ts
Additional context I am sad