summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/bundle/file_tests-fixture01.ts3
-rw-r--r--cli/tests/bundle/file_tests-fixture02.ts4
-rw-r--r--cli/tests/bundle/file_tests-fixture03.ts3
-rw-r--r--cli/tests/bundle/file_tests-fixture04.ts3
-rw-r--r--cli/tests/bundle/file_tests-fixture05.ts3
-rw-r--r--cli/tests/bundle/file_tests-fixture06.ts4
-rw-r--r--cli/tests/bundle/file_tests-fixture07.ts4
-rw-r--r--cli/tests/bundle/file_tests-fixture08.ts1
-rw-r--r--cli/tests/bundle/file_tests-fixture09.ts1
-rw-r--r--cli/tests/bundle/file_tests-fixture10.ts7
-rw-r--r--cli/tests/bundle/file_tests-fixture11.ts32
-rw-r--r--cli/tests/bundle/file_tests-fixture12.ts7
-rw-r--r--cli/tests/bundle/file_tests-fixture13.ts11
-rw-r--r--cli/tests/bundle/file_tests-fixture14.ts4
-rw-r--r--cli/tests/bundle/file_tests-subdir-a.ts1
-rw-r--r--cli/tests/bundle/file_tests-subdir-b.ts3
-rw-r--r--cli/tests/bundle/file_tests-subdir-c.ts2
-rw-r--r--cli/tests/bundle/file_tests-subdir-d.ts3
-rw-r--r--cli/tests/bundle/file_tests-subdir-e.ts1
-rw-r--r--cli/tests/bundle/file_tests-subdir-f.ts2
-rw-r--r--cli/tests/bundle/file_tests-subdir-g.ts12
-rw-r--r--cli/tests/bundle/file_tests-subdir-h.ts12
-rw-r--r--cli/tests/bundle/file_tests-subdir-i.ts3
-rw-r--r--cli/tests/bundle/file_tests-subdir-j.ts3
-rw-r--r--cli/tests/bundle/file_tests-subdir-k.ts11
-rw-r--r--cli/tests/bundle/file_tests-subdir-l.ts1
-rw-r--r--cli/tests/bundle/file_tests-subdir-m.ts2
-rw-r--r--cli/tests/bundle/file_tests-subdir-n.ts3
-rw-r--r--cli/tests/bundle/file_tests-subdir-o.ts5
-rw-r--r--cli/tests/bundle/file_tests-subdir-p.ts1
-rw-r--r--cli/tests/bundle/file_tests-subdir-q.ts13
-rw-r--r--cli/tests/bundle/fixture01.out7
-rw-r--r--cli/tests/bundle/fixture02.out11
-rw-r--r--cli/tests/bundle/fixture03.out4
-rw-r--r--cli/tests/bundle/fixture04.out2
-rw-r--r--cli/tests/bundle/fixture05.out1
-rw-r--r--cli/tests/bundle/fixture06.out2
-rw-r--r--cli/tests/bundle/fixture07.out23
-rw-r--r--cli/tests/bundle/fixture08.out7
-rw-r--r--cli/tests/bundle/fixture09.out19
-rw-r--r--cli/tests/bundle/fixture10.out4
-rw-r--r--cli/tests/bundle/fixture11.out31
-rw-r--r--cli/tests/bundle/fixture12.out7
-rw-r--r--cli/tests/bundle/fixture13.out17
-rw-r--r--cli/tests/bundle/fixture14.out25
-rw-r--r--cli/tests/bundle/https_deno.land-x-lib-a.ts1
-rw-r--r--cli/tests/bundle/https_deno.land-x-lib-b.js1
-rw-r--r--cli/tests/bundle/https_deno.land-x-lib-c.d.ts1
-rw-r--r--cli/tests/bundle/https_deno.land-x-lib-c.js3
-rw-r--r--cli/tests/bundle/https_deno.land-x-lib-mod.d.ts9
-rw-r--r--cli/tests/bundle/https_deno.land-x-lib-mod.js5
-rw-r--r--cli/tests/integration_tests.rs89
52 files changed, 434 insertions, 0 deletions
diff --git a/cli/tests/bundle/file_tests-fixture01.ts b/cli/tests/bundle/file_tests-fixture01.ts
new file mode 100644
index 000000000..3598d0298
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture01.ts
@@ -0,0 +1,3 @@
+import * as a from "./subdir/a.ts";
+
+console.log(a);
diff --git a/cli/tests/bundle/file_tests-fixture02.ts b/cli/tests/bundle/file_tests-fixture02.ts
new file mode 100644
index 000000000..0cd291329
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture02.ts
@@ -0,0 +1,4 @@
+import * as b from "./subdir/b.ts";
+
+console.log(b.b); // "b"
+console.log(b.c); // { c: "c", default: class C }
diff --git a/cli/tests/bundle/file_tests-fixture03.ts b/cli/tests/bundle/file_tests-fixture03.ts
new file mode 100644
index 000000000..78365ce13
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture03.ts
@@ -0,0 +1,3 @@
+import { d } from "./subdir/d.ts";
+
+console.log(d);
diff --git a/cli/tests/bundle/file_tests-fixture04.ts b/cli/tests/bundle/file_tests-fixture04.ts
new file mode 100644
index 000000000..590f4fef9
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture04.ts
@@ -0,0 +1,3 @@
+const a = await import("./subdir/a.ts");
+
+console.log(a);
diff --git a/cli/tests/bundle/file_tests-fixture05.ts b/cli/tests/bundle/file_tests-fixture05.ts
new file mode 100644
index 000000000..19541ce59
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture05.ts
@@ -0,0 +1,3 @@
+import { a } from "./subdir/e.ts";
+
+console.log(a);
diff --git a/cli/tests/bundle/file_tests-fixture06.ts b/cli/tests/bundle/file_tests-fixture06.ts
new file mode 100644
index 000000000..3d94332df
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture06.ts
@@ -0,0 +1,4 @@
+import { isMain, modUrl } from "./subdir/f.ts";
+
+console.log(isMain, modUrl);
+console.log(import.meta.main, import.meta.url);
diff --git a/cli/tests/bundle/file_tests-fixture07.ts b/cli/tests/bundle/file_tests-fixture07.ts
new file mode 100644
index 000000000..0475a6c53
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture07.ts
@@ -0,0 +1,4 @@
+import { G } from "./subdir/g.ts";
+import { H } from "./subdir/h.ts";
+
+console.log(new G(true), new H(true));
diff --git a/cli/tests/bundle/file_tests-fixture08.ts b/cli/tests/bundle/file_tests-fixture08.ts
new file mode 100644
index 000000000..6af5d172e
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture08.ts
@@ -0,0 +1 @@
+export * as a from "./subdir/a.ts";
diff --git a/cli/tests/bundle/file_tests-fixture09.ts b/cli/tests/bundle/file_tests-fixture09.ts
new file mode 100644
index 000000000..30ba983ee
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture09.ts
@@ -0,0 +1 @@
+export { a } from "./subdir/k.ts";
diff --git a/cli/tests/bundle/file_tests-fixture10.ts b/cli/tests/bundle/file_tests-fixture10.ts
new file mode 100644
index 000000000..bec555da8
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture10.ts
@@ -0,0 +1,7 @@
+import { a as defaultA } from "./subdir/l.ts";
+
+const o: { a?: string } = {};
+
+const { a = defaultA } = o;
+
+console.log(a);
diff --git a/cli/tests/bundle/file_tests-fixture11.ts b/cli/tests/bundle/file_tests-fixture11.ts
new file mode 100644
index 000000000..d3f60d367
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture11.ts
@@ -0,0 +1,32 @@
+import { a as defaultA, O } from "./subdir/m.ts";
+export { O } from "./subdir/m.ts";
+
+interface AOptions {
+ a?(): void;
+ c?: O;
+}
+
+class A {
+ #a: () => void;
+ #c?: O;
+ constructor(o: AOptions = {}) {
+ const {
+ a = defaultA,
+ c,
+ } = o;
+ this.#a = a;
+ this.#c = c;
+ }
+
+ a() {
+ this.#a();
+ }
+
+ c() {
+ console.log(this.#c);
+ }
+}
+
+const a = new A();
+a.a();
+a.c();
diff --git a/cli/tests/bundle/file_tests-fixture12.ts b/cli/tests/bundle/file_tests-fixture12.ts
new file mode 100644
index 000000000..32b9566bd
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture12.ts
@@ -0,0 +1,7 @@
+import { a } from "./subdir/p.ts";
+
+function b() {
+ a();
+}
+
+b();
diff --git a/cli/tests/bundle/file_tests-fixture13.ts b/cli/tests/bundle/file_tests-fixture13.ts
new file mode 100644
index 000000000..7dc13534c
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture13.ts
@@ -0,0 +1,11 @@
+import { D, d } from "./subdir/q.ts";
+
+class A {
+ private s: D = d();
+
+ a() {
+ this.s.resolve();
+ }
+}
+
+new A();
diff --git a/cli/tests/bundle/file_tests-fixture14.ts b/cli/tests/bundle/file_tests-fixture14.ts
new file mode 100644
index 000000000..aa8eef1b8
--- /dev/null
+++ b/cli/tests/bundle/file_tests-fixture14.ts
@@ -0,0 +1,4 @@
+// @deno-types="https://deno.land/x/lib/mod.d.ts"
+import * as lib from "https://deno.land/x/lib/mod.js";
+
+console.log(lib);
diff --git a/cli/tests/bundle/file_tests-subdir-a.ts b/cli/tests/bundle/file_tests-subdir-a.ts
new file mode 100644
index 000000000..9233cce2f
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-a.ts
@@ -0,0 +1 @@
+export const a = "a";
diff --git a/cli/tests/bundle/file_tests-subdir-b.ts b/cli/tests/bundle/file_tests-subdir-b.ts
new file mode 100644
index 000000000..1cf751c22
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-b.ts
@@ -0,0 +1,3 @@
+export * as c from "./c.ts";
+
+export const b = "b";
diff --git a/cli/tests/bundle/file_tests-subdir-c.ts b/cli/tests/bundle/file_tests-subdir-c.ts
new file mode 100644
index 000000000..7cc01f993
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-c.ts
@@ -0,0 +1,2 @@
+export const c = "c";
+export default class C {}
diff --git a/cli/tests/bundle/file_tests-subdir-d.ts b/cli/tests/bundle/file_tests-subdir-d.ts
new file mode 100644
index 000000000..9f1ba7f67
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-d.ts
@@ -0,0 +1,3 @@
+import { a } from "./a.ts";
+
+export const d = { a };
diff --git a/cli/tests/bundle/file_tests-subdir-e.ts b/cli/tests/bundle/file_tests-subdir-e.ts
new file mode 100644
index 000000000..55e8e0e18
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-e.ts
@@ -0,0 +1 @@
+export * from "./a.ts";
diff --git a/cli/tests/bundle/file_tests-subdir-f.ts b/cli/tests/bundle/file_tests-subdir-f.ts
new file mode 100644
index 000000000..8bc8d9bf4
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-f.ts
@@ -0,0 +1,2 @@
+export const isMain = import.meta.main;
+export const modUrl = import.meta.url;
diff --git a/cli/tests/bundle/file_tests-subdir-g.ts b/cli/tests/bundle/file_tests-subdir-g.ts
new file mode 100644
index 000000000..3eb4cd3cc
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-g.ts
@@ -0,0 +1,12 @@
+const g: number[] = [];
+
+export class G {
+ #g!: number[];
+ constructor(shared: boolean) {
+ if (shared) {
+ this.#g = g;
+ } else {
+ this.#g = [];
+ }
+ }
+}
diff --git a/cli/tests/bundle/file_tests-subdir-h.ts b/cli/tests/bundle/file_tests-subdir-h.ts
new file mode 100644
index 000000000..9c86dd5c5
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-h.ts
@@ -0,0 +1,12 @@
+const g: number[] = [];
+
+export class H {
+ #g!: number[];
+ constructor(shared: boolean) {
+ if (shared) {
+ this.#g = g;
+ } else {
+ this.#g = [];
+ }
+ }
+}
diff --git a/cli/tests/bundle/file_tests-subdir-i.ts b/cli/tests/bundle/file_tests-subdir-i.ts
new file mode 100644
index 000000000..4ad9ce449
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-i.ts
@@ -0,0 +1,3 @@
+export function a(...d: string[]): string {
+ return d.join(" ");
+}
diff --git a/cli/tests/bundle/file_tests-subdir-j.ts b/cli/tests/bundle/file_tests-subdir-j.ts
new file mode 100644
index 000000000..ac7bce0ea
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-j.ts
@@ -0,0 +1,3 @@
+export function a(...d: string[]): string {
+ return d.join("/");
+}
diff --git a/cli/tests/bundle/file_tests-subdir-k.ts b/cli/tests/bundle/file_tests-subdir-k.ts
new file mode 100644
index 000000000..1b8a533f1
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-k.ts
@@ -0,0 +1,11 @@
+import * as _i from "./i.ts";
+import * as _j from "./j.ts";
+
+const k = globalThis.value ? _i : _j;
+
+export const i = _i;
+export const j = _j;
+
+export const {
+ a,
+} = k;
diff --git a/cli/tests/bundle/file_tests-subdir-l.ts b/cli/tests/bundle/file_tests-subdir-l.ts
new file mode 100644
index 000000000..d767e6ad0
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-l.ts
@@ -0,0 +1 @@
+export { a } from "./a.ts";
diff --git a/cli/tests/bundle/file_tests-subdir-m.ts b/cli/tests/bundle/file_tests-subdir-m.ts
new file mode 100644
index 000000000..21e86d07c
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-m.ts
@@ -0,0 +1,2 @@
+export { a } from "./n.ts";
+export { O } from "./o.ts";
diff --git a/cli/tests/bundle/file_tests-subdir-n.ts b/cli/tests/bundle/file_tests-subdir-n.ts
new file mode 100644
index 000000000..ac3c37005
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-n.ts
@@ -0,0 +1,3 @@
+export function a() {
+ console.log("a");
+}
diff --git a/cli/tests/bundle/file_tests-subdir-o.ts b/cli/tests/bundle/file_tests-subdir-o.ts
new file mode 100644
index 000000000..ab9753fea
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-o.ts
@@ -0,0 +1,5 @@
+export enum O {
+ A,
+ B,
+ C,
+}
diff --git a/cli/tests/bundle/file_tests-subdir-p.ts b/cli/tests/bundle/file_tests-subdir-p.ts
new file mode 100644
index 000000000..19b486f71
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-p.ts
@@ -0,0 +1 @@
+export * from "./i.ts";
diff --git a/cli/tests/bundle/file_tests-subdir-q.ts b/cli/tests/bundle/file_tests-subdir-q.ts
new file mode 100644
index 000000000..9e5d4da37
--- /dev/null
+++ b/cli/tests/bundle/file_tests-subdir-q.ts
@@ -0,0 +1,13 @@
+/* eslint-disable */
+export interface D {
+ resolve: any;
+ reject: any;
+}
+
+export function d(): D {
+ let methods;
+ const promise = new Promise((resolve, reject) => {
+ methods = { resolve, reject };
+ });
+ return Object.assign(promise, methods);
+}
diff --git a/cli/tests/bundle/fixture01.out b/cli/tests/bundle/fixture01.out
new file mode 100644
index 000000000..e29d0d38a
--- /dev/null
+++ b/cli/tests/bundle/fixture01.out
@@ -0,0 +1,7 @@
+const a = function() {
+ const a = "a";
+ return {
+ a
+ };
+}();
+console.log(a);
diff --git a/cli/tests/bundle/fixture02.out b/cli/tests/bundle/fixture02.out
new file mode 100644
index 000000000..41880e73d
--- /dev/null
+++ b/cli/tests/bundle/fixture02.out
@@ -0,0 +1,11 @@
+const c = function() {
+ const c1 = "c";
+ class C {
+ }
+ return {
+ c: c1,
+ default: C
+ };
+}();
+console.log("b");
+console.log(c);
diff --git a/cli/tests/bundle/fixture03.out b/cli/tests/bundle/fixture03.out
new file mode 100644
index 000000000..d4c79e2ec
--- /dev/null
+++ b/cli/tests/bundle/fixture03.out
@@ -0,0 +1,4 @@
+const d = {
+ a: "a"
+};
+console.log(d);
diff --git a/cli/tests/bundle/fixture04.out b/cli/tests/bundle/fixture04.out
new file mode 100644
index 000000000..37869205b
--- /dev/null
+++ b/cli/tests/bundle/fixture04.out
@@ -0,0 +1,2 @@
+const a = await import("./subdir/a.ts");
+console.log(a);
diff --git a/cli/tests/bundle/fixture05.out b/cli/tests/bundle/fixture05.out
new file mode 100644
index 000000000..7b2a34601
--- /dev/null
+++ b/cli/tests/bundle/fixture05.out
@@ -0,0 +1 @@
+console.log("a");
diff --git a/cli/tests/bundle/fixture06.out b/cli/tests/bundle/fixture06.out
new file mode 100644
index 000000000..057c5b820
--- /dev/null
+++ b/cli/tests/bundle/fixture06.out
@@ -0,0 +1,2 @@
+console.log(false, "file:///tests/subdir/f.ts");
+console.log(import.meta.main, "file:///tests/fixture06.ts");
diff --git a/cli/tests/bundle/fixture07.out b/cli/tests/bundle/fixture07.out
new file mode 100644
index 000000000..39e6a11e8
--- /dev/null
+++ b/cli/tests/bundle/fixture07.out
@@ -0,0 +1,23 @@
+const g = [];
+class G {
+ #g;
+ constructor(shared){
+ if (shared) {
+ this.#g = g;
+ } else {
+ this.#g = [];
+ }
+ }
+}
+const g1 = [];
+class H {
+ #g;
+ constructor(shared1){
+ if (shared1) {
+ this.#g = g1;
+ } else {
+ this.#g = [];
+ }
+ }
+}
+console.log(new G(true), new H(true));
diff --git a/cli/tests/bundle/fixture08.out b/cli/tests/bundle/fixture08.out
new file mode 100644
index 000000000..f9435ab2a
--- /dev/null
+++ b/cli/tests/bundle/fixture08.out
@@ -0,0 +1,7 @@
+const a = function() {
+ const a1 = "a";
+ return {
+ a: a1
+ };
+}();
+export { a };
diff --git a/cli/tests/bundle/fixture09.out b/cli/tests/bundle/fixture09.out
new file mode 100644
index 000000000..7f9646946
--- /dev/null
+++ b/cli/tests/bundle/fixture09.out
@@ -0,0 +1,19 @@
+const _i = function() {
+ function a(...d) {
+ return d.join(" ");
+ }
+ return {
+ a
+ };
+}();
+const _j = function() {
+ function a(...d) {
+ return d.join("/");
+ }
+ return {
+ a
+ };
+}();
+const k = globalThis.value ? _i : _j;
+const { a , } = k;
+export { a };
diff --git a/cli/tests/bundle/fixture10.out b/cli/tests/bundle/fixture10.out
new file mode 100644
index 000000000..7436722b5
--- /dev/null
+++ b/cli/tests/bundle/fixture10.out
@@ -0,0 +1,4 @@
+const o = {
+};
+const { a ="a" } = o;
+console.log(a);
diff --git a/cli/tests/bundle/fixture11.out b/cli/tests/bundle/fixture11.out
new file mode 100644
index 000000000..2d1c966a1
--- /dev/null
+++ b/cli/tests/bundle/fixture11.out
@@ -0,0 +1,31 @@
+function a() {
+ console.log("a");
+}
+var O;
+(function(O1) {
+ O1[O1["A"] = 0] = "A";
+ O1[O1["B"] = 1] = "B";
+ O1[O1["C"] = 2] = "C";
+})((void 0) || (O = {
+}));
+const O1 = void 0;
+export { O1 as O };
+class A {
+ #a;
+ #c;
+ constructor(o = {
+ }){
+ const { a: a1 = a , c , } = o;
+ this.#a = a1;
+ this.#c = c;
+ }
+ a() {
+ this.#a();
+ }
+ c() {
+ console.log(this.#c);
+ }
+}
+const a2 = new A();
+a2.a();
+a2.c();
diff --git a/cli/tests/bundle/fixture12.out b/cli/tests/bundle/fixture12.out
new file mode 100644
index 000000000..64e2d6cdb
--- /dev/null
+++ b/cli/tests/bundle/fixture12.out
@@ -0,0 +1,7 @@
+function a(...d) {
+ return d.join(" ");
+}
+function b() {
+ a();
+}
+b();
diff --git a/cli/tests/bundle/fixture13.out b/cli/tests/bundle/fixture13.out
new file mode 100644
index 000000000..1c7a8c991
--- /dev/null
+++ b/cli/tests/bundle/fixture13.out
@@ -0,0 +1,17 @@
+function d() {
+ let methods;
+ const promise = new Promise((resolve, reject)=>{
+ methods = {
+ resolve,
+ reject
+ };
+ });
+ return Object.assign(promise, methods);
+}
+class A {
+ s = d();
+ a() {
+ this.s.resolve();
+ }
+}
+new A();
diff --git a/cli/tests/bundle/fixture14.out b/cli/tests/bundle/fixture14.out
new file mode 100644
index 000000000..06e93a7cc
--- /dev/null
+++ b/cli/tests/bundle/fixture14.out
@@ -0,0 +1,25 @@
+const lib = function() {
+ const a = function() {
+ const a1 = [];
+ return {
+ a: a1
+ };
+ }();
+ const b = function() {
+ const b1 = [];
+ return {
+ b: b1
+ };
+ }();
+ const c = function() {
+ const c1;
+ return {
+ c: c1
+ };
+ }();
+ const mod;
+ return {
+ mod
+ };
+}();
+console.log(lib);
diff --git a/cli/tests/bundle/https_deno.land-x-lib-a.ts b/cli/tests/bundle/https_deno.land-x-lib-a.ts
new file mode 100644
index 000000000..a0a6f8e94
--- /dev/null
+++ b/cli/tests/bundle/https_deno.land-x-lib-a.ts
@@ -0,0 +1 @@
+export const a: string[] = [];
diff --git a/cli/tests/bundle/https_deno.land-x-lib-b.js b/cli/tests/bundle/https_deno.land-x-lib-b.js
new file mode 100644
index 000000000..13cacdd8b
--- /dev/null
+++ b/cli/tests/bundle/https_deno.land-x-lib-b.js
@@ -0,0 +1 @@
+export const b = [];
diff --git a/cli/tests/bundle/https_deno.land-x-lib-c.d.ts b/cli/tests/bundle/https_deno.land-x-lib-c.d.ts
new file mode 100644
index 000000000..fac988e49
--- /dev/null
+++ b/cli/tests/bundle/https_deno.land-x-lib-c.d.ts
@@ -0,0 +1 @@
+export const c: string[];
diff --git a/cli/tests/bundle/https_deno.land-x-lib-c.js b/cli/tests/bundle/https_deno.land-x-lib-c.js
new file mode 100644
index 000000000..620ca0b66
--- /dev/null
+++ b/cli/tests/bundle/https_deno.land-x-lib-c.js
@@ -0,0 +1,3 @@
+/// <reference types="./c.d.ts" />
+
+export const c = [];
diff --git a/cli/tests/bundle/https_deno.land-x-lib-mod.d.ts b/cli/tests/bundle/https_deno.land-x-lib-mod.d.ts
new file mode 100644
index 000000000..76ed81df0
--- /dev/null
+++ b/cli/tests/bundle/https_deno.land-x-lib-mod.d.ts
@@ -0,0 +1,9 @@
+export * as a from "./a.ts";
+export * as b from "./b.js";
+export * as c from "./c.js";
+
+export interface A {
+ a: string;
+}
+
+export const mod: A[];
diff --git a/cli/tests/bundle/https_deno.land-x-lib-mod.js b/cli/tests/bundle/https_deno.land-x-lib-mod.js
new file mode 100644
index 000000000..505162094
--- /dev/null
+++ b/cli/tests/bundle/https_deno.land-x-lib-mod.js
@@ -0,0 +1,5 @@
+export * as a from "./a.ts";
+export * as b from "./b.js";
+export * as c from "./c.js";
+
+export const mod = [];
diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs
index 51eb922d9..d7786e966 100644
--- a/cli/tests/integration_tests.rs
+++ b/cli/tests/integration_tests.rs
@@ -839,6 +839,49 @@ fn bundle_exports() {
}
#[test]
+fn bundle_exports_no_check() {
+ // First we have to generate a bundle of some module that has exports.
+ let mod1 = util::root_path().join("cli/tests/subdir/mod1.ts");
+ assert!(mod1.is_file());
+ let t = TempDir::new().expect("tempdir fail");
+ let bundle = t.path().join("mod1.bundle.js");
+ let mut deno = util::deno_cmd()
+ .current_dir(util::root_path())
+ .arg("bundle")
+ .arg("--no-check")
+ .arg(mod1)
+ .arg(&bundle)
+ .spawn()
+ .expect("failed to spawn script");
+ let status = deno.wait().expect("failed to wait for the child process");
+ assert!(status.success());
+ assert!(bundle.is_file());
+
+ // Now we try to use that bundle from another module.
+ let test = t.path().join("test.js");
+ std::fs::write(
+ &test,
+ "
+ import { printHello3 } from \"./mod1.bundle.js\";
+ printHello3(); ",
+ )
+ .expect("error writing file");
+
+ let output = util::deno_cmd()
+ .current_dir(util::root_path())
+ .arg("run")
+ .arg(&test)
+ .output()
+ .expect("failed to spawn script");
+ // check the output of the test.ts program.
+ assert!(std::str::from_utf8(&output.stdout)
+ .unwrap()
+ .trim()
+ .ends_with("Hello"));
+ assert_eq!(output.stderr, b"");
+}
+
+#[test]
fn bundle_circular() {
// First we have to generate a bundle of some module that has exports.
let circular1 = util::root_path().join("cli/tests/subdir/circular1.ts");
@@ -1052,6 +1095,52 @@ fn bundle_import_map() {
}
#[test]
+fn bundle_import_map_no_check() {
+ let import = util::root_path().join("cli/tests/bundle_im.ts");
+ let import_map_path = util::root_path().join("cli/tests/bundle_im.json");
+ assert!(import.is_file());
+ let t = TempDir::new().expect("tempdir fail");
+ let bundle = t.path().join("import_map.bundle.js");
+ let mut deno = util::deno_cmd()
+ .current_dir(util::root_path())
+ .arg("bundle")
+ .arg("--no-check")
+ .arg("--importmap")
+ .arg(import_map_path)
+ .arg("--unstable")
+ .arg(import)
+ .arg(&bundle)
+ .spawn()
+ .expect("failed to spawn script");
+ let status = deno.wait().expect("failed to wait for the child process");
+ assert!(status.success());
+ assert!(bundle.is_file());
+
+ // Now we try to use that bundle from another module.
+ let test = t.path().join("test.js");
+ std::fs::write(
+ &test,
+ "
+ import { printHello3 } from \"./import_map.bundle.js\";
+ printHello3(); ",
+ )
+ .expect("error writing file");
+
+ let output = util::deno_cmd()
+ .current_dir(util::root_path())
+ .arg("run")
+ .arg(&test)
+ .output()
+ .expect("failed to spawn script");
+ // check the output of the test.ts program.
+ assert!(std::str::from_utf8(&output.stdout)
+ .unwrap()
+ .trim()
+ .ends_with("Hello"));
+ assert_eq!(output.stderr, b"");
+}
+
+#[test]
fn info_with_compiled_source() {
let _g = util::http_server();
let module_path = "http://127.0.0.1:4545/cli/tests/048_media_types_jsx.ts";