Skip to content

Commit

Permalink
fix: #703
Browse files Browse the repository at this point in the history
  • Loading branch information
wre232114 committed Nov 3, 2023
1 parent 50b8821 commit 47db6bf
Show file tree
Hide file tree
Showing 11 changed files with 194 additions and 24 deletions.
5 changes: 5 additions & 0 deletions crates/plugin_resolve/src/resolver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -623,6 +623,11 @@ impl Resolver {
.try_file(&resolved_path_buf, context)
.or_else(|| self.try_directory(source, &resolved_path_buf, kind, true, context))
.unwrap_or(resolved_path);

let resolved_path = self
.try_browser_replace(package_json_info, &resolved_path, context)
.unwrap_or(resolved_path);

PluginResolveHookResult {
resolved_path,
side_effects,
Expand Down
31 changes: 31 additions & 0 deletions crates/plugin_resolve/tests/browser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -241,3 +241,34 @@ fn resolve_browser_target_env_node() {
}
);
}

#[test]
fn resolve_browser_entry_replace() {
fixture!(
"tests/fixtures/resolve-node-modules/browser/index.ts",
|file, _| {
let cwd = file.parent().unwrap().to_path_buf();
let resolver = Resolver::new();

let resolved = resolver.resolve(
"entry-replace",
cwd.clone(),
&ResolveKind::Import,
&Arc::new(CompilationContext::default()),
);
assert!(resolved.is_some());
let resolved = resolved.unwrap();

assert_eq!(
resolved.resolved_path,
cwd
.join("node_modules")
.join("entry-replace")
.join("lib")
.join("browser.js")
.to_string_lossy()
.to_string()
);
}
);
}

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

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

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

12 changes: 12 additions & 0 deletions examples/qrcode/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="canvas"></div>
<script src="./index"></script>
</body>
</html>
9 changes: 9 additions & 0 deletions examples/qrcode/index.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import QRCode from 'qrcode'

// With promises
QRCode.toCanvas('text', { errorCorrectionLevel: 'H' }, function (err, canvas) {
if (err) throw err

var container = document.getElementById('canvas')
container.appendChild(canvas)
})
15 changes: 15 additions & 0 deletions examples/qrcode/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "@farmfe-examples/qrcode",
"version": "0.0.0",
"scripts": {
"start": "farm start",
"build": "farm build"
},
"devDependencies": {
"@farmfe/cli": "workspace:^",
"@farmfe/core": "workspace:^"
},
"dependencies": {
"qrcode": "^1.5.3"
}
}
1 change: 1 addition & 0 deletions examples/vite-adapter-vue/components.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ declare module 'vue' {
export interface GlobalComponents {
ElButton: typeof import('element-plus/es')['ElButton']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElTree: typeof import('element-plus/es')['ElTree']
HelloWorld: typeof import('./src/components/HelloWorld.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
Expand Down
73 changes: 73 additions & 0 deletions examples/vite-adapter-vue/src/components/HelloWorld.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,78 @@ import { ref } from 'vue';
defineProps<{ msg: string }>()
const count = ref(0)
console.log(count.value);
interface Tree {
label: string
children?: Tree[]
}
const handleNodeClick = (data: Tree) => {
console.log(data)
}
const data: Tree[] = [
{
label: 'Level one 1',
children: [
{
label: 'Level two 1-1',
children: [
{
label: 'Level three 1-1-1',
},
],
},
],
},
{
label: 'Level one 2',
children: [
{
label: 'Level two 2-1',
children: [
{
label: 'Level three 2-1-1',
},
],
},
{
label: 'Level two 2-2',
children: [
{
label: 'Level three 2-2-1',
},
],
},
],
},
{
label: 'Level one 3',
children: [
{
label: 'Level two 3-1',
children: [
{
label: 'Level three 3-1-1',
},
],
},
{
label: 'Level two 3-2',
children: [
{
label: 'Level three 3-2-1',
},
],
},
],
},
]
const defaultProps = {
children: 'children',
label: 'label',
}
</script>

<template>
Expand All @@ -12,6 +84,7 @@ console.log(count.value);
<div class="card">
<el-button type="primary" @click="count++">count is {{ count }}</el-button>

<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick" />
<p>
Edit
<code>components/HelloWorld.vue</code> to test HMR
Expand Down
Loading

0 comments on commit 47db6bf

Please sign in to comment.