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(styled-components): Handle default import with named import syntax #239

Merged
merged 24 commits into from
Nov 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
f6af55c
fix `import { default as s } from 'styled-components'` are not handle…
ciffelia Nov 25, 2023
641c65c
stop ignoring some tests
ciffelia Nov 25, 2023
35bd2a5
update test fixture output
ciffelia Nov 25, 2023
e2a01a6
Bump npm package: ./packages/constify
kdy1 Nov 26, 2023
6e1f85f
Bump npm package: ./packages/emotion
kdy1 Nov 26, 2023
e92009a
Bump npm package: ./packages/jest
kdy1 Nov 26, 2023
58d366f
Bump npm package: ./packages/loadable-components
kdy1 Nov 26, 2023
2a11df1
Bump npm package: ./packages/noop
kdy1 Nov 26, 2023
5e7f1b5
Bump npm package: ./packages/react-remove-properties
kdy1 Nov 26, 2023
26cd344
Bump npm package: ./packages/relay
kdy1 Nov 26, 2023
3e3c20b
Bump npm package: ./packages/remove-console
kdy1 Nov 26, 2023
56e21c5
Bump npm package: ./packages/styled-components
kdy1 Nov 26, 2023
83e0cfb
Bump npm package: ./packages/styled-jsx
kdy1 Nov 26, 2023
412979f
Bump npm package: ./packages/swc-magic
kdy1 Nov 26, 2023
9837840
Bump npm package: ./packages/transform-imports
kdy1 Nov 26, 2023
e2e5537
Bump cargo crate: modularize_imports
kdy1 Nov 26, 2023
05eaaa8
Bump cargo crate: react_remove_properties
kdy1 Nov 26, 2023
e851525
Bump cargo crate: remove_console
kdy1 Nov 26, 2023
7ca2b7e
Bump cargo crate: styled_components
kdy1 Nov 26, 2023
6a5678f
Bump cargo crate: styled_jsx
kdy1 Nov 26, 2023
9eed940
Bump cargo crate: swc_constify
kdy1 Nov 26, 2023
6aa61fd
Bump cargo crate: swc_emotion
kdy1 Nov 26, 2023
a025c79
Bump cargo crate: swc_magic
kdy1 Nov 26, 2023
f4b8cd2
Bump cargo crate: swc_relay
kdy1 Nov 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/constify/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-constify",
"version": "0.1.32",
"version": "0.1.33",
"description": "SWC plugin for optimization",
"main": "swc_plugin_constify.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/constify/transform/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"
license = "Apache-2.0"
name = "swc_constify"
repository = "https://github.com/swc-project/plugins.git"
version = "0.27.0"
version = "0.28.0"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
2 changes: 1 addition & 1 deletion packages/emotion/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-emotion",
"version": "2.5.102",
"version": "2.5.103",
"description": "SWC plugin for emotion css-in-js library",
"main": "swc_plugin_emotion.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/emotion/transform/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"
license = "Apache-2.0"
name = "swc_emotion"
repository = "https://github.com/swc-project/plugins.git"
version = "0.63.0"
version = "0.64.0"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
2 changes: 1 addition & 1 deletion packages/jest/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-jest",
"version": "1.5.102",
"version": "1.5.103",
"description": "SWC plugin for jest",
"main": "swc_plugin_jest.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/loadable-components/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-loadable-components",
"version": "0.3.102",
"version": "0.3.103",
"description": "SWC plugin for `@loadable/components`",
"main": "swc_plugin_loadable_components.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/noop/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-noop",
"version": "1.5.100",
"version": "1.5.101",
"description": "Noop SWC plugin, for debugging",
"main": "swc_plugin_noop.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/react-remove-properties/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-react-remove-properties",
"version": "1.5.102",
"version": "1.5.103",
"description": "SWC plugin for https://www.npmjs.com/package/babel-plugin-react-remove-properties",
"main": "swc_plugin_react_remove_properties.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/react-remove-properties/transform/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"
license = "Apache-2.0"
name = "react_remove_properties"
repository = "https://github.com/swc-project/plugins.git"
version = "0.15.0"
version = "0.16.0"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
2 changes: 1 addition & 1 deletion packages/relay/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-relay",
"version": "1.5.102",
"version": "1.5.103",
"description": "SWC plugin for relay",
"main": "swc_plugin_relay.wasm",
"types": "./types.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/relay/transform/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"
license = "Apache-2.0"
name = "swc_relay"
repository = "https://github.com/swc-project/plugins.git"
version = "0.35.0"
version = "0.36.0"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
2 changes: 1 addition & 1 deletion packages/remove-console/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-remove-console",
"version": "1.5.102",
"version": "1.5.103",
"description": "SWC plugin for https://www.npmjs.com/package/babel-plugin-remove-console",
"main": "swc_plugin_remove_console.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/remove-console/transform/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"
license = "Apache-2.0"
name = "remove_console"
repository = "https://github.com/swc-project/plugins.git"
version = "0.16.0"
version = "0.17.0"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
2 changes: 1 addition & 1 deletion packages/styled-components/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-styled-components",
"version": "1.5.102",
"version": "1.5.103",
"description": "SWC plugin for styled-components",
"main": "swc_plugin_styled_components.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/styled-components/transform/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ include = ["Cargo.toml", "src/**/*.rs"]
license = "Apache-2.0"
name = "styled_components"
repository = "https://github.com/swc-project/plugins.git"
version = "0.87.0"
version = "0.88.0"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
10 changes: 3 additions & 7 deletions packages/styled-components/transform/src/utils/analyzer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,9 @@ impl Visit for Analyzer<'_> {
ModuleExportName::Str(v) => &*v.value,
})
.unwrap_or(&*s.local.sym);
if imported == "styled" {
self.state.imported_local_name = Some(s.local.to_id());
} else {
self.state
.imported_local_named
.insert(imported.to_string(), s.local.to_id());
}
self.state
.imported_local_named
.insert(imported.to_string(), s.local.to_id());
}
ImportSpecifier::Default(s) => {
self.state.imported_local_name = Some(s.local.to_id());
Expand Down
13 changes: 11 additions & 2 deletions packages/styled-components/transform/src/utils/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -219,19 +219,28 @@ impl State {
) -> Option<Id> {
if name == "default" {
if self.imported_local_name.is_some() {
// import styled from 'styled-components'
self.imported_local_name.clone()
} else if let Some(id) = self.imported_local_named.get("default") {
// import { default as styled } from 'styled-components'
Some(id.clone())
} else if let Some(id) = self.imported_local_named.get("styled") {
// import { styled } from 'styled-components'
Some(id.clone())
} else if self.imported_local_ns.is_some() {
// import * as styled from 'styled-components'
self.imported_local_ns.clone()
} else if self.styled_required.is_some() {
// const styled = require('styled-components')
Some(("styled".into(), self.unresolved_ctxt.unwrap_or_default()))
} else {
None
}
} else {
if self.imported_local_ns.is_some() {
Some((name.into(), Default::default()))
} else if self.imported_local_named.contains_key(name) {
self.imported_local_named.get(name).cloned()
} else if let Some(id) = self.imported_local_named.get(name) {
Some(id.clone())
} else if self.styled_required.is_some() {
Some((name.into(), self.unresolved_ctxt.unwrap_or_default()))
} else {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"transpileTemplateLiterals": false,
"minify": true
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const Test = s.div.withConfig({
displayName: "code__Test",
componentId: "sc-1dds9bl-0"
displayName: "code__Test",
componentId: "sc-cbecc97b-0"
})`width:100%;`;
import { default as s, css } from 'styled-components';
2 changes: 1 addition & 1 deletion packages/styled-jsx/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-styled-jsx",
"version": "1.5.102",
"version": "1.5.103",
"description": "SWC plugin for styled-jsx",
"main": "swc_plugin_styled_jsx.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/styled-jsx/transform/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description = "AST transforms visitor for styled-jsx"
edition = "2021"
license = "Apache-2.0"
name = "styled_jsx"
version = "0.64.0"
version = "0.65.0"

[features]
custom_transform = ["swc_common/concurrent"]
Expand Down
2 changes: 1 addition & 1 deletion packages/swc-magic/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-swc-magic",
"version": "1.5.102",
"version": "1.5.103",
"description": "SWC plugin for swc-magic",
"main": "swc_plugin_swc_magic.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/swc-magic/transform/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description = "AST transforms visitor for swc-magic"
edition = "2021"
license = "Apache-2.0"
name = "swc_magic"
version = "0.10.0"
version = "0.11.0"

[dependencies]
serde = { version = "1.0.189", features = ["derive"] }
Expand Down
2 changes: 1 addition & 1 deletion packages/transform-imports/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@swc/plugin-transform-imports",
"version": "1.5.102",
"version": "1.5.103",
"description": "SWC plugin for https://www.npmjs.com/package/babel-plugin-transform-imports",
"main": "swc_plugin_transform_imports.wasm",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion packages/transform-imports/transform/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"
license = "Apache-2.0"
name = "modularize_imports"
repository = "https://github.com/swc-project/plugins.git"
version = "0.59.0"
version = "0.60.0"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
Loading