diff --git a/.changeset/cuddly-points-cover.md b/.changeset/cuddly-points-cover.md deleted file mode 100644 index 3229c97aa..000000000 --- a/.changeset/cuddly-points-cover.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@swc/plugin-formatjs": minor ---- - - fix(formatjs): Variable evaluate concatenation diff --git a/Cargo.lock b/Cargo.lock index 5118aa332..27d54fb22 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -872,6 +872,12 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "dragonbox_ecma" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a5577f010d4e1bb3f3c4d6081e05718eb6992cf20119cab4d3abadff198b5ae" + [[package]] name = "dtoa" version = "1.0.9" @@ -1609,7 +1615,7 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "modularize_imports" -version = "0.108.0" +version = "0.109.0" dependencies = [ "convert_case", "handlebars", @@ -2133,7 +2139,7 @@ dependencies = [ [[package]] name = "react_remove_properties" -version = "0.62.0" +version = "0.63.0" dependencies = [ "serde", "swc_atoms", @@ -2203,7 +2209,7 @@ checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "remove_console" -version = "0.63.0" +version = "0.64.0" dependencies = [ "serde", "swc_atoms", @@ -2630,7 +2636,7 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "styled_components" -version = "0.136.0" +version = "0.137.0" dependencies = [ "Inflector", "once_cell", @@ -2652,7 +2658,7 @@ dependencies = [ [[package]] name = "styled_jsx" -version = "0.111.0" +version = "0.112.0" dependencies = [ "anyhow", "lightningcss", @@ -2758,7 +2764,7 @@ dependencies = [ [[package]] name = "swc_confidential" -version = "0.57.0" +version = "0.58.0" dependencies = [ "cipher 0.4.4", "hex", @@ -2810,9 +2816,9 @@ dependencies = [ [[package]] name = "swc_core" -version = "53.0.0" +version = "55.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44dce45a8b694039e2e3f435c46c855c72458e5aec5e962db222c161bf0ad5c0" +checksum = "399bda66a590c521f3371a67d7a0ef579b149fd045691105dfd63bc6cfbfafd2" dependencies = [ "swc_allocator", "swc_atoms", @@ -2962,9 +2968,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "19.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "724195600825cbdd2a899d5473d2ce1f24ae418bff1231f160ecf38a3bc81f46" +checksum = "4682d975a3b4ea33f351e7938db4db41f757d9abe537af4780611ef006531698" dependencies = [ "bitflags", "cbor4ii", @@ -2983,25 +2989,24 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "21.0.0" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c77d9d21345ca986ae3b5ff1a4fa3607b15b07ed397506e6dba32e867cf40fd" +checksum = "c5bee5594d86feee801134048e926748a31ad10e7befef507322b056c113e148" dependencies = [ "ascii", "compact_str", + "dragonbox_ecma", "memchr", "num-bigint", "once_cell", "regex", "rustc-hash", - "ryu-js", "serde", "swc_allocator", "swc_atoms", "swc_common", "swc_ecma_ast", "swc_ecma_codegen_macros", - "swc_sourcemap", "tracing", ] @@ -3016,11 +3021,23 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "swc_ecma_hooks" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9adff1f01550ef653e262ad709a2914d3dd6cfd559aea2e28eeeab8f895981" +dependencies = [ + "swc_atoms", + "swc_common", + "swc_ecma_ast", + "swc_ecma_visit", +] + [[package]] name = "swc_ecma_minifier" -version = "41.0.0" +version = "43.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e701d1c155c99736b6141d1787f680360814bd01f540e60408472b7d72088082" +checksum = "de6b63eefad5e01fcc476ef951636c9c56da1ddcf77e19894be7dbaf045fc4ca" dependencies = [ "arrayvec", "bitflags", @@ -3054,9 +3071,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "31.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0aea4fbe6610be2875bdaee934e2deefa19fe3edc1f9dca9bf2609bc37078f6" +checksum = "3cb866d9ca2df54daa4a460bdd105cd641d780f0578928cb1f7f4e54574bb2bb" dependencies = [ "bitflags", "either", @@ -3075,9 +3092,9 @@ dependencies = [ [[package]] name = "swc_ecma_quote_macros" -version = "31.0.0" +version = "33.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc51e14ec233f90b5d27fef0a437a46379b39f11f3c2fe14bf2f39bd9ded099b" +checksum = "b0f033afe55c4bc19e1a305c7d9e7cce50baf7a3df242e3da26948674b26dd9f" dependencies = [ "anyhow", "proc-macro2", @@ -3106,9 +3123,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "43.0.0" +version = "45.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "998e21c2114dc994aac843b9b91efaba98d2f40904fbed8e7e7539b96c664294" +checksum = "a913f58b3288afbe700aed8110cb98c4fddec471aa60d5a6079caad7b1994b22" dependencies = [ "par-core", "swc_common", @@ -3119,9 +3136,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "34.0.0" +version = "36.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3d611dda8b946fbd3854ee04e09539ab556370d329cdf45a6a5c040ac479f70" +checksum = "bdf93abf3dc6d2b21a2a29c62b0197cd270b6105a483236ecba91993f895204e" dependencies = [ "better_scoped_tls", "indexmap", @@ -3141,9 +3158,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "36.0.0" +version = "38.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee215e841db9d94ca1e0d3339de1d57941fc30a4020d067a5648bc59cd3d2fed" +checksum = "ab76533e9da38c8f13ca1a9d0a6edd6b3de328a281441aee9810281e1b7ba4e9" dependencies = [ "bytes-str", "dashmap", @@ -3165,9 +3182,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "37.0.0" +version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e963214f39ce1b459f5f5f8d083b219868bbea0671b48724e8de44747a9688f2" +checksum = "e21590a3c184b98ea3bae1717e58e02c64597c087429a635c6301f41f09ceaaf" dependencies = [ "base64 0.22.1", "bytes-str", @@ -3181,6 +3198,7 @@ dependencies = [ "swc_common", "swc_config", "swc_ecma_ast", + "swc_ecma_hooks", "swc_ecma_parser", "swc_ecma_transforms_base", "swc_ecma_utils", @@ -3189,9 +3207,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_testing" -version = "37.0.0" +version = "39.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56be13ecae35602af1065c2f3d09519579e80433846b5a9e0b1ac50f3210995" +checksum = "5d1ea47fc17239a0f6fca4e1ee683f6755a450c3087b0a3a85778380fd2803b2" dependencies = [ "ansi_term", "anyhow", @@ -3215,9 +3233,9 @@ dependencies = [ [[package]] name = "swc_ecma_usage_analyzer" -version = "27.0.0" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5215c48b139422dcf54958d746b5e9a7b31bab8fc126f28e4049c4985505d5" +checksum = "b7aec80849cab609d92af5dd2670f18fc760f7029beb11beebcef3fed9ba3466" dependencies = [ "bitflags", "indexmap", @@ -3233,16 +3251,16 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "25.0.0" +version = "26.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dd5ee449d21110a271e73d0a9f7640a8854a62cb0e2cb0c9db3445383598e21" +checksum = "3669c1d92ba315caff5a80df76141367acf61b2d846231a1960e25be65a20fbd" dependencies = [ + "dragonbox_ecma", "indexmap", "num_cpus", "once_cell", "par-core", "rustc-hash", - "ryu-js", "swc_atoms", "swc_common", "swc_ecma_ast", @@ -3252,9 +3270,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "19.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a69d63f7f704a2ec937edef90a3eba1f64602eceb60c8deb260c01131f680e8b" +checksum = "e971a258717db3dc8939c38410d8b8cb8126f1b05b9758672daa7cae3e0248c2" dependencies = [ "new_debug_unreachable", "num-bigint", @@ -3267,7 +3285,7 @@ dependencies = [ [[package]] name = "swc_emotion" -version = "0.112.0" +version = "0.113.0" dependencies = [ "base64 0.22.1", "byteorder", @@ -3320,7 +3338,7 @@ dependencies = [ [[package]] name = "swc_experimental_babel" -version = "0.29.0" +version = "0.30.0" dependencies = [ "anyhow", "once_cell", @@ -3340,7 +3358,7 @@ dependencies = [ [[package]] name = "swc_feature_flags" -version = "0.1.0" +version = "0.2.0" dependencies = [ "serde", "swc_atoms", @@ -3356,7 +3374,7 @@ dependencies = [ [[package]] name = "swc_formatjs_transform" -version = "19.0.0" +version = "20.0.0" dependencies = [ "base64ct", "digest 0.10.7", @@ -3376,7 +3394,7 @@ dependencies = [ [[package]] name = "swc_icu_messageformat_parser" -version = "15.0.0" +version = "16.0.0" dependencies = [ "langtag", "once_cell", @@ -3402,7 +3420,7 @@ dependencies = [ [[package]] name = "swc_magic" -version = "0.56.0" +version = "0.57.0" dependencies = [ "rustc-hash", "serde", @@ -3454,7 +3472,7 @@ dependencies = [ ] [[package]] -name = "swc_plugin_feature_flags" +name = "swc_plugin_experimental_feature_flags" version = "0.1.0" dependencies = [ "serde_json", @@ -3558,9 +3576,9 @@ dependencies = [ [[package]] name = "swc_plugin_proxy" -version = "19.0.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f976dc63cd8b1916f265ee7d2647c28a85b433640099a5bf07153346dedffda" +checksum = "e78e1a9d26be495289cb07b9d73222f92f60b74d47904169d3ce4977600ec11e" dependencies = [ "better_scoped_tls", "cbor4ii", @@ -3703,7 +3721,7 @@ dependencies = [ [[package]] name = "swc_prefresh" -version = "0.39.0" +version = "0.40.0" dependencies = [ "serde", "swc_atoms", @@ -3719,7 +3737,7 @@ dependencies = [ [[package]] name = "swc_relay" -version = "0.82.0" +version = "0.83.0" dependencies = [ "once_cell", "regex", diff --git a/Cargo.toml b/Cargo.toml index e6dfe84e5..bb4225d18 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -50,7 +50,7 @@ similar-asserts = "1.4.2" swc_atoms = "9.0.0" swc_cached = "2.0.0" swc_common = "18.0.1" -swc_core = "53.0.0" +swc_core = "55.0.2" swc_css_ast = "18.0.0" swc_css_codegen = "18.0.0" swc_css_compat = "18.0.0" @@ -58,18 +58,18 @@ swc_css_minifier = "18.0.0" swc_css_parser = "18.0.0" swc_css_prefixer = "21.0.0" swc_css_visit = "18.0.0" -swc_ecma_ast = "19.0.0" -swc_ecma_codegen = "21.0.0" -swc_ecma_minifier = "41.0.0" -swc_ecma_parser = "31.0.0" -swc_ecma_transforms = "43.0.0" -swc_ecma_transforms_base = "34.0.0" -swc_ecma_transforms_react = "37.0.0" -swc_ecma_transforms_testing = "37.0.0" -swc_ecma_utils = "25.0.0" -swc_ecma_visit = "19.0.0" +swc_ecma_ast = "20.0.0" +swc_ecma_codegen = "22.0.0" +swc_ecma_minifier = "43.0.2" +swc_ecma_parser = "33.0.0" +swc_ecma_transforms = "45.0.0" +swc_ecma_transforms_base = "36.0.1" +swc_ecma_transforms_react = "39.0.0" +swc_ecma_transforms_testing = "39.0.0" +swc_ecma_utils = "26.0.1" +swc_ecma_visit = "20.0.0" swc_plugin_macro = "1.1.0" -swc_plugin_proxy = "19.0.0" +swc_plugin_proxy = "20.0.0" swc_sourcemap = "9.3.0" swc_trace_macro = "2.0.2" testing = "19.0.0" diff --git a/contrib/graphql-codegen-client-preset/CHANGELOG.md b/contrib/graphql-codegen-client-preset/CHANGELOG.md index 99b405c60..878000afc 100644 --- a/contrib/graphql-codegen-client-preset/CHANGELOG.md +++ b/contrib/graphql-codegen-client-preset/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc-contrib/plugin-graphql-codegen-client-preset +## 0.16.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 0.15.0 ### Minor Changes diff --git a/contrib/graphql-codegen-client-preset/package.json b/contrib/graphql-codegen-client-preset/package.json index ce24fab78..9d2e12215 100644 --- a/contrib/graphql-codegen-client-preset/package.json +++ b/contrib/graphql-codegen-client-preset/package.json @@ -1,6 +1,6 @@ { "name": "@swc-contrib/plugin-graphql-codegen-client-preset", - "version": "0.15.0", + "version": "0.16.0", "publishConfig": { "access": "public", "provenance": true diff --git a/contrib/mut-cjs-exports/CHANGELOG.md b/contrib/mut-cjs-exports/CHANGELOG.md index d661b6c90..5e7dc0a33 100644 --- a/contrib/mut-cjs-exports/CHANGELOG.md +++ b/contrib/mut-cjs-exports/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc-contrib/mut-cjs-exports +## 14.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 14.3.0 ### Minor Changes diff --git a/contrib/mut-cjs-exports/package.json b/contrib/mut-cjs-exports/package.json index 9947f468a..9fcd49063 100644 --- a/contrib/mut-cjs-exports/package.json +++ b/contrib/mut-cjs-exports/package.json @@ -1,6 +1,6 @@ { "name": "@swc-contrib/mut-cjs-exports", - "version": "14.3.0", + "version": "14.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/crates/swc_experimental_babel/Cargo.toml b/crates/swc_experimental_babel/Cargo.toml index cb3abbf78..fe5093ac0 100644 --- a/crates/swc_experimental_babel/Cargo.toml +++ b/crates/swc_experimental_babel/Cargo.toml @@ -10,7 +10,7 @@ homepage = { workspace = true } license = { workspace = true } repository = { workspace = true } rust-version = { workspace = true } -version = "0.29.0" +version = "0.30.0" [dependencies] anyhow = { workspace = true } diff --git a/crates/swc_feature_flags/Cargo.toml b/crates/swc_feature_flags/Cargo.toml index 4053e6267..e0d8b0213 100644 --- a/crates/swc_feature_flags/Cargo.toml +++ b/crates/swc_feature_flags/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Feature flag transformation for SWC - build-time marking and runtime dead code elimination" name = "swc_feature_flags" -version = "0.1.0" +version = "0.2.0" authors = { workspace = true } edition = { workspace = true } diff --git a/crates/swc_icu_messageformat_parser/Cargo.toml b/crates/swc_icu_messageformat_parser/Cargo.toml index f0e549d9b..93804c8d0 100644 --- a/crates/swc_icu_messageformat_parser/Cargo.toml +++ b/crates/swc_icu_messageformat_parser/Cargo.toml @@ -8,7 +8,7 @@ edition = { workspace = true } license = { workspace = true } name = "swc_icu_messageformat_parser" repository = { workspace = true } -version = "15.0.0" +version = "16.0.0" [features] diff --git a/packages/emotion/CHANGELOG.md b/packages/emotion/CHANGELOG.md index e858ee687..5f7f7dcb7 100644 --- a/packages/emotion/CHANGELOG.md +++ b/packages/emotion/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-emotion +## 14.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 14.3.0 ### Minor Changes diff --git a/packages/emotion/README.md b/packages/emotion/README.md index f1c9233a1..51f2ed822 100644 --- a/packages/emotion/README.md +++ b/packages/emotion/README.md @@ -34,6 +34,12 @@ Source code for plugin itself (not transforms) are copied from https://github.co # @swc/plugin-emotion +## 14.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 14.3.0 ### Minor Changes diff --git a/packages/emotion/package.json b/packages/emotion/package.json index 5aace03b8..c869154fa 100644 --- a/packages/emotion/package.json +++ b/packages/emotion/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-emotion", - "version": "14.3.0", + "version": "14.4.0", "description": "SWC plugin for emotion css-in-js library", "main": "swc_plugin_emotion.wasm", "scripts": { diff --git a/packages/emotion/transform/Cargo.toml b/packages/emotion/transform/Cargo.toml index fb2e0c535..59b9d2a2d 100644 --- a/packages/emotion/transform/Cargo.toml +++ b/packages/emotion/transform/Cargo.toml @@ -7,7 +7,7 @@ license = { workspace = true } name = "swc_emotion" repository = { workspace = true } rust-version = { workspace = true } -version = "0.112.0" +version = "0.113.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/feature-flags/CHANGELOG.md b/packages/feature-flags/CHANGELOG.md new file mode 100644 index 000000000..bddc2f847 --- /dev/null +++ b/packages/feature-flags/CHANGELOG.md @@ -0,0 +1,7 @@ +# @swc/plugin-experimental-feature-flags + +## 0.2.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x diff --git a/packages/feature-flags/README.md b/packages/feature-flags/README.md index e7d09bd7e..2511debd0 100644 --- a/packages/feature-flags/README.md +++ b/packages/feature-flags/README.md @@ -220,6 +220,16 @@ See the [`swc_feature_flags` crate documentation](../../crates/swc_feature_flags This package includes TypeScript definitions. See `types.d.ts` for the full API. +# CHANGELOG + +# @swc/plugin-experimental-feature-flags + +## 0.2.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## License Apache-2.0 diff --git a/packages/feature-flags/README.tmpl.md b/packages/feature-flags/README.tmpl.md new file mode 100644 index 000000000..666f9a0e2 --- /dev/null +++ b/packages/feature-flags/README.tmpl.md @@ -0,0 +1,235 @@ +# @swc/plugin-experimental-feature-flags + +SWC plugin for build-time feature flag transformation. Part of the SWC Feature Flags system. + +## Overview + +This plugin performs build-time marking of feature flags by replacing flag identifiers with `__SWC_FLAGS__` markers. This enables aggressive dead code elimination in subsequent build steps. + +## Installation + +```bash +npm install @swc/plugin-experimental-feature-flags +``` + +## Usage + +Add to your `.swcrc`: + +```json +{ + "jsc": { + "experimental": { + "plugins": [ + ["@swc/plugin-experimental-feature-flags", { + "libraries": { + "@their/library": { + "functions": ["useExperimentalFlags"] + } + } + }] + ] + } + } +} +``` + +## How It Works + +**Before:** +```javascript +import { useExperimentalFlags } from '@their/library'; + +function App() { + const { featureA, featureB } = useExperimentalFlags(); + + if (featureA) { + console.log('Feature A enabled'); + } + + return featureB ? 'Beta' : 'Stable'; +} +``` + +**After:** +```javascript +function App() { + if (__SWC_FLAGS__.featureA) { + console.log('Feature A enabled'); + } + + return __SWC_FLAGS__.featureB ? 'Beta' : 'Stable'; +} +``` + +The plugin: +1. Removes import statements from configured libraries +2. Detects destructuring patterns from configured functions +3. Replaces all flag identifier references with `__SWC_FLAGS__.flagName` +4. Removes the hook call statements + +## Configuration + +```typescript +interface BuildTimeConfig { + /** + * Library configurations: library name -> config + * + * @example + * { + * "@their/library": { + * functions: ["useExperimentalFlags"] + * }, + * "@another/flags": { + * functions: ["useFeatures", "getFeatures"] + * } + * } + */ + libraries: Record; + + /** + * Flags to exclude from build-time marking + * + * These flags will not be transformed and will remain as-is. + * Useful for flags that don't need dead code elimination. + * + * @default [] + */ + excludeFlags?: string[]; + + /** + * Global object name for markers + * + * @default "__SWC_FLAGS__" + */ + markerObject?: string; +} + +interface LibraryConfig { + /** + * Function names to detect for this library + * @example ["useExperimentalFlags", "getExperimentalFlags"] + */ + functions: string[]; +} +``` + +## Multiple Libraries + +You can configure multiple libraries: + +```json +{ + "jsc": { + "experimental": { + "plugins": [ + ["@swc/plugin-experimental-feature-flags", { + "libraries": { + "@their/library": { + "functions": ["useExperimentalFlags", "getExperimentalFlags"] + }, + "@another/flags": { + "functions": ["useFeatures"] + }, + "@custom/flags": { + "functions": ["getFlags", "useFlags"] + } + } + }] + ] + } + } +} +``` + +## Excluding Flags + +You can exclude specific flags from transformation: + +```json +{ + "jsc": { + "experimental": { + "plugins": [ + ["@swc/plugin-experimental-feature-flags", { + "libraries": { + "@their/library": { + "functions": ["useExperimentalFlags"] + } + }, + "excludeFlags": ["quickToggle", "tempDebugFlag"] + }] + ] + } + } +} +``` + +## Custom Marker Object + +You can customize the marker object name: + +```json +{ + "jsc": { + "experimental": { + "plugins": [ + ["@swc/plugin-experimental-feature-flags", { + "libraries": { + "@their/library": { + "functions": ["useExperimentalFlags"] + } + }, + "markerObject": "__FEATURE_FLAGS__" + }] + ] + } + } +} +``` + +## Scope Safety + +The plugin correctly handles variable shadowing using SWC's syntax context system: + +```javascript +import { useExperimentalFlags } from '@their/library'; + +function App() { + const { featureA } = useExperimentalFlags(); + + if (featureA) { // Replaced with __SWC_FLAGS__.featureA + const featureA = false; // Shadowed variable + if (featureA) { // NOT replaced - uses local variable + console.log('This uses the local featureA'); + } + } +} +``` + +## Next Steps: Runtime Dead Code Elimination + +After build-time transformation, use the `swc_feature_flags` Rust crate to: +1. Substitute `__SWC_FLAGS__.flagName` with actual boolean values +2. Eliminate dead code branches (if statements, ternary, logical operators) +3. Track statistics (bytes removed, branches eliminated) + +See the [`swc_feature_flags` crate documentation](../../crates/swc_feature_flags/README.md) for more details. + +## TypeScript Support + +This package includes TypeScript definitions. See `types.d.ts` for the full API. + +# CHANGELOG + +$CHANGELOG + +## License + +Apache-2.0 + +## Links + +- [GitHub Repository](https://github.com/swc-project/plugins) +- [SWC Website](https://swc.rs) +- [Rust Crate Documentation](../../crates/swc_feature_flags/README.md) diff --git a/packages/feature-flags/package.json b/packages/feature-flags/package.json index 1c70c82c7..93dca0376 100644 --- a/packages/feature-flags/package.json +++ b/packages/feature-flags/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-experimental-feature-flags", - "version": "0.1.0", + "version": "0.2.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/formatjs/CHANGELOG.md b/packages/formatjs/CHANGELOG.md index 2684e90f1..cb2d767d0 100644 --- a/packages/formatjs/CHANGELOG.md +++ b/packages/formatjs/CHANGELOG.md @@ -1,5 +1,12 @@ # @swc/plugin-formatjs +## 9.4.0 + +### Minor Changes + +- 15f32da: fix(formatjs): Variable evaluate concatenation +- 66f5258: build: Update swc_core to v55.x.x + ## 9.3.0 ### Minor Changes diff --git a/packages/formatjs/README.md b/packages/formatjs/README.md index 4c4b3b725..92ae110c9 100644 --- a/packages/formatjs/README.md +++ b/packages/formatjs/README.md @@ -95,6 +95,13 @@ Will extract the metadata: `{project: "web", locale: "en", region: "us"}` that g # @swc/plugin-formatjs +## 9.4.0 + +### Minor Changes + +- 15f32da: fix(formatjs): Variable evaluate concatenation +- 66f5258: build: Update swc_core to v55.x.x + ## 9.3.0 ### Minor Changes diff --git a/packages/formatjs/package.json b/packages/formatjs/package.json index d51b956c0..df6aad019 100644 --- a/packages/formatjs/package.json +++ b/packages/formatjs/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-formatjs", - "version": "9.3.0", + "version": "9.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/formatjs/transform/Cargo.toml b/packages/formatjs/transform/Cargo.toml index f9e9f2d3f..f63a7176e 100644 --- a/packages/formatjs/transform/Cargo.toml +++ b/packages/formatjs/transform/Cargo.toml @@ -8,7 +8,7 @@ edition = { workspace = true } license = { workspace = true } name = "swc_formatjs_transform" repository = { workspace = true } -version = "19.0.0" +version = "20.0.0" [features] custom_transform = [] @@ -29,7 +29,7 @@ swc_ecma_minifier = { workspace = true } swc_icu_messageformat_parser = { features = [ "utf16", -], path = "../../../crates/swc_icu_messageformat_parser", version = "15.0.0" } +], path = "../../../crates/swc_icu_messageformat_parser", version = "16.0.0" } [dev-dependencies] pretty_assertions = { workspace = true } diff --git a/packages/jest/CHANGELOG.md b/packages/jest/CHANGELOG.md index 93cdd46bc..1d52363ac 100644 --- a/packages/jest/CHANGELOG.md +++ b/packages/jest/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-jest +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/jest/README.md b/packages/jest/README.md index 63cdcb343..32b8c54a5 100644 --- a/packages/jest/README.md +++ b/packages/jest/README.md @@ -2,6 +2,12 @@ # @swc/plugin-jest +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/jest/package.json b/packages/jest/package.json index 8ab85c31b..028032d4b 100644 --- a/packages/jest/package.json +++ b/packages/jest/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-jest", - "version": "12.3.0", + "version": "12.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/loadable-components/CHANGELOG.md b/packages/loadable-components/CHANGELOG.md index ba9b3fe3e..25ac9c1b0 100644 --- a/packages/loadable-components/CHANGELOG.md +++ b/packages/loadable-components/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-loadable-components +## 11.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 11.3.0 ### Minor Changes diff --git a/packages/loadable-components/README.md b/packages/loadable-components/README.md index 16a483ad2..5f957dcd4 100644 --- a/packages/loadable-components/README.md +++ b/packages/loadable-components/README.md @@ -23,6 +23,12 @@ By default `loadable-components` are configured to transform dynamic imports use # @swc/plugin-loadable-components +## 11.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 11.3.0 ### Minor Changes diff --git a/packages/loadable-components/package.json b/packages/loadable-components/package.json index 41ee87cb8..d68f7ca67 100644 --- a/packages/loadable-components/package.json +++ b/packages/loadable-components/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-loadable-components", - "version": "11.3.0", + "version": "11.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/noop/CHANGELOG.md b/packages/noop/CHANGELOG.md index 091f7e916..c650c9913 100644 --- a/packages/noop/CHANGELOG.md +++ b/packages/noop/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-noop +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/noop/README.md b/packages/noop/README.md index fe2f8d70c..e4b90bcff 100644 --- a/packages/noop/README.md +++ b/packages/noop/README.md @@ -2,6 +2,12 @@ # @swc/plugin-noop +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/noop/package.json b/packages/noop/package.json index e9a8c11c1..1523344a3 100644 --- a/packages/noop/package.json +++ b/packages/noop/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-noop", - "version": "12.3.0", + "version": "12.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/prefresh/CHANGELOG.md b/packages/prefresh/CHANGELOG.md index e0cc7287c..707f6932e 100644 --- a/packages/prefresh/CHANGELOG.md +++ b/packages/prefresh/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-prefresh +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/prefresh/README.md b/packages/prefresh/README.md index 38c58b721..7efe3c363 100644 --- a/packages/prefresh/README.md +++ b/packages/prefresh/README.md @@ -40,6 +40,12 @@ And SWC has built-in React Refresh transformation, therefore, this plugin only i # @swc/plugin-prefresh +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/prefresh/package.json b/packages/prefresh/package.json index 9da6b2e60..b48e9c5cd 100644 --- a/packages/prefresh/package.json +++ b/packages/prefresh/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-prefresh", - "version": "12.3.0", + "version": "12.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/prefresh/transform/Cargo.toml b/packages/prefresh/transform/Cargo.toml index 97c3e1ac9..3d1467549 100644 --- a/packages/prefresh/transform/Cargo.toml +++ b/packages/prefresh/transform/Cargo.toml @@ -10,7 +10,7 @@ homepage = { workspace = true } license = { workspace = true } repository = { workspace = true } rust-version = { workspace = true } -version = "0.39.0" +version = "0.40.0" [dependencies] serde = { workspace = true, features = ["derive"] } diff --git a/packages/react-remove-properties/CHANGELOG.md b/packages/react-remove-properties/CHANGELOG.md index 4368e5617..2a564f81c 100644 --- a/packages/react-remove-properties/CHANGELOG.md +++ b/packages/react-remove-properties/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-react-remove-properties +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/react-remove-properties/README.md b/packages/react-remove-properties/README.md index f1559c725..ec85a0609 100644 --- a/packages/react-remove-properties/README.md +++ b/packages/react-remove-properties/README.md @@ -23,6 +23,12 @@ or # @swc/plugin-react-remove-properties +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/react-remove-properties/package.json b/packages/react-remove-properties/package.json index 2dfe55514..0ccb97d4e 100644 --- a/packages/react-remove-properties/package.json +++ b/packages/react-remove-properties/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-react-remove-properties", - "version": "12.3.0", + "version": "12.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/react-remove-properties/transform/Cargo.toml b/packages/react-remove-properties/transform/Cargo.toml index 9ba1ee8a4..f9d433b4e 100644 --- a/packages/react-remove-properties/transform/Cargo.toml +++ b/packages/react-remove-properties/transform/Cargo.toml @@ -11,7 +11,7 @@ homepage = { workspace = true } license = { workspace = true } repository = { workspace = true } rust-version = { workspace = true } -version = "0.62.0" +version = "0.63.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/relay/CHANGELOG.md b/packages/relay/CHANGELOG.md index 346171ca0..0ab7dbe38 100644 --- a/packages/relay/CHANGELOG.md +++ b/packages/relay/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-relay +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/relay/README.md b/packages/relay/README.md index 541e8099d..4bec981b0 100644 --- a/packages/relay/README.md +++ b/packages/relay/README.md @@ -104,6 +104,12 @@ In this example typescript graphql files will output transpiled import path of ` # @swc/plugin-relay +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/relay/package.json b/packages/relay/package.json index a817a87f4..4b7db883f 100644 --- a/packages/relay/package.json +++ b/packages/relay/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-relay", - "version": "12.3.0", + "version": "12.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/relay/transform/Cargo.toml b/packages/relay/transform/Cargo.toml index a635be4f9..cb54ca503 100644 --- a/packages/relay/transform/Cargo.toml +++ b/packages/relay/transform/Cargo.toml @@ -11,7 +11,7 @@ homepage = { workspace = true } license = { workspace = true } repository = { workspace = true } rust-version = { workspace = true } -version = "0.82.0" +version = "0.83.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/remove-console/CHANGELOG.md b/packages/remove-console/CHANGELOG.md index 5759d61cc..3d0a9751d 100644 --- a/packages/remove-console/CHANGELOG.md +++ b/packages/remove-console/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-remove-console +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/remove-console/README.md b/packages/remove-console/README.md index 6c0b90397..fecd4dee5 100644 --- a/packages/remove-console/README.md +++ b/packages/remove-console/README.md @@ -21,6 +21,12 @@ or # @swc/plugin-remove-console +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/remove-console/package.json b/packages/remove-console/package.json index 4e10287c0..7834890f9 100644 --- a/packages/remove-console/package.json +++ b/packages/remove-console/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-remove-console", - "version": "12.3.0", + "version": "12.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/remove-console/transform/Cargo.toml b/packages/remove-console/transform/Cargo.toml index 4ad1fae10..dab1e4c1b 100644 --- a/packages/remove-console/transform/Cargo.toml +++ b/packages/remove-console/transform/Cargo.toml @@ -11,7 +11,7 @@ homepage = { workspace = true } license = { workspace = true } repository = { workspace = true } rust-version = { workspace = true } -version = "0.63.0" +version = "0.64.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/styled-components/CHANGELOG.md b/packages/styled-components/CHANGELOG.md index edaee1584..40b24f5ca 100644 --- a/packages/styled-components/CHANGELOG.md +++ b/packages/styled-components/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-styled-components +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/styled-components/README.md b/packages/styled-components/README.md index 86ce47435..b522b4e9c 100644 --- a/packages/styled-components/README.md +++ b/packages/styled-components/README.md @@ -28,6 +28,12 @@ Then update your `.swcrc` file like below: # @swc/plugin-styled-components +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/styled-components/package.json b/packages/styled-components/package.json index 2282868f6..71d2649b4 100644 --- a/packages/styled-components/package.json +++ b/packages/styled-components/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-styled-components", - "version": "12.3.0", + "version": "12.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/styled-components/transform/Cargo.toml b/packages/styled-components/transform/Cargo.toml index 350387901..721982765 100644 --- a/packages/styled-components/transform/Cargo.toml +++ b/packages/styled-components/transform/Cargo.toml @@ -12,7 +12,7 @@ homepage = { workspace = true } license = { workspace = true } repository = { workspace = true } rust-version = { workspace = true } -version = "0.136.0" +version = "0.137.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/styled-jsx/CHANGELOG.md b/packages/styled-jsx/CHANGELOG.md index 3f8891dde..d36cdbd45 100644 --- a/packages/styled-jsx/CHANGELOG.md +++ b/packages/styled-jsx/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-styled-jsx +## 13.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 13.3.0 ### Minor Changes diff --git a/packages/styled-jsx/README.md b/packages/styled-jsx/README.md index 64637f193..fa867c66b 100644 --- a/packages/styled-jsx/README.md +++ b/packages/styled-jsx/README.md @@ -2,6 +2,12 @@ # @swc/plugin-styled-jsx +## 13.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 13.3.0 ### Minor Changes diff --git a/packages/styled-jsx/package.json b/packages/styled-jsx/package.json index 31f3401d2..01ccf5896 100644 --- a/packages/styled-jsx/package.json +++ b/packages/styled-jsx/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-styled-jsx", - "version": "13.3.0", + "version": "13.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/styled-jsx/transform/Cargo.toml b/packages/styled-jsx/transform/Cargo.toml index 21bca6a0a..e2cb56aad 100644 --- a/packages/styled-jsx/transform/Cargo.toml +++ b/packages/styled-jsx/transform/Cargo.toml @@ -10,7 +10,7 @@ license = { workspace = true } name = "styled_jsx" repository = { workspace = true } rust-version = { workspace = true } -version = "0.111.0" +version = "0.112.0" [features] diff --git a/packages/swc-confidential/CHANGELOG.md b/packages/swc-confidential/CHANGELOG.md index 23577ca7d..0eedc37cb 100644 --- a/packages/swc-confidential/CHANGELOG.md +++ b/packages/swc-confidential/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-swc-confidential +## 11.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 11.3.0 ### Minor Changes diff --git a/packages/swc-confidential/package.json b/packages/swc-confidential/package.json index 6f574f8fa..582b070f6 100644 --- a/packages/swc-confidential/package.json +++ b/packages/swc-confidential/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-swc-confidential", - "version": "11.3.0", + "version": "11.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/swc-confidential/transform/Cargo.toml b/packages/swc-confidential/transform/Cargo.toml index 4a96611aa..3ab41fa72 100644 --- a/packages/swc-confidential/transform/Cargo.toml +++ b/packages/swc-confidential/transform/Cargo.toml @@ -10,7 +10,7 @@ license = { workspace = true } name = "swc_confidential" repository = { workspace = true } rust-version = { workspace = true } -version = "0.57.0" +version = "0.58.0" [dependencies] diff --git a/packages/swc-magic/CHANGELOG.md b/packages/swc-magic/CHANGELOG.md index 7317f92d1..98aba81ce 100644 --- a/packages/swc-magic/CHANGELOG.md +++ b/packages/swc-magic/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-swc-magic +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/swc-magic/README.md b/packages/swc-magic/README.md index 417a5c7cc..070d75f18 100644 --- a/packages/swc-magic/README.md +++ b/packages/swc-magic/README.md @@ -24,6 +24,12 @@ markAsPure(() => console.log("This will be removed by the SWC minifier")); # @swc/plugin-swc-magic +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/swc-magic/package.json b/packages/swc-magic/package.json index a3da98f51..01ab8ad31 100644 --- a/packages/swc-magic/package.json +++ b/packages/swc-magic/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-swc-magic", - "version": "12.3.0", + "version": "12.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/swc-magic/transform/Cargo.toml b/packages/swc-magic/transform/Cargo.toml index 33d9394ee..99e84a4ca 100644 --- a/packages/swc-magic/transform/Cargo.toml +++ b/packages/swc-magic/transform/Cargo.toml @@ -10,7 +10,7 @@ license = { workspace = true } name = "swc_magic" repository = { workspace = true } rust-version = { workspace = true } -version = "0.56.0" +version = "0.57.0" [dependencies] diff --git a/packages/swc-sdk/CHANGELOG.md b/packages/swc-sdk/CHANGELOG.md index 0a55d7dd8..cbef17f9d 100644 --- a/packages/swc-sdk/CHANGELOG.md +++ b/packages/swc-sdk/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-swc-sdk +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/swc-sdk/README.md b/packages/swc-sdk/README.md index 32f5fa427..e8440f0e2 100644 --- a/packages/swc-sdk/README.md +++ b/packages/swc-sdk/README.md @@ -71,6 +71,12 @@ markAsPure(() => console.log("This will be removed by the SWC minifier")); # @swc/plugin-swc-sdk +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/swc-sdk/package.json b/packages/swc-sdk/package.json index 6816f20f1..46e5420a8 100644 --- a/packages/swc-sdk/package.json +++ b/packages/swc-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-swc-sdk", - "version": "12.3.0", + "version": "12.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/transform-imports/CHANGELOG.md b/packages/transform-imports/CHANGELOG.md index 2e0d89f29..7890eb51c 100644 --- a/packages/transform-imports/CHANGELOG.md +++ b/packages/transform-imports/CHANGELOG.md @@ -1,5 +1,11 @@ # @swc/plugin-transform-imports +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/transform-imports/README.md b/packages/transform-imports/README.md index cb92520ad..3b0284347 100644 --- a/packages/transform-imports/README.md +++ b/packages/transform-imports/README.md @@ -18,6 +18,12 @@ # @swc/plugin-transform-imports +## 12.4.0 + +### Minor Changes + +- 66f5258: build: Update swc_core to v55.x.x + ## 12.3.0 ### Minor Changes diff --git a/packages/transform-imports/package.json b/packages/transform-imports/package.json index 7991c2709..dc4441f0c 100644 --- a/packages/transform-imports/package.json +++ b/packages/transform-imports/package.json @@ -1,6 +1,6 @@ { "name": "@swc/plugin-transform-imports", - "version": "12.3.0", + "version": "12.4.0", "publishConfig": { "access": "public", "provenance": true diff --git a/packages/transform-imports/transform/Cargo.toml b/packages/transform-imports/transform/Cargo.toml index eb000987c..f6d8a7b95 100644 --- a/packages/transform-imports/transform/Cargo.toml +++ b/packages/transform-imports/transform/Cargo.toml @@ -11,7 +11,7 @@ homepage = { workspace = true } license = { workspace = true } repository = { workspace = true } rust-version = { workspace = true } -version = "0.108.0" +version = "0.109.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html