cleanup
This commit is contained in:
parent
2f21977fca
commit
3aa0b3a7ff
@ -1,16 +1,19 @@
|
|||||||
# ESBuild Typescript Bunder
|
# ESBuild Typescript Bunder
|
||||||
|
|
||||||
## Supports import maps and runs on Deno Deploy
|
## Supports import maps and runs on Deno Deploy
|
||||||
Uses the WASM version of ESBuild for use on Deno Deploy and adds some plugins to allow for import maps. Unfortunately, `npm:*` and `jsr:*` specifiers are not supported currently.
|
Uses the WASM version of ESBuild for use on Deno Deploy and adds some plugins to allow for import maps. ***Unfortunately, `npm:*` and `jsr:*` specifiers are not supported currently***.
|
||||||
|
|
||||||
### Manual Bundle API
|
### Manual Bundle API
|
||||||
```typescript
|
```typescript
|
||||||
import Bundle from "./mod.ts";
|
import Bundle from "./mod.ts";
|
||||||
Bundle(
|
Bundle(
|
||||||
// ESBuild configuration:
|
// directory to work from
|
||||||
|
"./some_folder",
|
||||||
|
|
||||||
|
// ESBuild configuration (entry points are relative to "directory"):
|
||||||
{entry:["./app.tsx"]},
|
{entry:["./app.tsx"]},
|
||||||
|
|
||||||
// import map:
|
// import map (if omitted, will scan for a deno configuration within "directory" and use that)
|
||||||
{"imports": {
|
{"imports": {
|
||||||
"react": "https://esm.sh/preact@10.22.0/compat",
|
"react": "https://esm.sh/preact@10.22.0/compat",
|
||||||
"react/": "https://esm.sh/preact@10.22.0/compat/"
|
"react/": "https://esm.sh/preact@10.22.0/compat/"
|
||||||
|
@ -3,8 +3,11 @@ import { parse as JSONC } from "https://deno.land/x/jsonct@v0.1.0/mod.ts";
|
|||||||
type JsonLike = { [key: string]: string | string[] | JsonLike; };
|
type JsonLike = { [key: string]: string | string[] | JsonLike; };
|
||||||
|
|
||||||
/** A `file://` url version of Deno.cwd() (contains trailing slash) */
|
/** A `file://` url version of Deno.cwd() (contains trailing slash) */
|
||||||
export const Root = new URL(`file://${Deno.cwd().replaceAll("\\", "/")}`).toString() + "/";
|
export const Root:string = new URL(`file://${Deno.cwd().replaceAll("\\", "/")}`).toString() + "/";
|
||||||
export default async function HuntConfig(directory=Root)
|
export default async function HuntConfig(directory=Root):Promise<{
|
||||||
|
imports: JsonLike;
|
||||||
|
compilerOptions: JsonLike;
|
||||||
|
}>
|
||||||
{
|
{
|
||||||
let path:string, json:JsonLike|undefined;
|
let path:string, json:JsonLike|undefined;
|
||||||
console.log("searchig in directory", directory)
|
console.log("searchig in directory", directory)
|
||||||
|
11
jsapi.test.tsx
Normal file
11
jsapi.test.tsx
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import * as Test from "https://deno.land/std@0.224.0/assert/mod.ts";
|
||||||
|
import Bundle, {ESBuild} from "./mod.ts";
|
||||||
|
|
||||||
|
|
||||||
|
const path = await import.meta.resolve("./test/");
|
||||||
|
const {outputFiles} = await Bundle(path, {entryPoints:["./app.tsx"]});
|
||||||
|
|
||||||
|
Deno.test("check", ()=>{
|
||||||
|
Test.assert(outputFiles?.length == 1);
|
||||||
|
Test.assert(outputFiles[0].text.length > 1000);
|
||||||
|
})
|
12
jsapi.tsx
12
jsapi.tsx
@ -1,12 +0,0 @@
|
|||||||
import Bundle from "./mod.ts";
|
|
||||||
import Config from "./test/deno.json" with {type:"json"};
|
|
||||||
|
|
||||||
const path = import.meta.resolve("./test/");
|
|
||||||
const {outputFiles} = await Bundle(path, {entryPoints:["./app.tsx"]}, Config);
|
|
||||||
if(outputFiles)
|
|
||||||
{
|
|
||||||
for(const item of outputFiles)
|
|
||||||
{
|
|
||||||
console.log(item.text);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"imports": {
|
"imports": {
|
||||||
"react": "npm:preact@10.22.0/compat",
|
"react": "https://esm.sh/preact@10.22.0/compat",
|
||||||
"react/": "npm:preact@10.22.0/compat/"
|
"react/": "https://esm.sh/preact@10.22.0/compat/"
|
||||||
},
|
},
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"jsx": "react-jsx",
|
"jsx": "react-jsx",
|
||||||
|
Loading…
Reference in New Issue
Block a user