-
Notifications
You must be signed in to change notification settings - Fork 16
add own class name hashing #220
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
Conversation
🦋 Changeset detectedLatest commit: 1ca44c9 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
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 |
CodSpeed Performance ReportMerging #220 will not alter performanceComparing Summary
|
6eeed5a
to
5a043c2
Compare
b80af04
to
e6dfbfe
Compare
packages/yak-swc/yak_swc/tests/fixture/keyframe-animations-function/output.tsx
Outdated
Show resolved
Hide resolved
# Conflicts: # packages/yak-swc/yak_swc/src/utils/ast_helper.rs
489d3fd
to
8d1d4d9
Compare
# Conflicts: # package.json # packages/cross-file-tests/__tests__/fixtures/constant/output/index.tsx # packages/cross-file-tests/__tests__/fixtures/namespaceConstant/output/index.tsx # packages/cross-file-tests/__tests__/fixtures/nestedMixin/output/icon.tsx # packages/cross-file-tests/__tests__/fixtures/nestedMixin/output/index.tsx # packages/cross-file-tests/__tests__/fixtures/sameFileMixin/output/index.tsx # packages/cross-file-tests/__tests__/fixtures/selector/output/icon.tsx # packages/cross-file-tests/__tests__/fixtures/selector/output/index.tsx # packages/cross-file-tests/__tests__/fixtures/staticMixin/output/index.tsx # packages/cross-file-tests/__tests__/fixtures/yak-file/output/index.tsx # packages/cross-file-tests/__tests__/fixtures/yakFileMixin/output/index.tsx # packages/yak-swc/yak_swc/src/yak_transforms.rs # packages/yak-swc/yak_swc/tests/fixture/attrs/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/attrs/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/basic-styled-component/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/basic-styled-component/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/comments/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/comments/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/complex-nested-structure/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/complex-nested-structure/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/constants/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/constants/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/cross-file-constants/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/cross-file-constants/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/cross-file-mixin-dynamic-export/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/cross-file-mixin-export/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/cross-file-mixin-export/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/cross-file-mixin-import/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/cross-file-mixin-import/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/cross-file-selectors/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/cross-file-selectors/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/css-grid-layout/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/css-grid-layout/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/css-import-order/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/css-mixin-inline/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/css-mixin-inline/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/css-mixin-nested/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/css-mixin-nested/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/css-mixin/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/css-mixin/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/css-prop/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/css-prop/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/css-variables/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/css-variables/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/dynamic-prop-error/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/dynamic-prop-error/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/encoded/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/encoded/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/extending-styles/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/extending-styles/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/keyframe-animations-function/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/keyframe-animations-function/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/keyframe-animations-object/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/keyframe-animations-object/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/keyframe-animations/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/keyframe-animations/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/keyframes-nested-error/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/keyframes-nested-error/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/media-queries/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/media-queries/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/mixing-with-tailwind-error/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/mixing-with-tailwind-error/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/mixing-with-tailwind/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/mixing-with-tailwind/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/nested-dynamic-mixin/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/nested-dynamic-mixin/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/nested-selectors/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/nested-selectors/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/parens/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/parens/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/props-and-dynamic-styles/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/props-and-dynamic-styles/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/styled-componets/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/styled-componets/output.prod.tsx # packages/yak-swc/yak_swc/tests/fixture/theming-with-context/output.dev.tsx # packages/yak-swc/yak_swc/tests/fixture/theming-with-context/output.prod.tsx # pnpm-lock.yaml
8d1d4d9
to
ec4c658
Compare
This PR requires next 15.3.0-canary.30 (for CI pipelines) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This PR is a first draft for minified CSS class names in production by generating deterministic but unique class names directly in the SWC plugin
The change will:
The generated code from the SWC plugin changes from
The PR will only work for Next.js versions with a
postcss-modules-local-by-default
version 4.1 or newerStill todo:
//
work for postcss ignore markers