-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bug fixes and better test coverage for import/export rewriting
added react example
- Loading branch information
Showing
15 changed files
with
144 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
<script type="module" src="index.js"></script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
import { React, ReactDOM } from "es-react"; | ||
import htm from "htm"; | ||
const html = htm.bind(React.createElement); | ||
|
||
ReactDOM.render( | ||
html` | ||
<main> | ||
<h1>Hello from es-react</h1> | ||
</main> | ||
`, | ||
document.body | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
{ | ||
"name": "srvs-example", | ||
"version": "0.0.1", | ||
"private": true, | ||
"scripts": { | ||
"prestart": "npm i", | ||
"start": "node ../../src" | ||
}, | ||
"dependencies": { | ||
"es-react": "=16.8.30", | ||
"htm": "=2.1.1" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 5 additions & 0 deletions
5
test/server/fake-project/installed/node_modules/@fake/package/package.json
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Empty file.
6 changes: 6 additions & 0 deletions
6
test/server/fake-project/installed/node_modules/main-package/package.json
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
6 changes: 6 additions & 0 deletions
6
test/server/fake-project/installed/node_modules/module-package/package.json
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,13 +6,22 @@ const rewriteImportsAndExports = require("../../src/server/rewriteImportsAndExpo | |
export default { | ||
rewriteImportsAndExports: { | ||
"should be a function": [typeof rewriteImportsAndExports, "function"], | ||
"should handle missing contents": [rewriteImportsAndExports({}), ""], | ||
imports: { | ||
"should not modify relative imports": [ | ||
rewriteImportsAndExports({ | ||
contents: `import something from "./somewhere"` | ||
}), | ||
`import something from "./somewhere"` | ||
], | ||
relative: { | ||
"should not modify relative imports": [ | ||
rewriteImportsAndExports({ | ||
contents: `import something from "./somewhere"` | ||
}), | ||
`import something from "./somewhere"` | ||
], | ||
"should not modify relative subfolder imports": [ | ||
rewriteImportsAndExports({ | ||
contents: `import stuff from "./sub/folder"` | ||
}), | ||
`import stuff from "./sub/folder"` | ||
] | ||
}, | ||
absolute: { | ||
"not installed": { | ||
"without version should rewrite to default unpkg": [ | ||
|
@@ -36,15 +45,54 @@ export default { | |
) | ||
}), | ||
`import { app, h } from "https://unpkg.com/[email protected]?module"` | ||
], | ||
"should rewrite org packages to unpkg": [ | ||
rewriteImportsAndExports({ | ||
contents: `import { app, h } from "@fake/package"`, | ||
searchPath: path.join( | ||
fakeProjectPath, | ||
"not-installed", | ||
"no-version" | ||
) | ||
}), | ||
`import { app, h } from "https://unpkg.com/@fake/package?module"` | ||
] | ||
}, | ||
installed: { | ||
"with version should rewrite to local node_modules": [ | ||
"should rewrite to local node_modules": [ | ||
rewriteImportsAndExports({ | ||
contents: `import { app, h } from "fake-package"`, | ||
searchPath: path.join(fakeProjectPath, "installed") | ||
}), | ||
`import { app, h } from "/node_modules/fake-package"` | ||
], | ||
"should rewrite org packages to local node_modules": [ | ||
rewriteImportsAndExports({ | ||
contents: `import { app, h } from "@fake/package"`, | ||
searchPath: path.join(fakeProjectPath, "installed") | ||
}), | ||
`import { app, h } from "/node_modules/@fake/package"` | ||
], | ||
"subfolder should rewrite to local node_modules": [ | ||
rewriteImportsAndExports({ | ||
contents: `import { stuff } from "fake-package/subfolder"`, | ||
searchPath: path.join(fakeProjectPath, "installed") | ||
}), | ||
`import { stuff } from "/node_modules/fake-package/subfolder"` | ||
], | ||
"module should rewrite to local node_modules": [ | ||
rewriteImportsAndExports({ | ||
contents: `import something from "module-package"`, | ||
searchPath: path.join(fakeProjectPath, "installed") | ||
}), | ||
`import something from "/node_modules/module-package/some/path/module.js"` | ||
], | ||
"main should rewrite to local node_modules": [ | ||
rewriteImportsAndExports({ | ||
contents: `import something from "main-package"`, | ||
searchPath: path.join(fakeProjectPath, "installed") | ||
}), | ||
`import something from "/node_modules/main-package/other/path/main.js"` | ||
] | ||
} | ||
} | ||
|
@@ -53,35 +101,35 @@ export default { | |
"should resolve relative subfolder to index without extension": [ | ||
rewriteImportsAndExports({ | ||
contents: `export { default } from "./subfolder/index"`, | ||
importContext: "/folder" | ||
importContext: "folder" | ||
}), | ||
`export { default } from "./folder/subfolder/index"` | ||
], | ||
"should resolve relative subfolder to index with extension": [ | ||
rewriteImportsAndExports({ | ||
contents: `export { default } from "./subfolder/index.js"`, | ||
importContext: "/folder" | ||
importContext: "folder" | ||
}), | ||
`export { default } from "./folder/subfolder/index.js"` | ||
], | ||
"should resolve relative subfolder to non index file with extension": [ | ||
rewriteImportsAndExports({ | ||
contents: `export { default } from "./somewhere/name.js"`, | ||
importContext: "/test" | ||
importContext: "test" | ||
}), | ||
`export { default } from "./test/somewhere/name.js"` | ||
], | ||
"should resolve relative root to non index file without extension": [ | ||
rewriteImportsAndExports({ | ||
contents: `export { default } from "./name"`, | ||
importContext: "/folder" | ||
importContext: "folder" | ||
}), | ||
`export { default } from "./folder/name"` | ||
], | ||
"should resolve relative root to non index file with extension": [ | ||
rewriteImportsAndExports({ | ||
contents: `export { default } from "./name.js"`, | ||
importContext: "/folder" | ||
importContext: "folder" | ||
}), | ||
`export { default } from "./name.js"` | ||
] | ||
|