mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 10:58:56 +00:00
115 lines
2.9 KiB
JavaScript
115 lines
2.9 KiB
JavaScript
'use strict';
|
|
|
|
// // Flags: --expose-internals
|
|
// // This verifies that
|
|
// // 1. We do not leak internal modules unless the --require-internals option
|
|
// // is on.
|
|
// // 2. We do not accidentally leak any modules to the public global scope.
|
|
// // 3. Deprecated modules are properly deprecated.
|
|
|
|
const common = require('../common');
|
|
|
|
common.skip("This test is not going to be implemented in Bun. We do not support --expose-internals.")
|
|
|
|
// if (!common.isMainThread) {
|
|
// common.skip('Cannot test the existence of --expose-internals from worker');
|
|
// }
|
|
|
|
// const assert = require('assert');
|
|
// const fork = require('child_process').fork;
|
|
|
|
// const expectedPublicModules = new Set([
|
|
// '_http_agent',
|
|
// '_http_client',
|
|
// '_http_common',
|
|
// '_http_incoming',
|
|
// '_http_outgoing',
|
|
// '_http_server',
|
|
// '_stream_duplex',
|
|
// '_stream_passthrough',
|
|
// '_stream_readable',
|
|
// '_stream_transform',
|
|
// '_stream_wrap',
|
|
// '_stream_writable',
|
|
// '_tls_common',
|
|
// '_tls_wrap',
|
|
// 'assert',
|
|
// 'async_hooks',
|
|
// 'buffer',
|
|
// 'child_process',
|
|
// 'cluster',
|
|
// 'console',
|
|
// 'constants',
|
|
// 'crypto',
|
|
// 'dgram',
|
|
// 'dns',
|
|
// 'domain',
|
|
// 'events',
|
|
// 'fs',
|
|
// 'http',
|
|
// 'http2',
|
|
// 'https',
|
|
// 'inspector',
|
|
// 'module',
|
|
// 'net',
|
|
// 'os',
|
|
// 'path',
|
|
// 'perf_hooks',
|
|
// 'process',
|
|
// 'punycode',
|
|
// 'querystring',
|
|
// 'readline',
|
|
// 'repl',
|
|
// 'stream',
|
|
// 'string_decoder',
|
|
// 'sys',
|
|
// 'timers',
|
|
// 'tls',
|
|
// 'trace_events',
|
|
// 'tty',
|
|
// 'url',
|
|
// 'util',
|
|
// 'v8',
|
|
// 'vm',
|
|
// 'worker_threads',
|
|
// 'zlib',
|
|
// ]);
|
|
|
|
// if (process.argv[2] === 'child') {
|
|
// assert(!process.execArgv.includes('--expose-internals'));
|
|
// process.once('message', ({ allBuiltins }) => {
|
|
// const publicModules = new Set();
|
|
// for (const id of allBuiltins) {
|
|
// if (id.startsWith('internal/')) {
|
|
// assert.throws(() => {
|
|
// require(id);
|
|
// }, {
|
|
// code: 'MODULE_NOT_FOUND',
|
|
// message: `Cannot find module '${id}'`
|
|
// });
|
|
// } else {
|
|
// require(id);
|
|
// publicModules.add(id);
|
|
// }
|
|
// }
|
|
// assert(allBuiltins.length > publicModules.size);
|
|
// // Make sure all the public modules are available through
|
|
// // require('module').builtinModules
|
|
// assert.deepStrictEqual(
|
|
// publicModules,
|
|
// new Set(require('module').builtinModules)
|
|
// );
|
|
// assert.deepStrictEqual(publicModules, expectedPublicModules);
|
|
// });
|
|
// } else {
|
|
// assert(process.execArgv.includes('--expose-internals'));
|
|
// const child = fork(__filename, ['child'], {
|
|
// execArgv: []
|
|
// });
|
|
// const { builtinModules } = require('module');
|
|
// // When --expose-internals is on, require('module').builtinModules
|
|
// // contains internal modules.
|
|
// const message = { allBuiltins: builtinModules };
|
|
// child.send(message);
|
|
// }
|