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

fix(module-tools): change the output css module json filename #4774

Merged
merged 1 commit into from
Oct 11, 2023

Conversation

10Derozan
Copy link
Contributor

@10Derozan 10Derozan commented Oct 11, 2023

fix #4711

Summary

🤖 Generated by Copilot at b6071c9

This pull request changes the output css module json filename when bundleless, to avoid naming conflicts. It also refactors and moves the isCssModule function to the utils module, and updates the related code and tests. It adds a changeset file for the @modern-js/module-tools package.

Details

🤖 Generated by Copilot at b6071c9

  • Add a changeset file to document the patch bump and the fix message for the @modern-js/module-tools package (link)
  • Move the isCssModule function from the postcssTransformer module to the utils module, and update the imports accordingly (link, link, link, link)
  • Change the output css module json filename when bundleless, to avoid naming conflicts, by replacing the dots with underscores, except for the dot before the slash (link, link, link)
  • Remove the unnecessary code for handling the source maps and metafile generation for the output chunks, as they are handled by the esbuild builder itself (link)
  • Import the basename function from the path module, to generate the new css module json filename (link)
  • Update the test case for the redirect feature, to match the new css module json filename (link, 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 Oct 11, 2023

🦋 Changeset detected

Latest commit: c6d6560

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

This PR includes changesets to release 257 packages
Name Type
@modern-js/module-tools Patch
@modern-js/doc-plugin-auto-sidebar Patch
@modern-js/plugin-storybook Patch
@modern-js/plugin-tailwindcss Patch
@modern-js/devtools-kit Patch
@modern-js/plugin-devtools Patch
@modern-js/plugin-module-babel Patch
@modern-js/plugin-module-banner Patch
@modern-js/plugin-module-import Patch
@modern-js/plugin-module-node-polyfill Patch
@modern-js/plugin-module-polyfill Patch
integration-module-tools Patch
@modern-js/babel-preset-app Patch
@modern-js/babel-preset-base Patch
@modern-js/core 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-swc Patch
@modern-js/builder-doc Patch
@modern-js/main-doc Patch
@modern-js/module-tools-docs Patch
@modern-js/devtools-client Patch
@modern-js/devtools-mount Patch
@modern-js/plugin-garfish Patch
@modern-js/plugin-router-v5 Patch
@modern-js/runtime Patch
@modern-js/plugin-testing Patch
@modern-js/new-action Patch
@modern-js/sandpack-react Patch
@modern-js-app/eslint-config Patch
@modern-js/eslint-config Patch
@modern-js/tsconfig Patch
@modern-js/babel-plugin-module-resolver Patch
@modern-js/bff-core Patch
@modern-js/bff-runtime 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-cli Patch
@modern-js/builder-rspack-provider Patch
@modern-js/builder-shared Patch
@modern-js/builder-webpack-provider Patch
@modern-js/builder Patch
@modern-js/builder-plugin-esbuild Patch
@modern-js/builder-plugin-image-compress 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
@modern-js/monorepo-tools Patch
@modern-js/create Patch
@modern-js/e2e Patch
@modern-js/node-bundle-require Patch
@modern-js/plugin Patch
@modern-js/runtime-utils Patch
@modern-js/types Patch
@modern-js/upgrade Patch
@modern-js/utils Patch
@modern-js/babel-compiler Patch
@scripts/build Patch
@scripts/check-changeset Patch
@scripts/jest-config Patch
@scripts/lint-package-json Patch
@scripts/prebundle Patch
@scripts/update-codesmith Patch
@scripts/update-rspress Patch
@scripts/vitest-config Patch
tests Patch
@integration-test/alias-set Patch
api-service-koa Patch
app-docmuent Patch
integration-asset-prefix Patch
async-entry-test Patch
tmp Patch
bff-express Patch
bff-koa Patch
integration-builder-plugins Patch
integration-clean-dist-path Patch
integration-compatibility Patch
integration-copy-assets Patch
integration-custom-dist-path Patch
integration-custom-render Patch
integration-custom-template Patch
dev-server Patch
@integration-test/devtools Patch
integration-disable-html Patch
esbuild-transform-and-minify Patch
esbuild-integration Patch
integration-config-async-config-test Patch
integration-basic-local-config Patch
integration-config-function-params Patch
integration-local-config-function Patch
integration-load-config Patch
main-entry-name Patch
alias-js-test Patch
alias-ts-test Patch
asset-limit-test Patch
asset-path-test Patch
asset-publicPath-test Patch
svgr-test Patch
auto-external-test Patch
banner-footer-test Patch
build-type-test Patch
copy-test Patch
decorator-test Patch
global-vars-js-test Patch
global-vars-ts-test Patch
dts-test Patch
esbuild-options-test Patch
external-test Patch
format-cjs-test Patch
format-esm-test Patch
format-iife-test Patch
format-umd-test Patch
entry-test Patch
jsx-test Patch
metafile-test Patch
minify-test Patch
platform-test Patch
redirect-test Patch
data-url-test Patch
ndoe-protocol-test Patch
lib1 Patch
lib2 Patch
lib3 Patch
condition-exports-test Patch
js-extensions-test Patch
main-fields-test Patch
module-tools-side-effects-test Patch
source-dir-test Patch
sourcemap-test Patch
splitting-test Patch
css-test Patch
less-test Patch
style-test Patch
postcss-test Patch
sass-test Patch
tailwindcss-test Patch
target-test Patch
transform-import Patch
transform-lodash Patch
tsconfig-test Patch
umdGlobals-test Patch
get-module-id-test Patch
dev-test Patch
build-platform-test Patch
build-preset-error-test Patch
build-preset-function-test Patch
build-preset-test Patch
build-preset-string-test Patch
plugin-babel Patch
plugin-node-polyfill Patch
plugin-polyfill Patch
nonce Patch
routes Patch
file-based-router Patch
use-loader Patch
runtime Patch
select-mul-entry-test Patch
select-one-entry-test Patch
entry Patch
server-config 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
@source-code-build/common Patch
@source-code-build/components Patch
@source-code-build/utils Patch
ssg-fixtures-nested-routes Patch
ssg-fixtures-simple Patch
ssg-fixtures-web-server Patch
ssg Patch
ssr-base-json-test Patch
ssr-base-test Patch
ssr-base-fallback-test Patch
init Patch
ssr-preload Patch
ssr-streaming-test Patch
ssr Patch
swc-test-decorator-legacy Patch
swc-test-decorator Patch
swc-minify-css Patch
swc-minify-js Patch
transform-fail Patch
swc-integration Patch
integration-tailwindcss-v2 Patch
integration-tailwindcss-v3-js-config Patch
integration-tailwindcss-v3-merge-config Patch
integration-tailwindcss-v3-ts-config Patch
integration-tailwindcss-v3 Patch
twin-macro-v2 Patch
twin-macro-v3 Patch
tailwindcss-integration-test Patch
tmp-dir Patch
write-to-dist Patch
@e2e/builder-cli-rspack Patch
@e2e/builder-cli-vue Patch
@e2e/builder-cli-webpack 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-remove-prop-types Patch
@e2e/webpack-builder-source-map Patch
@e2e/builder-vue3 Patch
@e2e/builder-vue2 Patch
@e2e/builder 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
@e2e/garfish Patch
@modern-js/generator-common Patch
@modern-js/generator-plugin Patch
@modern-js/generator-utils Patch
@modern-js/bff-generator Patch
@modern-js/dependence-generator Patch
@modern-js/entry-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/changeset-generator Patch
@modern-js/packages-generator Patch
@modern-js/repo-generator Patch
@modern-js/server-generator Patch
@modern-js/tailwindcss-generator Patch
@modern-js/generator-cases 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

@10Derozan
Copy link
Contributor Author

Oh, it can not avoid the esbuild error.

@10Derozan
Copy link
Contributor Author

We need a more hack way

@codecov
Copy link

codecov bot commented Oct 11, 2023

Codecov Report

All modified lines are covered by tests ✅

Comparison is base (99693f0) 57.59% compared to head (c6d6560) 51.18%.
Report is 1249 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4774      +/-   ##
==========================================
- Coverage   57.59%   51.18%   -6.42%     
==========================================
  Files         672      680       +8     
  Lines       17794    18970    +1176     
  Branches     3876     4383     +507     
==========================================
- Hits        10249     9709     -540     
- Misses       6934     8530    +1596     
- Partials      611      731     +120     

see 498 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@chenjiahan chenjiahan merged commit bd7b116 into main Oct 11, 2023
@chenjiahan chenjiahan deleted the fix/css-name branch October 11, 2023 11:08
@chenjiahan
Copy link
Member

LGTM 👍🏻

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.

[Bug]: Two output files share the same path when use CSS modules
2 participants