Rocky_Mountain_Vending/.pnpm-store/v10/files/9b/2d87c70e7f7ca4cb79f912fa62416d9095e65187c704f474fc8a287144216f21f07ea5e7568451ef8b58343881176617e1d8b23a8a2ca86803f5346ea71cf5
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

155 lines
3.9 KiB
Text

import { build } from 'esbuild'
import { writeFiles } from 'test-support'
import { NodeGlobalsPolyfillPlugin } from '.'
require('debug').enable(require('../package.json').name)
test('process works', async () => {
const {
unlink,
paths: [ENTRY],
} = await writeFiles({
'entry.ts': `process.version`,
})
const res = await build({
entryPoints: [ENTRY],
write: false,
format: 'esm',
target: 'es2017',
bundle: true,
inject: [require.resolve('../process')],
})
const output = res.outputFiles[0].text
// console.log(output)
eval(output)
unlink()
})
test('process is tree shaken', async () => {
const {
unlink,
paths: [ENTRY],
} = await writeFiles({
'entry.ts': `console.log('hei')`,
})
const res = await build({
entryPoints: [ENTRY],
write: false,
format: 'esm',
target: 'es2017',
bundle: true,
inject: [require.resolve('../process')],
})
const output = res.outputFiles[0].text
expect(output).not.toContain('process')
unlink()
})
// TODO esbuild cannot use virtual modules for inject: https://github.com/evanw/esbuild/issues/2762
test('process env vars are replaced with ones from define', async () => {
const {
unlink,
paths: [ENTRY],
} = await writeFiles({
'entry.ts': `if (process.env.VAR !== 'hello') { throw new Error('process.env.VAR not right: ' + process.env.VAR) }`,
})
const res = await build({
entryPoints: [ENTRY],
write: false,
format: 'esm',
target: 'es2017',
bundle: true,
define: {
'process.env.VAR': '"hello"',
},
plugins: [NodeGlobalsPolyfillPlugin({})],
})
const output = res.outputFiles[0].text
eval(output)
unlink()
})
test('Buffer works', async () => {
const {
unlink,
paths: [ENTRY],
} = await writeFiles({
'entry.ts': `console.log(Buffer.from('xxx').toString())`,
})
const res = await build({
entryPoints: [ENTRY],
write: false,
format: 'esm',
target: 'es2017',
bundle: true,
inject: [require.resolve('../Buffer')],
})
const output = res.outputFiles[0].text
// console.log(output)
eval(output)
unlink()
})
test('Buffer is tree shaken', async () => {
const {
unlink,
paths: [ENTRY],
} = await writeFiles({
'entry.ts': `console.log('hei')`,
})
const res = await build({
entryPoints: [ENTRY],
write: false,
format: 'esm',
target: 'es2017',
bundle: true,
inject: [require.resolve('../Buffer')],
})
const output = res.outputFiles[0].text
expect(output).not.toContain('Buffer')
unlink()
})
test('Buffer works using plugin', async () => {
const {
unlink,
paths: [ENTRY],
} = await writeFiles({
'entry.ts': `
let buf = new Buffer(256);
let len = buf.write("Simply Easy Learning");
console.log("Octets written : "+ len);`,
})
const res = await build({
entryPoints: [ENTRY],
write: false,
format: 'esm',
target: 'es2017',
bundle: true,
plugins: [NodeGlobalsPolyfillPlugin({ buffer: true })],
})
const output = res.outputFiles[0].text
// console.log(output)
eval(output)
unlink()
})
test('process works using plugin', async () => {
const {
unlink,
paths: [ENTRY],
} = await writeFiles({
'entry.ts': `console.log(process.cwd())`,
})
const res = await build({
entryPoints: [ENTRY],
write: false,
format: 'esm',
target: 'es2017',
bundle: true,
plugins: [NodeGlobalsPolyfillPlugin({ process: true })],
})
const output = res.outputFiles[0].text
// console.log(output)
eval(output)
unlink()
})