Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(builder): add an error tip for source.include #4288

Merged
merged 1 commit into from
Jul 24, 2023

Conversation

chenjiahan
Copy link
Member

@chenjiahan chenjiahan commented Jul 24, 2023

Summary

Original Error

Screenshot 2023-07-24 at 18 55 33

Formatted Error

Screenshot 2023-07-24 at 18 55 46

🤖 Generated by Copilot at 63bccbc

This pull request adds a new feature to the @modern-js/utils and @modern-js/builder-shared packages to improve the error reporting of webpack compilation. It enhances the error messages with tips or suggestions for common problems, and colorizes the output for better readability. It also adds a changeset file and a test file to document and verify the changes.

Details

🤖 Generated by Copilot at 63bccbc

  • Add a changeset file to document the features and versioning impact of the changes (link)
  • Pass the chalk module to the formatWebpackMessages function in the @modern-js/builder-shared package to colorize the output messages (link)
  • Add a new function addErrorTips and a new type ErrorHelper to the @modern-js/utils package to enhance the error messages with tips or suggestions (link)
  • Modify the formatWebpackMessages function in the @modern-js/utils package to accept a color parameter and to use the addErrorTips function to format the errors (link, link)
  • Add a new property errorTips to the result object returned by the formatWebpackMessages function in the @modern-js/utils package to contain the formatted error tips (link)
  • Add a new test file formatWebpack.test.ts to the @modern-js/utils package to test the addErrorTips function with different scenarios and snapshots (link)

Related Issue

Checklist

  • I have added changeset via pnpm run change.
  • I have updated the documentation.
  • I have added tests to cover my changes.

@changeset-bot
Copy link

changeset-bot bot commented Jul 24, 2023

🦋 Changeset detected

Latest commit: 63bccbc

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 217 packages
Name Type
@modern-js/builder-shared Patch
@modern-js/utils Patch
@modern-js/core Patch
@modern-js/plugin-storybook Patch
@modern-js/plugin-swc Patch
@modern-js/builder-cli Patch
@modern-js/builder-rspack-provider Patch
@modern-js/builder-webpack-provider Patch
@modern-js/builder Patch
@modern-js/friendly-errors-webpack-plugin Patch
@modern-js/builder-plugin-esbuild Patch
@modern-js/builder-plugin-node-polyfill Patch
@modern-js/builder-plugin-stylus Patch
@modern-js/builder-plugin-swc Patch
@modern-js/builder-plugin-vue Patch
@modern-js/builder-plugin-vue2 Patch
@modern-js/app-tools Patch
@e2e/builder Patch
@modern-js/babel-preset-app Patch
@modern-js/babel-preset-base Patch
@modern-js/doc-core Patch
@modern-js/doc-plugin-api-docgen Patch
@modern-js/doc-plugin-auto-sidebar Patch
@modern-js/doc-plugin-medium-zoom Patch
@modern-js/doc-plugin-preview Patch
@modern-js/doc-plugin-typedoc Patch
@modern-js/plugin-bff Patch
@modern-js/plugin-changeset Patch
@modern-js/plugin-data-loader Patch
@modern-js/plugin-i18n Patch
@modern-js/plugin-lint Patch
@modern-js/plugin-proxy Patch
@modern-js/plugin-ssg Patch
@modern-js/plugin-tailwindcss Patch
@modern-js/plugin-garfish Patch
@modern-js/plugin-router-v5 Patch
@modern-js/runtime Patch
@modern-js/plugin-testing Patch
@modern-js/generator-common Patch
@modern-js/generator-plugin Patch
@modern-js/generator-utils Patch
@modern-js/new-action Patch
@modern-js/entry-generator Patch
@modern-js/repo-generator Patch
@modern-js/bff-core Patch
@modern-js/server-core Patch
@modern-js/create-request Patch
@modern-js/plugin-express Patch
@modern-js/plugin-koa Patch
@modern-js/plugin-polyfill Patch
@modern-js/plugin-server Patch
@modern-js/plugin-worker Patch
@modern-js/prod-server Patch
@modern-js/server Patch
@modern-js/server-utils Patch
@modern-js/builder-plugin-image-compress Patch
@modern-js/plugin-module-doc Patch
@modern-js/doc-tools Patch
@modern-js/module-tools Patch
@modern-js/monorepo-tools Patch
@modern-js/create Patch
@modern-js/e2e Patch
@modern-js/monorepo-utils Patch
@modern-js/node-bundle-require Patch
@modern-js/plugin Patch
@modern-js/upgrade Patch
@modern-js/babel-compiler Patch
@scripts/vitest-config Patch
tests Patch
server-config Patch
@e2e/garfish Patch
@e2e/builder-cli-rspack Patch
@e2e/builder-cli-vue Patch
@e2e/builder-cli-webpack Patch
@integration-test/alias-set Patch
api-service-koa Patch
app-docmuent Patch
integration-asset-prefix Patch
async-entry-test Patch
bff-express Patch
bff-koa Patch
integration-builder-plugins Patch
builder-rspack Patch
integration-clean-dist-path Patch
integration-copy-assets Patch
antd-less Patch
bad-nested-npm-import Patch
bad-npm-import Patch
base-import Patch
disable-source-map Patch
exclude-less Patch
exclude-sass Patch
import-common-css Patch
less-import Patch
less-inline-js Patch
less-npm-import Patch
multi-css Patch
multi-less Patch
multi-sass Patch
nested-npm-import Patch
npm-import Patch
integration-tailwindcss-v2 Patch
integration-tailwindcss-v3 Patch
twin-macro-v2 Patch
twin-macro-v3 Patch
integration-custom-render Patch
integration-custom-template Patch
dev-server Patch
integration-disable-html Patch
legacy-esbuild-minify-js Patch
esbuild-transform-and-minify Patch
integration-config-async-config-test Patch
integration-basic-local-config Patch
integration-config-function-params Patch
integration-local-config-function Patch
main-entry-name Patch
tmp Patch
nonce Patch
routes Patch
file-based-router Patch
use-loader Patch
select-mul-entry-test Patch
select-one-entry-test Patch
server-middleware Patch
server-hook-reqeust Patch
server-hook-response Patch
server-hook-router Patch
@integration-test/server-hook-reqeust Patch
server-prod Patch
@source-code-build/app-ts-loader Patch
@source-code-build/app Patch
ssg-fixtures-nested-routes Patch
ssg-fixtures-simple Patch
ssg-fixtures-web-server Patch
ssr-base-json-test Patch
ssr-base-test Patch
ssr-base-fallback-test Patch
init Patch
ssr-streaming-test Patch
swc-minify-css Patch
swc-minify-js Patch
transform-fail Patch
tmp-dir Patch
write-to-dist Patch
@e2e/garfish-dashboard-router-v6 Patch
@e2e/garfish-dashboard Patch
@e2e/garfish-main-router-v6 Patch
@e2e/garfish-main Patch
@e2e/garfish-table Patch
@modern-js-app/eslint-config Patch
@modern-js/main-doc Patch
@modern-js/module-tools-docs Patch
doc-plugin Patch
@modern-js/bff-generator Patch
@modern-js/dependence-generator Patch
@modern-js/doc-generator Patch
@modern-js/generator-generator Patch
@modern-js/module-generator Patch
@modern-js/module-test-generator Patch
@modern-js/monorepo-generator Patch
@modern-js/mwa-generator Patch
@modern-js/router-v5-generator Patch
@modern-js/rspack-generator Patch
@modern-js/ssg-generator Patch
@modern-js/storybook-generator Patch
@modern-js/test-generator Patch
@modern-js/upgrade-generator Patch
@modern-js/generator-plugin-plugin Patch
@modern-js/base-generator Patch
@modern-js/packages-generator Patch
@modern-js/server-generator Patch
@modern-js/tailwindcss-generator Patch
@scripts/update-codesmith Patch
@modern-js/builder-doc Patch
@modern-js/doc-tools-doc Patch
simple-doc-template Patch
i18n-doc Patch
simple-doc-production Patch
with-base Patch
@modern-js/plugin-module-babel Patch
@modern-js/plugin-module-banner Patch
@modern-js/plugin-module-import Patch
@modern-js/plugin-module-main-fields Patch
@modern-js/plugin-module-node-polyfill Patch
@modern-js/plugin-module-polyfill Patch
@modern-js/plugin-module-target Patch
@modern-js/remark-container Patch
integration-module-doc Patch
@modern-js/eslint-config Patch
@modern-js/generator-cases Patch
@modern-js/changeset-generator Patch
@modern-js/tsconfig Patch
@modern-js/babel-plugin-module-resolver Patch
@modern-js/bff-runtime Patch
@modern-js/types Patch
@scripts/build Patch
@scripts/check-changeset Patch
@scripts/jest-config Patch
@scripts/lint-package-json Patch
@scripts/prebundle Patch
css-test Patch
doc-tools Patch
esbuild-integration Patch
integration-load-config Patch
runtime Patch
entry Patch
@source-code-build/components Patch
@source-code-build/utils Patch
ssg Patch
ssr Patch
swc-integration Patch
@e2e/webpack-builder-import-antd-v4 Patch
@e2e/webpack-builder-import-antd-v5 Patch
@e2e/webpack-builder-import-arco Patch
@e2e/webpack-builder-test-moment Patch
@e2e/builder-vue3 Patch
@e2e/builder-vue2 Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@codecov
Copy link

codecov bot commented Jul 24, 2023

Codecov Report

Patch coverage has no change and project coverage change: -1.16 ⚠️

Comparison is base (99693f0) 57.59% compared to head (63bccbc) 56.44%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4288      +/-   ##
==========================================
- Coverage   57.59%   56.44%   -1.16%     
==========================================
  Files         672      663       -9     
  Lines       17794    18101     +307     
  Branches     3876     3956      +80     
==========================================
- Hits        10249    10217      -32     
- Misses       6934     7223     +289     
- Partials      611      661      +50     

see 386 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@chenjiahan chenjiahan merged commit 00b58a7 into web-infra-dev:main Jul 24, 2023
9 checks passed
@caohuilin caohuilin mentioned this pull request Jul 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants