Skip to content

Commit 15051c9

Browse files
authored
add test for styled-components in real pnpm 8 (#8)
1 parent 5ab7554 commit 15051c9

File tree

7 files changed

+210
-4
lines changed

7 files changed

+210
-4
lines changed

.github/actions/pnpm/action.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Pnpm
2+
3+
description: Install pnpm
4+
5+
runs:
6+
using: composite
7+
steps:
8+
- name: Install pnpm
9+
working-directory: fixtures/pnpm8
10+
shell: bash
11+
run: corepack enable
12+
13+
- name: Setup Node.js
14+
uses: actions/setup-node@v4
15+
with:
16+
node-version: 18
17+
cache-dependency-path: ./fixtures/pnpm8/package.json
18+
cache: pnpm
19+
20+
- name: pnpm install
21+
working-directory: fixtures/pnpm8
22+
shell: bash
23+
run: pnpm install

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,6 @@ jobs:
179179
runs-on: ${{ matrix.os }}
180180
steps:
181181
- uses: actions/checkout@v4
182-
- name: Install Rust
183-
uses: ./.github/actions/rustup
182+
- uses: ./.github/actions/pnpm
183+
- uses: ./.github/actions/rustup
184184
- run: cargo test --quiet

.github/workflows/codecov.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ jobs:
2626
- name: Checkout
2727
uses: actions/checkout@v4
2828

29+
- name: Pnpm
30+
uses: ./.github/actions/pnpm
31+
2932
- name: Install Rust Toolchain
3033
uses: ./.github/actions/rustup
3134
with:

fixtures/pnpm8/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules

fixtures/pnpm8/package.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"name": "pnpm8",
3+
"version": "1.0.0",
4+
"private": true,
5+
"engines": {
6+
"node": ">=16.0.0"
7+
},
8+
"packageManager": "[email protected]",
9+
"devDependencies": {
10+
"styled-components": "6.1.1"
11+
}
12+
}

fixtures/pnpm8/pnpm-lock.yaml

Lines changed: 145 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/resolve_test.rs

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,31 @@ fn dir() -> PathBuf {
77
}
88

99
#[test]
10-
fn chinese_dir() {
10+
fn chinese() {
1111
let dir = dir();
1212
let specifier = "./fixtures/misc/中文/中文.js";
1313
let resolution = Resolver::new(ResolveOptions::default()).resolve(&dir, specifier);
14-
assert_eq!(resolution.map(|r| r.into_path_buf()), Ok(dir.join("fixtures/misc/中文/中文.js")))
14+
assert_eq!(resolution.map(|r| r.into_path_buf()), Ok(dir.join("fixtures/misc/中文/中文.js")));
15+
}
16+
17+
#[test]
18+
fn styled_components() {
19+
let dir = dir();
20+
let path = dir.join("fixtures/pnpm8");
21+
let specifier = "styled-components";
22+
23+
// cjs
24+
let options =
25+
ResolveOptions { alias_fields: vec![vec!["browser".into()]], ..ResolveOptions::default() };
26+
let resolution = Resolver::new(options).resolve(&path, specifier);
27+
assert_eq!(resolution.map(|r| r.into_path_buf()), Ok(path.join("node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/styled-components/dist/styled-components.browser.cjs.js")));
28+
29+
// esm
30+
let options = ResolveOptions {
31+
alias_fields: vec![vec!["browser".into()]],
32+
main_fields: vec!["module".into()],
33+
..ResolveOptions::default()
34+
};
35+
let resolution = Resolver::new(options).resolve(&path, specifier);
36+
assert_eq!(resolution.map(|r| r.into_path_buf()), Ok(path.join("node_modules/.pnpm/[email protected][email protected][email protected]/node_modules/styled-components/dist/styled-components.browser.esm.js")));
1537
}

0 commit comments

Comments
 (0)