summaryrefslogtreecommitdiff
path: root/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js
diff options
context:
space:
mode:
authorakiyamn2023-09-24 23:22:21 +1000
committerakiyamn2023-09-24 23:22:21 +1000
commit4e87195739f2a5d9a05451b48773c8afdc680765 (patch)
tree9cba501844a4a11dcbdffc4050ed8189561c55ed /node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js
downloadprice-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.tar.gz
price-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.zip
Initial commit (by create-cloudflare CLI)
Diffstat (limited to 'node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js')
-rw-r--r--node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js178
1 files changed, 178 insertions, 0 deletions
diff --git a/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js
new file mode 100644
index 0000000..b4ff899
--- /dev/null
+++ b/node_modules/@esbuild-plugins/node-modules-polyfill/esm/index.test.js
@@ -0,0 +1,178 @@
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+import { build } from 'esbuild';
+import { writeFiles } from 'test-support';
+import fs from 'fs';
+import NodeModulesPolyfillsPlugin from '.';
+import NodeGlobalsPolyfillsPlugin from '@esbuild-plugins/node-globals-polyfill';
+require('debug').enable(require('../package.json').name);
+test('works', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ eval(res.outputFiles[0].text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test('works with SafeBuffer and other package consumers', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import {Buffer as SafeBuffer} from './safe-buffer'; console.log(SafeBuffer);`,
+ 'safe-buffer.ts': fs
+ .readFileSync(require.resolve('safe-buffer'))
+ .toString(),
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ // console.log(
+ // res.outputFiles[0].text
+ // .split('\n')
+ // .map((x, i) => i + ' ' + x)
+ // .join('\n'),
+ // )
+ eval(res.outputFiles[0].text);
+ unlink();
+}));
+test('events works', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `
+ import EventEmitter from 'events';
+
+ class Test extends EventEmitter {
+ constructor() { };
+ }
+ console.log(Test)
+ `,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ // console.log(res.outputFiles[0].text)
+ eval(res.outputFiles[0].text);
+ unlink();
+}));
+test('require can use default export', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `
+ const assert = require('assert')
+ // console.log(assert)
+ assert('ok')
+ `,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ // console.log(res.outputFiles[0].text)
+ eval(res.outputFiles[0].text);
+ unlink();
+}));
+test.skip('crypto', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import { randomBytes } from 'crypto'; console.log(randomBytes(20).toString('hex'))`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ eval(res.outputFiles[0].text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test.skip('fs', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import { readFile } from 'fs'; console.log(readFile(''))`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ eval(res.outputFiles[0].text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test('does not include global keyword', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin()],
+ });
+ const text = res.outputFiles[0].text;
+ eval(text);
+ expect(text).not.toContain(/\bglobal\b/);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+test('works with globals polyfills', () => __awaiter(void 0, void 0, void 0, function* () {
+ const { unlink, paths: [ENTRY], } = yield writeFiles({
+ 'entry.ts': `import {x} from './utils'; console.log(x);`,
+ 'utils.ts': `import path from 'path'; import { Buffer } from 'buffer'; export const x = path.resolve(Buffer.from('x').toString());`,
+ });
+ // const outfile = randomOutputFile()
+ const res = yield build({
+ entryPoints: [ENTRY],
+ write: false,
+ format: 'esm',
+ target: 'es2017',
+ bundle: true,
+ plugins: [NodeModulesPolyfillsPlugin(), NodeGlobalsPolyfillsPlugin()],
+ });
+ const text = res.outputFiles[0].text;
+ eval(text);
+ console.log(text);
+ // console.log(res.outputFiles[0].text)
+ unlink();
+}));
+//# sourceMappingURL=index.test.js.map \ No newline at end of file