vite-node 0.7.6 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/client.d.ts CHANGED
@@ -1 +1 @@
1
- export { f as DEFAULT_REQUEST_STUBS, M as ModuleCacheMap, g as ViteNodeRunner } from './types-b082e264.js';
1
+ export { f as DEFAULT_REQUEST_STUBS, M as ModuleCacheMap, g as ViteNodeRunner } from './types-3ae135eb.js';
package/dist/cli.cjs CHANGED
@@ -96,4 +96,4 @@ async function run(options = {}) {
96
96
  await runner.executeFile(file);
97
97
  });
98
98
  }
99
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWluaW1pc3QgZnJvbSAnbWluaW1pc3QnXG5pbXBvcnQgeyBkaW0sIHJlZCB9IGZyb20gJ2tvbG9yaXN0J1xuaW1wb3J0IHsgY3JlYXRlU2VydmVyIH0gZnJvbSAndml0ZSdcbmltcG9ydCB7IFZpdGVOb2RlU2VydmVyIH0gZnJvbSAnLi9zZXJ2ZXInXG5pbXBvcnQgeyBWaXRlTm9kZVJ1bm5lciB9IGZyb20gJy4vY2xpZW50J1xuXG5jb25zdCBhcmd2ID0gbWluaW1pc3QocHJvY2Vzcy5hcmd2LnNsaWNlKDIpLCB7XG4gICdhbGlhcyc6IHtcbiAgICByOiAncm9vdCcsXG4gICAgYzogJ2NvbmZpZycsXG4gICAgaDogJ2hlbHAnLFxuICAgIHc6ICd3YXRjaCcsXG4gICAgczogJ3NpbGVudCcsXG4gIH0sXG4gICctLSc6IHRydWUsXG4gICdzdHJpbmcnOiBbJ3Jvb3QnLCAnY29uZmlnJ10sXG4gICdib29sZWFuJzogWydoZWxwJywgJ3dhdGNoJywgJ3NpbGVudCddLFxuICB1bmtub3duKG5hbWU6IHN0cmluZykge1xuICAgIGlmIChuYW1lWzBdID09PSAnLScpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IocmVkKGBVbmtub3duIGFyZ3VtZW50OiAke25hbWV9YCkpXG4gICAgICBoZWxwKClcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9LFxufSlcblxuaWYgKGFyZ3YuaGVscCkge1xuICBoZWxwKClcbiAgcHJvY2Vzcy5leGl0KDApXG59XG5cbmlmICghYXJndi5fLmxlbmd0aCkge1xuICBjb25zb2xlLmVycm9yKHJlZCgnTm8gZmlsZXMgc3BlY2lmaWVkLicpKVxuICBoZWxwKClcbiAgcHJvY2Vzcy5leGl0KDEpXG59XG5cbi8vIGZvcndhcmQgYXJndlxucHJvY2Vzcy5hcmd2ID0gWy4uLnByb2Nlc3MuYXJndi5zbGljZSgwLCAyKSwgLi4uKGFyZ3ZbJy0tJ10gfHwgW10pXVxuXG5ydW4oYXJndilcblxuZnVuY3Rpb24gaGVscCgpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coYFxuVXNhZ2U6XG4gICQgdml0ZS1ub2RlIFtvcHRpb25zXSBbZmlsZXNdXG5cbk9wdGlvbnM6XG4gIC1yLCAtLXJvb3QgPHBhdGg+ICAgICAgJHtkaW0oJ1tzdHJpbmddJyl9IHVzZSBzcGVjaWZpZWQgcm9vdCBkaXJlY3RvcnlcbiAgLWMsIC0tY29uZmlnIDxmaWxlPiAgICAke2RpbSgnW3N0cmluZ10nKX0gdXNlIHNwZWNpZmllZCBjb25maWcgZmlsZVxuICAtdywgLS13YXRjaCAgICAgICAgICAgJHtkaW0oJ1tib29sZWFuXScpfSByZXN0YXJ0IG9uIGZpbGUgY2hhbmdlcywgc2ltaWxhciB0byBcIm5vZGVtb25cIlxuICAtcywgLS1zaWxlbnQgICAgICAgICAgJHtkaW0oJ1tib29sZWFuXScpfSBkbyBub3QgZW1pdCBlcnJvcnMgYW5kIGxvZ3NcbiAgLS12dWUgICAgICAgICAgICAgICAgICR7ZGltKCdbYm9vbGVhbl0nKX0gc3VwcG9ydCBmb3IgaW1wb3J0aW5nIFZ1ZSBjb21wb25lbnRcbmApXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpT3B0aW9ucyB7XG4gIGZpbGVzPzogc3RyaW5nW11cbiAgXz86IHN0cmluZ1tdXG4gIHJvb3Q/OiBzdHJpbmdcbiAgY29uZmlnPzogc3RyaW5nXG4gIHdhdGNoPzogYm9vbGVhblxufVxuXG5hc3luYyBmdW5jdGlvbiBydW4ob3B0aW9uczogQ2xpT3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IGZpbGVzID0gb3B0aW9ucy5maWxlcyB8fCBvcHRpb25zLl8gfHwgW11cbiAgY29uc3Qgc2VydmVyID0gYXdhaXQgY3JlYXRlU2VydmVyKHtcbiAgICBsb2dMZXZlbDogJ2Vycm9yJyxcbiAgICBjbGVhclNjcmVlbjogZmFsc2UsXG4gICAgY29uZmlnRmlsZTogb3B0aW9ucy5jb25maWcsXG4gICAgcm9vdDogb3B0aW9ucy5yb290LFxuICB9KVxuICBhd2FpdCBzZXJ2ZXIucGx1Z2luQ29udGFpbmVyLmJ1aWxkU3RhcnQoe30pXG5cbiAgY29uc3Qgbm9kZSA9IG5ldyBWaXRlTm9kZVNlcnZlcihzZXJ2ZXIpXG5cbiAgY29uc3QgcnVubmVyID0gbmV3IFZpdGVOb2RlUnVubmVyKHtcbiAgICByb290OiBzZXJ2ZXIuY29uZmlnLnJvb3QsXG4gICAgYmFzZTogc2VydmVyLmNvbmZpZy5iYXNlLFxuICAgIGZldGNoTW9kdWxlKGlkKSB7XG4gICAgICByZXR1cm4gbm9kZS5mZXRjaE1vZHVsZShpZClcbiAgICB9LFxuICAgIHJlc29sdmVJZChpZCwgaW1wb3J0ZXIpIHtcbiAgICAgIHJldHVybiBub2RlLnJlc29sdmVJZChpZCwgaW1wb3J0ZXIpXG4gICAgfSxcbiAgfSlcblxuICAvLyBwcm92aWRlIHRoZSB2aXRlIGRlZmluZSB2YXJpYWJsZSBpbiB0aGlzIGNvbnRleHRcbiAgYXdhaXQgcnVubmVyLmV4ZWN1dGVJZCgnL0B2aXRlL2VudicpXG5cbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKVxuICAgIGF3YWl0IHJ1bm5lci5leGVjdXRlRmlsZShmaWxlKVxuXG4gIGlmICghb3B0aW9ucy53YXRjaClcbiAgICBhd2FpdCBzZXJ2ZXIuY2xvc2UoKVxuXG4gIHNlcnZlci53YXRjaGVyLm9uKCdjaGFuZ2UnLCBhc3luYyhldmVudE5hbWUsIHBhdGgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKGRpbShgWyR7ZXZlbnROYW1lfV0gJHtwYXRofWApKVxuXG4gICAgLy8gaW52YWxpZGF0ZSBtb2R1bGUgY2FjaGUgYnV0IG5vdCBub2RlX21vZHVsZXNcbiAgICBBcnJheS5mcm9tKHJ1bm5lci5tb2R1bGVDYWNoZS5rZXlzKCkpXG4gICAgICAuZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICBpZiAoIWkuaW5jbHVkZXMoJ25vZGVfbW9kdWxlcycpKVxuICAgICAgICAgIHJ1bm5lci5tb2R1bGVDYWNoZS5kZWxldGUoaSlcbiAgICAgIH0pXG5cbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpXG4gICAgICBhd2FpdCBydW5uZXIuZXhlY3V0ZUZpbGUoZmlsZSlcbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJtaW5pbWlzdCIsInJlZCIsImRpbSIsInNlcnZlciIsImNyZWF0ZVNlcnZlciIsIlZpdGVOb2RlU2VydmVyIiwiVml0ZU5vZGVSdW5uZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxNQUFNLElBQU8sR0FBQUEsNEJBQUEsQ0FBUyxPQUFRLENBQUEsSUFBQSxDQUFLLE1BQU0sQ0FBSSxDQUFBLEVBQUE7QUFBQSxFQUMzQyxPQUFTLEVBQUE7QUFBQSxJQUNQLENBQUcsRUFBQSxNQUFBO0FBQUEsSUFDSCxDQUFHLEVBQUEsUUFBQTtBQUFBLElBQ0gsQ0FBRyxFQUFBLE1BQUE7QUFBQSxJQUNILENBQUcsRUFBQSxPQUFBO0FBQUEsSUFDSCxDQUFHLEVBQUEsUUFBQTtBQUFBLEdBQUE7QUFBQSxFQUVMLElBQU0sRUFBQSxJQUFBO0FBQUEsRUFDTixRQUFBLEVBQVUsQ0FBQyxNQUFRLEVBQUEsUUFBQSxDQUFBO0FBQUEsRUFDbkIsU0FBQSxFQUFXLENBQUMsTUFBQSxFQUFRLE9BQVMsRUFBQSxRQUFBLENBQUE7QUFBQSxFQUM3QixRQUFRLElBQWMsRUFBQTtBQUNwQixJQUFJLElBQUEsSUFBQSxDQUFLLE9BQU8sR0FBSyxFQUFBO0FBQ25CLE1BQVEsT0FBQSxDQUFBLEtBQUEsQ0FBTUMsYUFBSSxDQUFxQixrQkFBQSxFQUFBLElBQUEsQ0FBQSxDQUFBLENBQUEsQ0FBQSxDQUFBO0FBQ3ZDLE1BQUEsSUFBQSxFQUFBLENBQUE7QUFDQSxNQUFBLE9BQUEsQ0FBUSxJQUFLLENBQUEsQ0FBQSxDQUFBLENBQUE7QUFBQSxLQUFBO0FBRWYsSUFBTyxPQUFB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
99
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWluaW1pc3QgZnJvbSAnbWluaW1pc3QnXG5pbXBvcnQgeyBkaW0sIHJlZCB9IGZyb20gJ2tvbG9yaXN0J1xuaW1wb3J0IHsgY3JlYXRlU2VydmVyIH0gZnJvbSAndml0ZSdcbmltcG9ydCB7IFZpdGVOb2RlU2VydmVyIH0gZnJvbSAnLi9zZXJ2ZXInXG5pbXBvcnQgeyBWaXRlTm9kZVJ1bm5lciB9IGZyb20gJy4vY2xpZW50J1xuXG5jb25zdCBhcmd2ID0gbWluaW1pc3QocHJvY2Vzcy5hcmd2LnNsaWNlKDIpLCB7XG4gICdhbGlhcyc6IHtcbiAgICByOiAncm9vdCcsXG4gICAgYzogJ2NvbmZpZycsXG4gICAgaDogJ2hlbHAnLFxuICAgIHc6ICd3YXRjaCcsXG4gICAgczogJ3NpbGVudCcsXG4gIH0sXG4gICctLSc6IHRydWUsXG4gICdzdHJpbmcnOiBbJ3Jvb3QnLCAnY29uZmlnJ10sXG4gICdib29sZWFuJzogWydoZWxwJywgJ3dhdGNoJywgJ3NpbGVudCddLFxuICB1bmtub3duKG5hbWU6IHN0cmluZykge1xuICAgIGlmIChuYW1lWzBdID09PSAnLScpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IocmVkKGBVbmtub3duIGFyZ3VtZW50OiAke25hbWV9YCkpXG4gICAgICBoZWxwKClcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9LFxufSlcblxuaWYgKGFyZ3YuaGVscCkge1xuICBoZWxwKClcbiAgcHJvY2Vzcy5leGl0KDApXG59XG5cbmlmICghYXJndi5fLmxlbmd0aCkge1xuICBjb25zb2xlLmVycm9yKHJlZCgnTm8gZmlsZXMgc3BlY2lmaWVkLicpKVxuICBoZWxwKClcbiAgcHJvY2Vzcy5leGl0KDEpXG59XG5cbi8vIGZvcndhcmQgYXJndlxucHJvY2Vzcy5hcmd2ID0gWy4uLnByb2Nlc3MuYXJndi5zbGljZSgwLCAyKSwgLi4uKGFyZ3ZbJy0tJ10gfHwgW10pXVxuXG5ydW4oYXJndilcblxuZnVuY3Rpb24gaGVscCgpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coYFxuVXNhZ2U6XG4gICQgdml0ZS1ub2RlIFtvcHRpb25zXSBbZmlsZXNdXG5cbk9wdGlvbnM6XG4gIC1yLCAtLXJvb3QgPHBhdGg+ICAgICAgJHtkaW0oJ1tzdHJpbmddJyl9IHVzZSBzcGVjaWZpZWQgcm9vdCBkaXJlY3RvcnlcbiAgLWMsIC0tY29uZmlnIDxmaWxlPiAgICAke2RpbSgnW3N0cmluZ10nKX0gdXNlIHNwZWNpZmllZCBjb25maWcgZmlsZVxuICAtdywgLS13YXRjaCAgICAgICAgICAgJHtkaW0oJ1tib29sZWFuXScpfSByZXN0YXJ0IG9uIGZpbGUgY2hhbmdlcywgc2ltaWxhciB0byBcIm5vZGVtb25cIlxuICAtcywgLS1zaWxlbnQgICAgICAgICAgJHtkaW0oJ1tib29sZWFuXScpfSBkbyBub3QgZW1pdCBlcnJvcnMgYW5kIGxvZ3NcbiAgLS12dWUgICAgICAgICAgICAgICAgICR7ZGltKCdbYm9vbGVhbl0nKX0gc3VwcG9ydCBmb3IgaW1wb3J0aW5nIFZ1ZSBjb21wb25lbnRcbmApXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpT3B0aW9ucyB7XG4gIGZpbGVzPzogc3RyaW5nW11cbiAgXz86IHN0cmluZ1tdXG4gIHJvb3Q/OiBzdHJpbmdcbiAgY29uZmlnPzogc3RyaW5nXG4gIHdhdGNoPzogYm9vbGVhblxufVxuXG5hc3luYyBmdW5jdGlvbiBydW4ob3B0aW9uczogQ2xpT3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IGZpbGVzID0gb3B0aW9ucy5maWxlcyB8fCBvcHRpb25zLl8gfHwgW11cbiAgY29uc3Qgc2VydmVyID0gYXdhaXQgY3JlYXRlU2VydmVyKHtcbiAgICBsb2dMZXZlbDogJ2Vycm9yJyxcbiAgICBjbGVhclNjcmVlbjogZmFsc2UsXG4gICAgY29uZmlnRmlsZTogb3B0aW9ucy5jb25maWcsXG4gICAgcm9vdDogb3B0aW9ucy5yb290LFxuICB9KVxuICBhd2FpdCBzZXJ2ZXIucGx1Z2luQ29udGFpbmVyLmJ1aWxkU3RhcnQoe30pXG5cbiAgY29uc3Qgbm9kZSA9IG5ldyBWaXRlTm9kZVNlcnZlcihzZXJ2ZXIpXG5cbiAgY29uc3QgcnVubmVyID0gbmV3IFZpdGVOb2RlUnVubmVyKHtcbiAgICByb290OiBzZXJ2ZXIuY29uZmlnLnJvb3QsXG4gICAgYmFzZTogc2VydmVyLmNvbmZpZy5iYXNlLFxuICAgIGZldGNoTW9kdWxlKGlkKSB7XG4gICAgICByZXR1cm4gbm9kZS5mZXRjaE1vZHVsZShpZClcbiAgICB9LFxuICAgIHJlc29sdmVJZChpZCwgaW1wb3J0ZXIpIHtcbiAgICAgIHJldHVybiBub2RlLnJlc29sdmVJZChpZCwgaW1wb3J0ZXIpXG4gICAgfSxcbiAgfSlcblxuICAvLyBwcm92aWRlIHRoZSB2aXRlIGRlZmluZSB2YXJpYWJsZSBpbiB0aGlzIGNvbnRleHRcbiAgYXdhaXQgcnVubmVyLmV4ZWN1dGVJZCgnL0B2aXRlL2VudicpXG5cbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKVxuICAgIGF3YWl0IHJ1bm5lci5leGVjdXRlRmlsZShmaWxlKVxuXG4gIGlmICghb3B0aW9ucy53YXRjaClcbiAgICBhd2FpdCBzZXJ2ZXIuY2xvc2UoKVxuXG4gIHNlcnZlci53YXRjaGVyLm9uKCdjaGFuZ2UnLCBhc3luYyhldmVudE5hbWUsIHBhdGgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKGRpbShgWyR7ZXZlbnROYW1lfV0gJHtwYXRofWApKVxuXG4gICAgLy8gaW52YWxpZGF0ZSBtb2R1bGUgY2FjaGUgYnV0IG5vdCBub2RlX21vZHVsZXNcbiAgICBBcnJheS5mcm9tKHJ1bm5lci5tb2R1bGVDYWNoZS5rZXlzKCkpXG4gICAgICAuZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICBpZiAoIWkuaW5jbHVkZXMoJ25vZGVfbW9kdWxlcycpKVxuICAgICAgICAgIHJ1bm5lci5tb2R1bGVDYWNoZS5kZWxldGUoaSlcbiAgICAgIH0pXG5cbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpXG4gICAgICBhd2FpdCBydW5uZXIuZXhlY3V0ZUZpbGUoZmlsZSlcbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJtaW5pbWlzdCIsInJlZCIsImRpbSIsInNlcnZlciIsImNyZWF0ZVNlcnZlciIsIlZpdGVOb2RlU2VydmVyIiwiVml0ZU5vZGVSdW5uZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxNQUFNLE9BQU9BLDRCQUFTLENBQUEsT0FBQSxDQUFRLElBQUssQ0FBQSxLQUFBLENBQU0sQ0FBQyxDQUFHLEVBQUE7QUFBQSxFQUMzQyxPQUFTLEVBQUE7QUFBQSxJQUNQLENBQUcsRUFBQSxNQUFBO0FBQUEsSUFDSCxDQUFHLEVBQUEsUUFBQTtBQUFBLElBQ0gsQ0FBRyxFQUFBLE1BQUE7QUFBQSxJQUNILENBQUcsRUFBQSxPQUFBO0FBQUEsSUFDSCxDQUFHLEVBQUEsUUFBQTtBQUFBLEdBQ0w7QUFBQSxFQUNBLElBQU0sRUFBQSxJQUFBO0FBQUEsRUFDTixRQUFBLEVBQVUsQ0FBQyxNQUFBLEVBQVEsUUFBUSxDQUFBO0FBQUEsRUFDM0IsU0FBVyxFQUFBLENBQUMsTUFBUSxFQUFBLE9BQUEsRUFBUyxRQUFRLENBQUE7QUFBQSxFQUNyQyxRQUFRLElBQWMsRUFBQTtBQUNwQixJQUFJLElBQUEsSUFBQSxDQUFLLE9BQU8sR0FBSyxFQUFBO0FBQ25CLE1BQUEsT0FBQSxDQUFRLEtBQU0sQ0FBQUMsWUFBQSxDQUFJLENBQXFCLGtCQUFBLEVBQUEsSUFBQSxDQUFBLENBQU0sQ0FBQyxDQUFBLENBQUE7QUFDOUMsTUFBSyxJQUFBLEVBQUEsQ0FBQTtBQUNMLE1BQUEsT0FBQSxDQUFRLEtBQUssQ0FBQyxDQUFBLENBQUE7QUFBQSxLQUNoQjtBQUNBLElBQU8sT0FB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
package/dist/client.cjs CHANGED
@@ -56,7 +56,7 @@ const DEFAULT_REQUEST_STUBS = {
56
56
  };
57
57
  class ModuleCacheMap extends Map {
58
58
  normalizePath(fsPath) {
59
- return fsPath.replace(/\\/g, "/").replace(/^\/@fs\//, "/").replace(/^file:\//, "/").replace(/^\/+/, "/");
59
+ return utils.normalizeModuleId(fsPath);
60
60
  }
61
61
  set(fsPath, mod) {
62
62
  fsPath = this.normalizePath(fsPath);
@@ -89,7 +89,7 @@ class ViteNodeRunner {
89
89
  }
90
90
  async cachedRequest(rawId, callstack) {
91
91
  var _a, _b;
92
- const id = utils.normalizeId(rawId, this.options.base);
92
+ const id = utils.normalizeRequestId(rawId, this.options.base);
93
93
  const fsPath = utils.toFilePath(id, this.root);
94
94
  if ((_a = this.moduleCache.get(fsPath)) == null ? void 0 : _a.promise)
95
95
  return (_b = this.moduleCache.get(fsPath)) == null ? void 0 : _b.promise;
@@ -98,19 +98,20 @@ class ViteNodeRunner {
98
98
  return await promise;
99
99
  }
100
100
  async directRequest(id, fsPath, callstack) {
101
- callstack = [...callstack, id];
101
+ callstack = [...callstack, utils.normalizeModuleId(id)];
102
102
  const request = async (dep) => {
103
103
  var _a, _b;
104
104
  if (this.options.resolveId && this.shouldResolveId(dep)) {
105
105
  const resolvedDep = await this.options.resolveId(dep, id);
106
106
  dep = ((_a = resolvedDep == null ? void 0 : resolvedDep.id) == null ? void 0 : _a.replace(this.root, "")) || dep;
107
107
  }
108
- if (callstack.includes(dep)) {
109
- if (!((_b = this.moduleCache.get(dep)) == null ? void 0 : _b.exports))
110
- throw new Error(`[vite-node] Circular dependency detected
108
+ if (callstack.includes(utils.normalizeModuleId(dep))) {
109
+ const depExports = (_b = this.moduleCache.get(dep)) == null ? void 0 : _b.exports;
110
+ if (depExports)
111
+ return depExports;
112
+ throw new Error(`[vite-node] Circular dependency detected
111
113
  Stack:
112
114
  ${[...callstack, dep].reverse().map((p) => `- ${p}`).join("\n")}`);
113
- return this.moduleCache.get(dep).exports;
114
115
  }
115
116
  return this.cachedRequest(dep, callstack);
116
117
  };
@@ -126,7 +127,7 @@ ${[...callstack, dep].reverse().map((p) => `- ${p}`).join("\n")}`);
126
127
  if (transformed == null)
127
128
  throw new Error(`[vite-node] Failed to load ${id}`);
128
129
  const url$1 = url.pathToFileURL(fsPath).href;
129
- const exports = Object.create(null);
130
+ const exports = /* @__PURE__ */ Object.create(null);
130
131
  exports[Symbol.toStringTag] = "Module";
131
132
  this.moduleCache.set(id, { code: transformed, exports });
132
133
  const __filename = url.fileURLToPath(url$1);
@@ -219,4 +220,4 @@ function exportAll(exports, sourceModule) {
219
220
  exports.DEFAULT_REQUEST_STUBS = DEFAULT_REQUEST_STUBS;
220
221
  exports.ModuleCacheMap = ModuleCacheMap;
221
222
  exports.ViteNodeRunner = ViteNodeRunner;
222
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbW9kdWxlJ1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ3VybCdcbmltcG9ydCB2bSBmcm9tICd2bSdcbmltcG9ydCB7IGRpcm5hbWUsIGV4dG5hbWUsIGlzQWJzb2x1dGUsIHJlc29sdmUgfSBmcm9tICdwYXRoZSdcbmltcG9ydCB7IGlzTm9kZUJ1aWx0aW4gfSBmcm9tICdtbGx5J1xuaW1wb3J0IHsgaXNQcmltaXRpdmUsIG5vcm1hbGl6ZUlkLCBzbGFzaCwgdG9GaWxlUGF0aCB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IE1vZHVsZUNhY2hlLCBWaXRlTm9kZVJ1bm5lck9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9SRVFVRVNUX1NUVUJTID0ge1xuICAnL0B2aXRlL2NsaWVudCc6IHtcbiAgICBpbmplY3RRdWVyeTogKGlkOiBzdHJpbmcpID0+IGlkLFxuICAgIGNyZWF0ZUhvdENvbnRleHQoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY2NlcHQ6ICgpID0+IHt9LFxuICAgICAgICBwcnVuZTogKCkgPT4ge30sXG4gICAgICAgIGRpc3Bvc2U6ICgpID0+IHt9LFxuICAgICAgICBkZWNsaW5lOiAoKSA9PiB7fSxcbiAgICAgICAgaW52YWxpZGF0ZTogKCkgPT4ge30sXG4gICAgICAgIG9uOiAoKSA9PiB7fSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHVwZGF0ZVN0eWxlKCkge30sXG4gIH0sXG59XG5cbmV4cG9ydCBjbGFzcyBNb2R1bGVDYWNoZU1hcCBleHRlbmRzIE1hcDxzdHJpbmcsIE1vZHVsZUNhY2hlPiB7XG4gIG5vcm1hbGl6ZVBhdGgoZnNQYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZnNQYXRoXG4gICAgICAucmVwbGFjZSgvXFxcXC9nLCAnLycpXG4gICAgICAucmVwbGFjZSgvXlxcL0Bmc1xcLy8sICcvJylcbiAgICAgIC5yZXBsYWNlKC9eZmlsZTpcXC8vLCAnLycpXG4gICAgICAucmVwbGFjZSgvXlxcLysvLCAnLycpXG4gIH1cblxuICBzZXQoZnNQYXRoOiBzdHJpbmcsIG1vZDogUGFydGlhbDxNb2R1bGVDYWNoZT4pIHtcbiAgICBmc1BhdGggPSB0aGlzLm5vcm1hbGl6ZVBhdGgoZnNQYXRoKVxuICAgIGlmICghc3VwZXIuaGFzKGZzUGF0aCkpXG4gICAgICBzdXBlci5zZXQoZnNQYXRoLCBtb2QpXG4gICAgZWxzZVxuICAgICAgT2JqZWN0LmFzc2lnbihzdXBlci5nZXQoZnNQYXRoKSwgbW9kKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBnZXQoZnNQYXRoOiBzdHJpbmcpIHtcbiAgICBmc1BhdGggPSB0aGlzLm5vcm1hbGl6ZVBhdGgoZnNQYXRoKVxuICAgIHJldHVybiBzdXBlci5nZXQoZnNQYXRoKVxuICB9XG5cbiAgZGVsZXRlKGZzUGF0aDogc3RyaW5nKSB7XG4gICAgZnNQYXRoID0gdGhpcy5ub3JtYWxpemVQYXRoKGZzUGF0aClcbiAgICByZXR1cm4gc3VwZXIuZGVsZXRlKGZzUGF0aClcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVml0ZU5vZGVSdW5uZXIge1xuICByb290OiBzdHJpbmdcblxuICAvKipcbiAgICogSG9sZHMgdGhlIGNhY2hlIG9mIG1vZHVsZXNcbiAgICogS2V5cyBvZiB0aGUgbWFwIGFyZSBmaWxlcGF0aHMsIG9yIHBsYWluIHBhY2thZ2UgbmFtZXNcbiAgICovXG4gIG1vZHVsZUNhY2hlOiBNb2R1bGVDYWNoZU1hcFxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvcHRpb25zOiBWaXRlTm9kZVJ1bm5lck9wdGlvbnMpIHtcbiAgICB0aGlzLnJvb3QgPSBvcHRpb25zLnJvb3QgfHwgcHJvY2Vzcy5jd2QoKVxuICAgIHRoaXMubW9kdWxlQ2FjaGUgPSBvcHRpb25zLm1vZHVsZUNhY2hlIHx8IG5ldyBNb2R1bGVDYWNoZU1hcCgpXG4gIH1cblxuICBhc3luYyBleGVjdXRlRmlsZShmaWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jYWNoZWRSZXF1ZXN0KGAvQGZzLyR7c2xhc2gocmVzb2x2ZShmaWxlKSl9YCwgW10pXG4gIH1cblxuICBhc3luYyBleGVjdXRlSWQoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNhY2hlZFJlcXVlc3QoaWQsIFtdKVxuICB9XG5cbiAgYXN5bmMgY2FjaGVkUmVxdWVzdChyYXdJZDogc3RyaW5nLCBjYWxsc3RhY2s6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgaWQgPSBub3JtYWxpemVJZChyYXdJZCwgdGhpcy5vcHRpb25zLmJhc2UpXG4gICAgY29uc3QgZnNQYXRoID0gdG9GaWxlUGF0aChpZCwgdGhpcy5yb290KVxuXG4gICAgaWYgKHRoaXMubW9kdWxlQ2FjaGUuZ2V0KGZzUGF0aCk/LnByb21pc2UpXG4gICAgICByZXR1cm4gdGhpcy5tb2R1bGVDYWNoZS5nZXQoZnNQYXRoKT8ucHJvbWlzZVxuXG4gICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuZGlyZWN0UmVxdWVzdChpZCwgZnNQYXRoLCBjYWxsc3RhY2spXG4gICAgdGhpcy5tb2R1bGVDYWNoZS5zZXQoZnNQYXRoLCB7IHByb21pc2UgfSlcblxuICAgIHJldHVybiBhd2FpdCBwcm9taXNlXG4gIH1cblxuICBhc3luYyBkaXJlY3RSZXF1ZXN0KGlkOiBzdHJpbmcsIGZzUGF0aDogc3RyaW5nLCBjYWxsc3RhY2s6IHN0cmluZ1tdKSB7XG4gICAgY2FsbHN0YWNrID0gWy4uLmNhbGxzdGFjaywgaWRdXG4gICAgY29uc3QgcmVxdWVzdCA9IGFzeW5jKGRlcDogc3RyaW5nKSA9PiB7XG4gICAgICAvLyBwcm9iYWJseSBtZWFucyBpdCB3YXMgcGFzc2VkIGFzIHZhcmlhYmxlXG4gICAgICAvLyBhbmQgd2Fzbid0IHRyYW5zZm9ybWVkIGJ5IFZpdGVcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMucmVzb2x2ZUlkICYmIHRoaXMuc2hvdWxkUmVzb2x2ZUlkKGRlcCkpIHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWREZXAgPSBhd2FpdCB0aGlzLm9wdGlvbnMucmVzb2x2ZUlkKGRlcCwgaWQpXG4gICAgICAgIGRlcCA9IHJlc29sdmVkRGVwPy5pZD8ucmVwbGFjZSh0aGlzLnJvb3QsICcnKSB8fCBkZXBcbiAgICAgIH1cblxuICAgICAgaWYgKGNhbGxzdGFjay5pbmNsdWRlcyhkZXApKSB7XG4gICAgICAgIGlmICghdGhpcy5tb2R1bGVDYWNoZS5nZXQoZGVwKT8uZXhwb3J0cylcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFt2aXRlLW5vZGVdIENpcmN1bGFyIGRlcGVuZGVuY3kgZGV0ZWN0ZWRcXG5TdGFjazpcXG4ke1suLi5jYWxsc3RhY2ssIGRlcF0ucmV2ZXJzZSgpLm1hcChwID0+IGAtICR7cH1gKS5qb2luKCdcXG4nKX1gKVxuICAgICAgICByZXR1cm4gdGhpcy5tb2R1bGVDYWNoZS5nZXQoZGVwKSEuZXhwb3J0c1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkUmVxdWVzdChkZXAsIGNhbGxzdGFjaylcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0U3R1YnMgPSB0aGlzLm9wdGlvbnMucmVxdWVzdFN0dWJzIHx8IERFRkFVTFRfUkVRVUVTVF9TVFVCU1xuICAgIGlmIChpZCBpbiByZXF1ZXN0U3R1YnMpXG4gICAgICByZXR1cm4gcmVxdWVzdFN0dWJzW2lkXVxuXG4gICAgY29uc3QgeyBjb2RlOiB0cmFuc2Zvcm1lZCwgZXh0ZXJuYWxpemUgfSA9IGF3YWl0IHRoaXMub3B0aW9ucy5mZXRjaE1vZHVsZShpZClcbiAgICBpZiAoZXh0ZXJuYWxpemUpIHtcbiAgICAgIGNvbnN0IG1vZCA9IGF3YWl0IHRoaXMuaW50ZXJvcGVkSW1wb3J0KGV4dGVybmFsaXplKVxuICAgICAgdGhpcy5tb2R1bGVDYWNoZS5zZXQoZnNQYXRoLCB7IGV4cG9ydHM6IG1vZCB9KVxuICAgICAgcmV0dXJuIG1vZFxuICAgIH1cblxuICAgIGlmICh0cmFuc2Zvcm1lZCA9PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBbdml0ZS1ub2RlXSBGYWlsZWQgdG8gbG9hZCAke2lkfWApXG5cbiAgICAvLyBkaXNhbWJpZ3VhdGUgdGhlIGA8VU5JVD46L2Agb24gd2luZG93czogc2VlIG5vZGVqcy9ub2RlIzMxNzEwXG4gICAgY29uc3QgdXJsID0gcGF0aFRvRmlsZVVSTChmc1BhdGgpLmhyZWZcbiAgICBjb25zdCBleHBvcnRzOiBhbnkgPSBPYmplY3QuY3JlYXRlKG51bGwpXG4gICAgZXhwb3J0c1tTeW1ib2wudG9TdHJpbmdUYWddID0gJ01vZHVsZSdcblxuICAgIHRoaXMubW9kdWxlQ2FjaGUuc2V0KGlkLCB7IGNvZGU6IHRyYW5zZm9ybWVkLCBleHBvcnRzIH0pXG5cbiAgICBjb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aCh1cmwpXG4gICAgY29uc3QgbW9kdWxlUHJveHkgPSB7XG4gICAgICBzZXQgZXhwb3J0cyh2YWx1ZSkge1xuICAgICAgICBleHBvcnRBbGwoZXhwb3J0cywgdmFsdWUpXG4gICAgICAgIGV4cG9ydHMuZGVmYXVsdCA9IHZhbHVlXG4gICAgICB9LFxuICAgICAgZ2V0IGV4cG9ydHMoKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLmRlZmF1bHRcbiAgICAgIH0sXG4gICAgfVxuXG4gICAgLy8gQmUgY2FyZWZ1bCB3aGVuIGNoYW5naW5nIHRoaXNcbiAgICAvLyBjaGFuZ2luZyBjb250ZXh0IHdpbGwgY2hhbmdlIGFtb3VudCBvZiBjb2RlIGFkZGVkIG9uIGxpbmUgOjExNCAodm0ucnVuSW5UaGlzQ29udGV4dClcbiAgICAvLyB0aGlzIG1lc3NlcyB1cCBzb3VyY2VtYXBzIGZvciBjb3ZlcmFnZVxuICAgIC8vIGFkanVzdCBgb2Zmc2V0YCB2YXJpYWJsZSBpbiBwYWNrYWdlcy92aXRlc3Qvc3JjL2ludGVncmF0aW9ucy9jb3ZlcmFnZS50cyNMMTAwIGlmIHlvdSBkbyBjaGFuZ2UgdGhpc1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnByZXBhcmVDb250ZXh0KHtcbiAgICAgIC8vIGVzbSB0cmFuc2Zvcm1lZCBieSBWaXRlXG4gICAgICBfX3ZpdGVfc3NyX2ltcG9ydF9fOiByZXF1ZXN0LFxuICAgICAgX192aXRlX3Nzcl9keW5hbWljX2ltcG9ydF9fOiByZXF1ZXN0LFxuICAgICAgX192aXRlX3Nzcl9leHBvcnRzX186IGV4cG9ydHMsXG4gICAgICBfX3ZpdGVfc3NyX2V4cG9ydEFsbF9fOiAob2JqOiBhbnkpID0+IGV4cG9ydEFsbChleHBvcnRzLCBvYmopLFxuICAgICAgX192aXRlX3Nzcl9pbXBvcnRfbWV0YV9fOiB7IHVybCB9LFxuXG4gICAgICAvLyBjanMgY29tcGFjdFxuICAgICAgcmVxdWlyZTogY3JlYXRlUmVxdWlyZSh1cmwpLFxuICAgICAgZXhwb3J0cyxcbiAgICAgIG1vZHVsZTogbW9kdWxlUHJveHksXG4gICAgICBfX2ZpbGVuYW1lLFxuICAgICAgX19kaXJuYW1lOiBkaXJuYW1lKF9fZmlsZW5hbWUpLFxuICAgIH0pXG5cbiAgICAvLyBhZGQgJ3VzZSBzdHJpY3QnIHNpbmNlIEVTTSBlbmFibGVzIGl0IGJ5IGRlZmF1bHRcbiAgICBjb25zdCBmbiA9IHZtLnJ1bkluVGhpc0NvbnRleHQoYCd1c2Ugc3RyaWN0Jzthc3luYyAoJHtPYmplY3Qua2V5cyhjb250ZXh0KS5qb2luKCcsJyl9KT0+e3ske3RyYW5zZm9ybWVkfVxcbn19YCwge1xuICAgICAgZmlsZW5hbWU6IGZzUGF0aCxcbiAgICAgIGxpbmVPZmZzZXQ6IDAsXG4gICAgfSlcblxuICAgIGF3YWl0IGZuKC4uLk9iamVjdC52YWx1ZXMoY29udGV4dCkpXG5cbiAgICByZXR1cm4gZXhwb3J0c1xuICB9XG5cbiAgcHJlcGFyZUNvbnRleHQoY29udGV4dDogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHJldHVybiBjb250ZXh0XG4gIH1cblxuICBzaG91bGRSZXNvbHZlSWQoZGVwOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNOb2RlQnVpbHRpbihkZXApIHx8IGRlcCBpbiAodGhpcy5vcHRpb25zLnJlcXVlc3RTdHVicyB8fCBERUZBVUxUX1JFUVVFU1RfU1RVQlMpKVxuICAgICAgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gIWlzQWJzb2x1dGUoZGVwKSB8fCAhZXh0bmFtZShkZXApXG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGlmIGEgbW9kdWxlIHNob3VsZCBiZSBpbnRlcm9wLWVkXG4gICAqIFRoaXMgZnVuY3Rpb24gbW9zdGx5IGZvciB0aGUgYWJpbGl0eSB0byBvdmVycmlkZSBieSBzdWJjbGFzc1xuICAgKi9cbiAgc2hvdWxkSW50ZXJvcChwYXRoOiBzdHJpbmcsIG1vZDogYW55KSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5pbnRlcm9wRGVmYXVsdCA9PT0gZmFsc2UpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICAvLyBuZXZlciBpbnRlcm9wIEVTTSBtb2R1bGVzXG4gICAgLy8gVE9ETzogc2hvdWxkIGFsc28gc2tpcCBmb3IgYC5qc2Agd2l0aCBgdHlwZT1cIm1vZHVsZVwiYFxuICAgIHJldHVybiAhcGF0aC5lbmRzV2l0aCgnLm1qcycpICYmICdkZWZhdWx0JyBpbiBtb2RcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYSBtb2R1bGUgYW5kIGludGVyb3AgaXRcbiAgICovXG4gIGFzeW5jIGludGVyb3BlZEltcG9ydChwYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtb2QgPSBhd2FpdCBpbXBvcnQocGF0aClcblxuICAgIGlmICh0aGlzLnNob3VsZEludGVyb3AocGF0aCwgbW9kKSkge1xuICAgICAgY29uc3QgdHJ5RGVmYXVsdCA9IHRoaXMuaGFzTmVzdGVkRGVmYXVsdChtb2QpXG4gICAgICByZXR1cm4gbmV3IFByb3h5KG1vZCwge1xuICAgICAgICBnZXQ6IHByb3h5TWV0aG9kKCdnZXQnLCB0cnlEZWZhdWx0KSxcbiAgICAgICAgc2V0OiBwcm94eU1ldGhvZCgnc2V0JywgdHJ5RGVmYXVsdCksXG4gICAgICAgIGhhczogcHJveHlNZXRob2QoJ2hhcycsIHRyeURlZmF1bHQpLFxuICAgICAgICBkZWxldGVQcm9wZXJ0eTogcHJveHlNZXRob2QoJ2RlbGV0ZVByb3BlcnR5JywgdHJ5RGVmYXVsdCksXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiBtb2RcbiAgfVxuXG4gIGhhc05lc3RlZERlZmF1bHQodGFyZ2V0OiBhbnkpIHtcbiAgICByZXR1cm4gJ19fZXNNb2R1bGUnIGluIHRhcmdldCAmJiB0YXJnZXQuX19lc01vZHVsZSAmJiAnZGVmYXVsdCcgaW4gdGFyZ2V0LmRlZmF1bHRcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm94eU1ldGhvZChuYW1lOiAnZ2V0JyB8ICdzZXQnIHwgJ2hhcycgfCAnZGVsZXRlUHJvcGVydHknLCB0cnlEZWZhdWx0OiBib29sZWFuKSB7XG4gIHJldHVybiBmdW5jdGlvbih0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIC4uLmFyZ3M6IFthbnk/LCBhbnk/XSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IFJlZmxlY3RbbmFtZV0odGFyZ2V0LCBrZXksIC4uLmFyZ3MpXG4gICAgaWYgKGlzUHJpbWl0aXZlKHRhcmdldC5kZWZhdWx0KSlcbiAgICAgIHJldHVybiByZXN1bHRcbiAgICBpZiAoKHRyeURlZmF1bHQgJiYga2V5ID09PSAnZGVmYXVsdCcpIHx8IHR5cGVvZiByZXN1bHQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgcmV0dXJuIFJlZmxlY3RbbmFtZV0odGFyZ2V0LmRlZmF1bHQsIGtleSwgLi4uYXJncylcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cblxuZnVuY3Rpb24gZXhwb3J0QWxsKGV4cG9ydHM6IGFueSwgc291cmNlTW9kdWxlOiBhbnkpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gIGZvciAoY29uc3Qga2V5IGluIHNvdXJjZU1vZHVsZSkge1xuICAgIGlmIChrZXkgIT09ICdkZWZhdWx0Jykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwge1xuICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGdldCgpIHsgcmV0dXJuIHNvdXJjZU1vZHVsZVtrZXldIH0sXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICBjYXRjaCAoX2VycikgeyB9XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsic2xhc2giLCJyZXNvbHZlIiwibm9ybWFsaXplSWQiLCJ0b0ZpbGVQYXRoIiwidXJsIiwicGF0aFRvRmlsZVVSTCIsImZpbGVVUkxUb1BhdGgiLCJjcmVhdGVSZXF1aXJlIiwiZGlybmFtZSIsInZtIiwiaXNOb2RlQnVpbHRpbiIsImlzQWJzb2x1dGUiLCJleHRuYW1lIiwiaXNQcmltaXRpdmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFPLE1BQU0scUJBQXdCLEdBQUE7QUFBQSxFQUNuQyxlQUFpQixFQUFBO0FBQUEsSUFDZixXQUFBLEVBQWEsQ0FBQyxFQUFlLEtBQUEsRUFBQTtBQUFBLElBQzdCLGdCQUFtQixHQUFBO0FBQ2pCLE1BQU8sT0FBQTtBQUFBLFFBQ0wsUUFBUSxNQUFNO0FBQUEsU0FBQTtBQUFBLFFBQ2QsT0FBTyxNQUFNO0FBQUEsU0FBQTtBQUFBLFFBQ2IsU0FBUyxNQUFNO0FBQUEsU0FBQTtBQUFBLFFBQ2YsU0FBUyxNQUFNO0FBQUEsU0FBQTtBQUFBLFFBQ2YsWUFBWSxNQUFNO0FBQUEsU0FBQTtBQUFBLFFBQ2xCLElBQUksTUFBTTtBQUFBLFNBQUE7QUFBQSxPQUFBLENBQUE7QUFBQSxLQUFBO0FBQUEsSUFHZCxXQUFjLEdBQUE7QUFBQSxLQUFBO0FBQUEsR0FB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
223
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbW9kdWxlJ1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ3VybCdcbmltcG9ydCB2bSBmcm9tICd2bSdcbmltcG9ydCB7IGRpcm5hbWUsIGV4dG5hbWUsIGlzQWJzb2x1dGUsIHJlc29sdmUgfSBmcm9tICdwYXRoZSdcbmltcG9ydCB7IGlzTm9kZUJ1aWx0aW4gfSBmcm9tICdtbGx5J1xuaW1wb3J0IHsgaXNQcmltaXRpdmUsIG5vcm1hbGl6ZU1vZHVsZUlkLCBub3JtYWxpemVSZXF1ZXN0SWQsIHNsYXNoLCB0b0ZpbGVQYXRoIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB0eXBlIHsgTW9kdWxlQ2FjaGUsIFZpdGVOb2RlUnVubmVyT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1JFUVVFU1RfU1RVQlMgPSB7XG4gICcvQHZpdGUvY2xpZW50Jzoge1xuICAgIGluamVjdFF1ZXJ5OiAoaWQ6IHN0cmluZykgPT4gaWQsXG4gICAgY3JlYXRlSG90Q29udGV4dCgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFjY2VwdDogKCkgPT4ge30sXG4gICAgICAgIHBydW5lOiAoKSA9PiB7fSxcbiAgICAgICAgZGlzcG9zZTogKCkgPT4ge30sXG4gICAgICAgIGRlY2xpbmU6ICgpID0+IHt9LFxuICAgICAgICBpbnZhbGlkYXRlOiAoKSA9PiB7fSxcbiAgICAgICAgb246ICgpID0+IHt9LFxuICAgICAgfVxuICAgIH0sXG4gICAgdXBkYXRlU3R5bGUoKSB7fSxcbiAgfSxcbn1cblxuZXhwb3J0IGNsYXNzIE1vZHVsZUNhY2hlTWFwIGV4dGVuZHMgTWFwPHN0cmluZywgTW9kdWxlQ2FjaGU+IHtcbiAgbm9ybWFsaXplUGF0aChmc1BhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBub3JtYWxpemVNb2R1bGVJZChmc1BhdGgpXG4gIH1cblxuICBzZXQoZnNQYXRoOiBzdHJpbmcsIG1vZDogUGFydGlhbDxNb2R1bGVDYWNoZT4pIHtcbiAgICBmc1BhdGggPSB0aGlzLm5vcm1hbGl6ZVBhdGgoZnNQYXRoKVxuICAgIGlmICghc3VwZXIuaGFzKGZzUGF0aCkpXG4gICAgICBzdXBlci5zZXQoZnNQYXRoLCBtb2QpXG4gICAgZWxzZVxuICAgICAgT2JqZWN0LmFzc2lnbihzdXBlci5nZXQoZnNQYXRoKSwgbW9kKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBnZXQoZnNQYXRoOiBzdHJpbmcpIHtcbiAgICBmc1BhdGggPSB0aGlzLm5vcm1hbGl6ZVBhdGgoZnNQYXRoKVxuICAgIHJldHVybiBzdXBlci5nZXQoZnNQYXRoKVxuICB9XG5cbiAgZGVsZXRlKGZzUGF0aDogc3RyaW5nKSB7XG4gICAgZnNQYXRoID0gdGhpcy5ub3JtYWxpemVQYXRoKGZzUGF0aClcbiAgICByZXR1cm4gc3VwZXIuZGVsZXRlKGZzUGF0aClcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVml0ZU5vZGVSdW5uZXIge1xuICByb290OiBzdHJpbmdcblxuICAvKipcbiAgICogSG9sZHMgdGhlIGNhY2hlIG9mIG1vZHVsZXNcbiAgICogS2V5cyBvZiB0aGUgbWFwIGFyZSBmaWxlcGF0aHMsIG9yIHBsYWluIHBhY2thZ2UgbmFtZXNcbiAgICovXG4gIG1vZHVsZUNhY2hlOiBNb2R1bGVDYWNoZU1hcFxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvcHRpb25zOiBWaXRlTm9kZVJ1bm5lck9wdGlvbnMpIHtcbiAgICB0aGlzLnJvb3QgPSBvcHRpb25zLnJvb3QgfHwgcHJvY2Vzcy5jd2QoKVxuICAgIHRoaXMubW9kdWxlQ2FjaGUgPSBvcHRpb25zLm1vZHVsZUNhY2hlIHx8IG5ldyBNb2R1bGVDYWNoZU1hcCgpXG4gIH1cblxuICBhc3luYyBleGVjdXRlRmlsZShmaWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jYWNoZWRSZXF1ZXN0KGAvQGZzLyR7c2xhc2gocmVzb2x2ZShmaWxlKSl9YCwgW10pXG4gIH1cblxuICBhc3luYyBleGVjdXRlSWQoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNhY2hlZFJlcXVlc3QoaWQsIFtdKVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBhc3luYyBjYWNoZWRSZXF1ZXN0KHJhd0lkOiBzdHJpbmcsIGNhbGxzdGFjazogc3RyaW5nW10pIHtcbiAgICBjb25zdCBpZCA9IG5vcm1hbGl6ZVJlcXVlc3RJZChyYXdJZCwgdGhpcy5vcHRpb25zLmJhc2UpXG4gICAgY29uc3QgZnNQYXRoID0gdG9GaWxlUGF0aChpZCwgdGhpcy5yb290KVxuXG4gICAgaWYgKHRoaXMubW9kdWxlQ2FjaGUuZ2V0KGZzUGF0aCk/LnByb21pc2UpXG4gICAgICByZXR1cm4gdGhpcy5tb2R1bGVDYWNoZS5nZXQoZnNQYXRoKT8ucHJvbWlzZVxuXG4gICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuZGlyZWN0UmVxdWVzdChpZCwgZnNQYXRoLCBjYWxsc3RhY2spXG4gICAgdGhpcy5tb2R1bGVDYWNoZS5zZXQoZnNQYXRoLCB7IHByb21pc2UgfSlcblxuICAgIHJldHVybiBhd2FpdCBwcm9taXNlXG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIGFzeW5jIGRpcmVjdFJlcXVlc3QoaWQ6IHN0cmluZywgZnNQYXRoOiBzdHJpbmcsIGNhbGxzdGFjazogc3RyaW5nW10pIHtcbiAgICBjYWxsc3RhY2sgPSBbLi4uY2FsbHN0YWNrLCBub3JtYWxpemVNb2R1bGVJZChpZCldXG4gICAgY29uc3QgcmVxdWVzdCA9IGFzeW5jKGRlcDogc3RyaW5nKSA9PiB7XG4gICAgICAvLyBwcm9iYWJseSBtZWFucyBpdCB3YXMgcGFzc2VkIGFzIHZhcmlhYmxlXG4gICAgICAvLyBhbmQgd2Fzbid0IHRyYW5zZm9ybWVkIGJ5IFZpdGVcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMucmVzb2x2ZUlkICYmIHRoaXMuc2hvdWxkUmVzb2x2ZUlkKGRlcCkpIHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWREZXAgPSBhd2FpdCB0aGlzLm9wdGlvbnMucmVzb2x2ZUlkKGRlcCwgaWQpXG4gICAgICAgIGRlcCA9IHJlc29sdmVkRGVwPy5pZD8ucmVwbGFjZSh0aGlzLnJvb3QsICcnKSB8fCBkZXBcbiAgICAgIH1cblxuICAgICAgaWYgKGNhbGxzdGFjay5pbmNsdWRlcyhub3JtYWxpemVNb2R1bGVJZChkZXApKSkge1xuICAgICAgICBjb25zdCBkZXBFeHBvcnRzID0gdGhpcy5tb2R1bGVDYWNoZS5nZXQoZGVwKT8uZXhwb3J0c1xuICAgICAgICBpZiAoZGVwRXhwb3J0cylcbiAgICAgICAgICByZXR1cm4gZGVwRXhwb3J0c1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFt2aXRlLW5vZGVdIENpcmN1bGFyIGRlcGVuZGVuY3kgZGV0ZWN0ZWRcXG5TdGFjazpcXG4ke1suLi5jYWxsc3RhY2ssIGRlcF0ucmV2ZXJzZSgpLm1hcChwID0+IGAtICR7cH1gKS5qb2luKCdcXG4nKX1gKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkUmVxdWVzdChkZXAsIGNhbGxzdGFjaylcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0U3R1YnMgPSB0aGlzLm9wdGlvbnMucmVxdWVzdFN0dWJzIHx8IERFRkFVTFRfUkVRVUVTVF9TVFVCU1xuICAgIGlmIChpZCBpbiByZXF1ZXN0U3R1YnMpXG4gICAgICByZXR1cm4gcmVxdWVzdFN0dWJzW2lkXVxuXG4gICAgY29uc3QgeyBjb2RlOiB0cmFuc2Zvcm1lZCwgZXh0ZXJuYWxpemUgfSA9IGF3YWl0IHRoaXMub3B0aW9ucy5mZXRjaE1vZHVsZShpZClcbiAgICBpZiAoZXh0ZXJuYWxpemUpIHtcbiAgICAgIGNvbnN0IG1vZCA9IGF3YWl0IHRoaXMuaW50ZXJvcGVkSW1wb3J0KGV4dGVybmFsaXplKVxuICAgICAgdGhpcy5tb2R1bGVDYWNoZS5zZXQoZnNQYXRoLCB7IGV4cG9ydHM6IG1vZCB9KVxuICAgICAgcmV0dXJuIG1vZFxuICAgIH1cblxuICAgIGlmICh0cmFuc2Zvcm1lZCA9PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBbdml0ZS1ub2RlXSBGYWlsZWQgdG8gbG9hZCAke2lkfWApXG5cbiAgICAvLyBkaXNhbWJpZ3VhdGUgdGhlIGA8VU5JVD46L2Agb24gd2luZG93czogc2VlIG5vZGVqcy9ub2RlIzMxNzEwXG4gICAgY29uc3QgdXJsID0gcGF0aFRvRmlsZVVSTChmc1BhdGgpLmhyZWZcbiAgICBjb25zdCBleHBvcnRzOiBhbnkgPSBPYmplY3QuY3JlYXRlKG51bGwpXG4gICAgZXhwb3J0c1tTeW1ib2wudG9TdHJpbmdUYWddID0gJ01vZHVsZSdcblxuICAgIHRoaXMubW9kdWxlQ2FjaGUuc2V0KGlkLCB7IGNvZGU6IHRyYW5zZm9ybWVkLCBleHBvcnRzIH0pXG5cbiAgICBjb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aCh1cmwpXG4gICAgY29uc3QgbW9kdWxlUHJveHkgPSB7XG4gICAgICBzZXQgZXhwb3J0cyh2YWx1ZSkge1xuICAgICAgICBleHBvcnRBbGwoZXhwb3J0cywgdmFsdWUpXG4gICAgICAgIGV4cG9ydHMuZGVmYXVsdCA9IHZhbHVlXG4gICAgICB9LFxuICAgICAgZ2V0IGV4cG9ydHMoKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLmRlZmF1bHRcbiAgICAgIH0sXG4gICAgfVxuXG4gICAgLy8gQmUgY2FyZWZ1bCB3aGVuIGNoYW5naW5nIHRoaXNcbiAgICAvLyBjaGFuZ2luZyBjb250ZXh0IHdpbGwgY2hhbmdlIGFtb3VudCBvZiBjb2RlIGFkZGVkIG9uIGxpbmUgOjExNCAodm0ucnVuSW5UaGlzQ29udGV4dClcbiAgICAvLyB0aGlzIG1lc3NlcyB1cCBzb3VyY2VtYXBzIGZvciBjb3ZlcmFnZVxuICAgIC8vIGFkanVzdCBgb2Zmc2V0YCB2YXJpYWJsZSBpbiBwYWNrYWdlcy92aXRlc3Qvc3JjL2ludGVncmF0aW9ucy9jb3ZlcmFnZS50cyNMMTAwIGlmIHlvdSBkbyBjaGFuZ2UgdGhpc1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnByZXBhcmVDb250ZXh0KHtcbiAgICAgIC8vIGVzbSB0cmFuc2Zvcm1lZCBieSBWaXRlXG4gICAgICBfX3ZpdGVfc3NyX2ltcG9ydF9fOiByZXF1ZXN0LFxuICAgICAgX192aXRlX3Nzcl9keW5hbWljX2ltcG9ydF9fOiByZXF1ZXN0LFxuICAgICAgX192aXRlX3Nzcl9leHBvcnRzX186IGV4cG9ydHMsXG4gICAgICBfX3ZpdGVfc3NyX2V4cG9ydEFsbF9fOiAob2JqOiBhbnkpID0+IGV4cG9ydEFsbChleHBvcnRzLCBvYmopLFxuICAgICAgX192aXRlX3Nzcl9pbXBvcnRfbWV0YV9fOiB7IHVybCB9LFxuXG4gICAgICAvLyBjanMgY29tcGFjdFxuICAgICAgcmVxdWlyZTogY3JlYXRlUmVxdWlyZSh1cmwpLFxuICAgICAgZXhwb3J0cyxcbiAgICAgIG1vZHVsZTogbW9kdWxlUHJveHksXG4gICAgICBfX2ZpbGVuYW1lLFxuICAgICAgX19kaXJuYW1lOiBkaXJuYW1lKF9fZmlsZW5hbWUpLFxuICAgIH0pXG5cbiAgICAvLyBhZGQgJ3VzZSBzdHJpY3QnIHNpbmNlIEVTTSBlbmFibGVzIGl0IGJ5IGRlZmF1bHRcbiAgICBjb25zdCBmbiA9IHZtLnJ1bkluVGhpc0NvbnRleHQoYCd1c2Ugc3RyaWN0Jzthc3luYyAoJHtPYmplY3Qua2V5cyhjb250ZXh0KS5qb2luKCcsJyl9KT0+e3ske3RyYW5zZm9ybWVkfVxcbn19YCwge1xuICAgICAgZmlsZW5hbWU6IGZzUGF0aCxcbiAgICAgIGxpbmVPZmZzZXQ6IDAsXG4gICAgfSlcblxuICAgIGF3YWl0IGZuKC4uLk9iamVjdC52YWx1ZXMoY29udGV4dCkpXG5cbiAgICByZXR1cm4gZXhwb3J0c1xuICB9XG5cbiAgcHJlcGFyZUNvbnRleHQoY29udGV4dDogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHJldHVybiBjb250ZXh0XG4gIH1cblxuICBzaG91bGRSZXNvbHZlSWQoZGVwOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNOb2RlQnVpbHRpbihkZXApIHx8IGRlcCBpbiAodGhpcy5vcHRpb25zLnJlcXVlc3RTdHVicyB8fCBERUZBVUxUX1JFUVVFU1RfU1RVQlMpKVxuICAgICAgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gIWlzQWJzb2x1dGUoZGVwKSB8fCAhZXh0bmFtZShkZXApXG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGlmIGEgbW9kdWxlIHNob3VsZCBiZSBpbnRlcm9wLWVkXG4gICAqIFRoaXMgZnVuY3Rpb24gbW9zdGx5IGZvciB0aGUgYWJpbGl0eSB0byBvdmVycmlkZSBieSBzdWJjbGFzc1xuICAgKi9cbiAgc2hvdWxkSW50ZXJvcChwYXRoOiBzdHJpbmcsIG1vZDogYW55KSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5pbnRlcm9wRGVmYXVsdCA9PT0gZmFsc2UpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICAvLyBuZXZlciBpbnRlcm9wIEVTTSBtb2R1bGVzXG4gICAgLy8gVE9ETzogc2hvdWxkIGFsc28gc2tpcCBmb3IgYC5qc2Agd2l0aCBgdHlwZT1cIm1vZHVsZVwiYFxuICAgIHJldHVybiAhcGF0aC5lbmRzV2l0aCgnLm1qcycpICYmICdkZWZhdWx0JyBpbiBtb2RcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYSBtb2R1bGUgYW5kIGludGVyb3AgaXRcbiAgICovXG4gIGFzeW5jIGludGVyb3BlZEltcG9ydChwYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtb2QgPSBhd2FpdCBpbXBvcnQocGF0aClcblxuICAgIGlmICh0aGlzLnNob3VsZEludGVyb3AocGF0aCwgbW9kKSkge1xuICAgICAgY29uc3QgdHJ5RGVmYXVsdCA9IHRoaXMuaGFzTmVzdGVkRGVmYXVsdChtb2QpXG4gICAgICByZXR1cm4gbmV3IFByb3h5KG1vZCwge1xuICAgICAgICBnZXQ6IHByb3h5TWV0aG9kKCdnZXQnLCB0cnlEZWZhdWx0KSxcbiAgICAgICAgc2V0OiBwcm94eU1ldGhvZCgnc2V0JywgdHJ5RGVmYXVsdCksXG4gICAgICAgIGhhczogcHJveHlNZXRob2QoJ2hhcycsIHRyeURlZmF1bHQpLFxuICAgICAgICBkZWxldGVQcm9wZXJ0eTogcHJveHlNZXRob2QoJ2RlbGV0ZVByb3BlcnR5JywgdHJ5RGVmYXVsdCksXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiBtb2RcbiAgfVxuXG4gIGhhc05lc3RlZERlZmF1bHQodGFyZ2V0OiBhbnkpIHtcbiAgICByZXR1cm4gJ19fZXNNb2R1bGUnIGluIHRhcmdldCAmJiB0YXJnZXQuX19lc01vZHVsZSAmJiAnZGVmYXVsdCcgaW4gdGFyZ2V0LmRlZmF1bHRcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm94eU1ldGhvZChuYW1lOiAnZ2V0JyB8ICdzZXQnIHwgJ2hhcycgfCAnZGVsZXRlUHJvcGVydHknLCB0cnlEZWZhdWx0OiBib29sZWFuKSB7XG4gIHJldHVybiBmdW5jdGlvbih0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIC4uLmFyZ3M6IFthbnk/LCBhbnk/XSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IFJlZmxlY3RbbmFtZV0odGFyZ2V0LCBrZXksIC4uLmFyZ3MpXG4gICAgaWYgKGlzUHJpbWl0aXZlKHRhcmdldC5kZWZhdWx0KSlcbiAgICAgIHJldHVybiByZXN1bHRcbiAgICBpZiAoKHRyeURlZmF1bHQgJiYga2V5ID09PSAnZGVmYXVsdCcpIHx8IHR5cGVvZiByZXN1bHQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgcmV0dXJuIFJlZmxlY3RbbmFtZV0odGFyZ2V0LmRlZmF1bHQsIGtleSwgLi4uYXJncylcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cblxuZnVuY3Rpb24gZXhwb3J0QWxsKGV4cG9ydHM6IGFueSwgc291cmNlTW9kdWxlOiBhbnkpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gIGZvciAoY29uc3Qga2V5IGluIHNvdXJjZU1vZHVsZSkge1xuICAgIGlmIChrZXkgIT09ICdkZWZhdWx0Jykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwge1xuICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGdldCgpIHsgcmV0dXJuIHNvdXJjZU1vZHVsZVtrZXldIH0sXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICBjYXRjaCAoX2VycikgeyB9XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsibm9ybWFsaXplTW9kdWxlSWQiLCJzbGFzaCIsInJlc29sdmUiLCJub3JtYWxpemVSZXF1ZXN0SWQiLCJ0b0ZpbGVQYXRoIiwidXJsIiwicGF0aFRvRmlsZVVSTCIsImZpbGVVUkxUb1BhdGgiLCJjcmVhdGVSZXF1aXJlIiwiZGlybmFtZSIsInZtIiwiaXNOb2RlQnVpbHRpbiIsImlzQWJzb2x1dGUiLCJleHRuYW1lIiwiaXNQcmltaXRpdmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFPLE1BQU0scUJBQXdCLEdBQUE7QUFBQSxFQUNuQyxlQUFpQixFQUFBO0FBQUEsSUFDZixXQUFBLEVBQWEsQ0FBQyxFQUFlLEtBQUEsRUFBQTtBQUFBLElBQzdCLGdCQUFtQixHQUFBO0FBQ2pCLE1BQU8sT0FBQTtBQUFBLFFBQ0wsUUFBUSxNQUFNO0FBQUEsU0FBQztBQUFBLFFBQ2YsT0FBTyxNQUFNO0FBQUEsU0FBQztBQUFBLFFBQ2QsU0FBUyxNQUFNO0FBQUEsU0FBQztBQUFBLFFBQ2hCLFNBQVMsTUFBTTtBQUFBLFNBQUM7QUFBQSxRQUNoQixZQUFZLE1BQU07QUFBQSxTQUFDO0FBQUEsUUFDbkIsSUFBSSxNQUFNO0FBQUEsU0FBQztBQUFBLE9BQ2IsQ0FBQTtBQUFB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
package/dist/client.js CHANGED
@@ -3,7 +3,7 @@ import { pathToFileURL, fileURLToPath } from 'url';
3
3
  import vm from 'vm';
4
4
  import { resolve, dirname, isAbsolute, extname } from 'pathe';
5
5
  import { isNodeBuiltin } from 'mlly';
6
- import { slash, normalizeId, toFilePath, isPrimitive } from './utils.js';
6
+ import { normalizeModuleId, slash, normalizeRequestId, toFilePath, isPrimitive } from './utils.js';
7
7
 
8
8
  const DEFAULT_REQUEST_STUBS = {
9
9
  "/@vite/client": {
@@ -30,7 +30,7 @@ const DEFAULT_REQUEST_STUBS = {
30
30
  };
31
31
  class ModuleCacheMap extends Map {
32
32
  normalizePath(fsPath) {
33
- return fsPath.replace(/\\/g, "/").replace(/^\/@fs\//, "/").replace(/^file:\//, "/").replace(/^\/+/, "/");
33
+ return normalizeModuleId(fsPath);
34
34
  }
35
35
  set(fsPath, mod) {
36
36
  fsPath = this.normalizePath(fsPath);
@@ -63,7 +63,7 @@ class ViteNodeRunner {
63
63
  }
64
64
  async cachedRequest(rawId, callstack) {
65
65
  var _a, _b;
66
- const id = normalizeId(rawId, this.options.base);
66
+ const id = normalizeRequestId(rawId, this.options.base);
67
67
  const fsPath = toFilePath(id, this.root);
68
68
  if ((_a = this.moduleCache.get(fsPath)) == null ? void 0 : _a.promise)
69
69
  return (_b = this.moduleCache.get(fsPath)) == null ? void 0 : _b.promise;
@@ -72,19 +72,20 @@ class ViteNodeRunner {
72
72
  return await promise;
73
73
  }
74
74
  async directRequest(id, fsPath, callstack) {
75
- callstack = [...callstack, id];
75
+ callstack = [...callstack, normalizeModuleId(id)];
76
76
  const request = async (dep) => {
77
77
  var _a, _b;
78
78
  if (this.options.resolveId && this.shouldResolveId(dep)) {
79
79
  const resolvedDep = await this.options.resolveId(dep, id);
80
80
  dep = ((_a = resolvedDep == null ? void 0 : resolvedDep.id) == null ? void 0 : _a.replace(this.root, "")) || dep;
81
81
  }
82
- if (callstack.includes(dep)) {
83
- if (!((_b = this.moduleCache.get(dep)) == null ? void 0 : _b.exports))
84
- throw new Error(`[vite-node] Circular dependency detected
82
+ if (callstack.includes(normalizeModuleId(dep))) {
83
+ const depExports = (_b = this.moduleCache.get(dep)) == null ? void 0 : _b.exports;
84
+ if (depExports)
85
+ return depExports;
86
+ throw new Error(`[vite-node] Circular dependency detected
85
87
  Stack:
86
88
  ${[...callstack, dep].reverse().map((p) => `- ${p}`).join("\n")}`);
87
- return this.moduleCache.get(dep).exports;
88
89
  }
89
90
  return this.cachedRequest(dep, callstack);
90
91
  };
@@ -100,7 +101,7 @@ ${[...callstack, dep].reverse().map((p) => `- ${p}`).join("\n")}`);
100
101
  if (transformed == null)
101
102
  throw new Error(`[vite-node] Failed to load ${id}`);
102
103
  const url = pathToFileURL(fsPath).href;
103
- const exports = Object.create(null);
104
+ const exports = /* @__PURE__ */ Object.create(null);
104
105
  exports[Symbol.toStringTag] = "Module";
105
106
  this.moduleCache.set(id, { code: transformed, exports });
106
107
  const __filename = fileURLToPath(url);
@@ -191,4 +192,4 @@ function exportAll(exports, sourceModule) {
191
192
  }
192
193
 
193
194
  export { DEFAULT_REQUEST_STUBS, ModuleCacheMap, ViteNodeRunner };
194
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tICdtb2R1bGUnXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBwYXRoVG9GaWxlVVJMIH0gZnJvbSAndXJsJ1xuaW1wb3J0IHZtIGZyb20gJ3ZtJ1xuaW1wb3J0IHsgZGlybmFtZSwgZXh0bmFtZSwgaXNBYnNvbHV0ZSwgcmVzb2x2ZSB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHsgaXNOb2RlQnVpbHRpbiB9IGZyb20gJ21sbHknXG5pbXBvcnQgeyBpc1ByaW1pdGl2ZSwgbm9ybWFsaXplSWQsIHNsYXNoLCB0b0ZpbGVQYXRoIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB0eXBlIHsgTW9kdWxlQ2FjaGUsIFZpdGVOb2RlUnVubmVyT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1JFUVVFU1RfU1RVQlMgPSB7XG4gICcvQHZpdGUvY2xpZW50Jzoge1xuICAgIGluamVjdFF1ZXJ5OiAoaWQ6IHN0cmluZykgPT4gaWQsXG4gICAgY3JlYXRlSG90Q29udGV4dCgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFjY2VwdDogKCkgPT4ge30sXG4gICAgICAgIHBydW5lOiAoKSA9PiB7fSxcbiAgICAgICAgZGlzcG9zZTogKCkgPT4ge30sXG4gICAgICAgIGRlY2xpbmU6ICgpID0+IHt9LFxuICAgICAgICBpbnZhbGlkYXRlOiAoKSA9PiB7fSxcbiAgICAgICAgb246ICgpID0+IHt9LFxuICAgICAgfVxuICAgIH0sXG4gICAgdXBkYXRlU3R5bGUoKSB7fSxcbiAgfSxcbn1cblxuZXhwb3J0IGNsYXNzIE1vZHVsZUNhY2hlTWFwIGV4dGVuZHMgTWFwPHN0cmluZywgTW9kdWxlQ2FjaGU+IHtcbiAgbm9ybWFsaXplUGF0aChmc1BhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBmc1BhdGhcbiAgICAgIC5yZXBsYWNlKC9cXFxcL2csICcvJylcbiAgICAgIC5yZXBsYWNlKC9eXFwvQGZzXFwvLywgJy8nKVxuICAgICAgLnJlcGxhY2UoL15maWxlOlxcLy8sICcvJylcbiAgICAgIC5yZXBsYWNlKC9eXFwvKy8sICcvJylcbiAgfVxuXG4gIHNldChmc1BhdGg6IHN0cmluZywgbW9kOiBQYXJ0aWFsPE1vZHVsZUNhY2hlPikge1xuICAgIGZzUGF0aCA9IHRoaXMubm9ybWFsaXplUGF0aChmc1BhdGgpXG4gICAgaWYgKCFzdXBlci5oYXMoZnNQYXRoKSlcbiAgICAgIHN1cGVyLnNldChmc1BhdGgsIG1vZClcbiAgICBlbHNlXG4gICAgICBPYmplY3QuYXNzaWduKHN1cGVyLmdldChmc1BhdGgpLCBtb2QpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIGdldChmc1BhdGg6IHN0cmluZykge1xuICAgIGZzUGF0aCA9IHRoaXMubm9ybWFsaXplUGF0aChmc1BhdGgpXG4gICAgcmV0dXJuIHN1cGVyLmdldChmc1BhdGgpXG4gIH1cblxuICBkZWxldGUoZnNQYXRoOiBzdHJpbmcpIHtcbiAgICBmc1BhdGggPSB0aGlzLm5vcm1hbGl6ZVBhdGgoZnNQYXRoKVxuICAgIHJldHVybiBzdXBlci5kZWxldGUoZnNQYXRoKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBWaXRlTm9kZVJ1bm5lciB7XG4gIHJvb3Q6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBIb2xkcyB0aGUgY2FjaGUgb2YgbW9kdWxlc1xuICAgKiBLZXlzIG9mIHRoZSBtYXAgYXJlIGZpbGVwYXRocywgb3IgcGxhaW4gcGFja2FnZSBuYW1lc1xuICAgKi9cbiAgbW9kdWxlQ2FjaGU6IE1vZHVsZUNhY2hlTWFwXG5cbiAgY29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6IFZpdGVOb2RlUnVubmVyT3B0aW9ucykge1xuICAgIHRoaXMucm9vdCA9IG9wdGlvbnMucm9vdCB8fCBwcm9jZXNzLmN3ZCgpXG4gICAgdGhpcy5tb2R1bGVDYWNoZSA9IG9wdGlvbnMubW9kdWxlQ2FjaGUgfHwgbmV3IE1vZHVsZUNhY2hlTWFwKClcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGVGaWxlKGZpbGU6IHN0cmluZykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNhY2hlZFJlcXVlc3QoYC9AZnMvJHtzbGFzaChyZXNvbHZlKGZpbGUpKX1gLCBbXSlcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGVJZChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2FjaGVkUmVxdWVzdChpZCwgW10pXG4gIH1cblxuICBhc3luYyBjYWNoZWRSZXF1ZXN0KHJhd0lkOiBzdHJpbmcsIGNhbGxzdGFjazogc3RyaW5nW10pIHtcbiAgICBjb25zdCBpZCA9IG5vcm1hbGl6ZUlkKHJhd0lkLCB0aGlzLm9wdGlvbnMuYmFzZSlcbiAgICBjb25zdCBmc1BhdGggPSB0b0ZpbGVQYXRoKGlkLCB0aGlzLnJvb3QpXG5cbiAgICBpZiAodGhpcy5tb2R1bGVDYWNoZS5nZXQoZnNQYXRoKT8ucHJvbWlzZSlcbiAgICAgIHJldHVybiB0aGlzLm1vZHVsZUNhY2hlLmdldChmc1BhdGgpPy5wcm9taXNlXG5cbiAgICBjb25zdCBwcm9taXNlID0gdGhpcy5kaXJlY3RSZXF1ZXN0KGlkLCBmc1BhdGgsIGNhbGxzdGFjaylcbiAgICB0aGlzLm1vZHVsZUNhY2hlLnNldChmc1BhdGgsIHsgcHJvbWlzZSB9KVxuXG4gICAgcmV0dXJuIGF3YWl0IHByb21pc2VcbiAgfVxuXG4gIGFzeW5jIGRpcmVjdFJlcXVlc3QoaWQ6IHN0cmluZywgZnNQYXRoOiBzdHJpbmcsIGNhbGxzdGFjazogc3RyaW5nW10pIHtcbiAgICBjYWxsc3RhY2sgPSBbLi4uY2FsbHN0YWNrLCBpZF1cbiAgICBjb25zdCByZXF1ZXN0ID0gYXN5bmMoZGVwOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIHByb2JhYmx5IG1lYW5zIGl0IHdhcyBwYXNzZWQgYXMgdmFyaWFibGVcbiAgICAgIC8vIGFuZCB3YXNuJ3QgdHJhbnNmb3JtZWQgYnkgVml0ZVxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5yZXNvbHZlSWQgJiYgdGhpcy5zaG91bGRSZXNvbHZlSWQoZGVwKSkge1xuICAgICAgICBjb25zdCByZXNvbHZlZERlcCA9IGF3YWl0IHRoaXMub3B0aW9ucy5yZXNvbHZlSWQoZGVwLCBpZClcbiAgICAgICAgZGVwID0gcmVzb2x2ZWREZXA/LmlkPy5yZXBsYWNlKHRoaXMucm9vdCwgJycpIHx8IGRlcFxuICAgICAgfVxuXG4gICAgICBpZiAoY2FsbHN0YWNrLmluY2x1ZGVzKGRlcCkpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vZHVsZUNhY2hlLmdldChkZXApPy5leHBvcnRzKVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgW3ZpdGUtbm9kZV0gQ2lyY3VsYXIgZGVwZW5kZW5jeSBkZXRlY3RlZFxcblN0YWNrOlxcbiR7Wy4uLmNhbGxzdGFjaywgZGVwXS5yZXZlcnNlKCkubWFwKHAgPT4gYC0gJHtwfWApLmpvaW4oJ1xcbicpfWApXG4gICAgICAgIHJldHVybiB0aGlzLm1vZHVsZUNhY2hlLmdldChkZXApIS5leHBvcnRzXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZWRSZXF1ZXN0KGRlcCwgY2FsbHN0YWNrKVxuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3RTdHVicyA9IHRoaXMub3B0aW9ucy5yZXF1ZXN0U3R1YnMgfHwgREVGQVVMVF9SRVFVRVNUX1NUVUJTXG4gICAgaWYgKGlkIGluIHJlcXVlc3RTdHVicylcbiAgICAgIHJldHVybiByZXF1ZXN0U3R1YnNbaWRdXG5cbiAgICBjb25zdCB7IGNvZGU6IHRyYW5zZm9ybWVkLCBleHRlcm5hbGl6ZSB9ID0gYXdhaXQgdGhpcy5vcHRpb25zLmZldGNoTW9kdWxlKGlkKVxuICAgIGlmIChleHRlcm5hbGl6ZSkge1xuICAgICAgY29uc3QgbW9kID0gYXdhaXQgdGhpcy5pbnRlcm9wZWRJbXBvcnQoZXh0ZXJuYWxpemUpXG4gICAgICB0aGlzLm1vZHVsZUNhY2hlLnNldChmc1BhdGgsIHsgZXhwb3J0czogbW9kIH0pXG4gICAgICByZXR1cm4gbW9kXG4gICAgfVxuXG4gICAgaWYgKHRyYW5zZm9ybWVkID09IG51bGwpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFt2aXRlLW5vZGVdIEZhaWxlZCB0byBsb2FkICR7aWR9YClcblxuICAgIC8vIGRpc2FtYmlndWF0ZSB0aGUgYDxVTklUPjovYCBvbiB3aW5kb3dzOiBzZWUgbm9kZWpzL25vZGUjMzE3MTBcbiAgICBjb25zdCB1cmwgPSBwYXRoVG9GaWxlVVJMKGZzUGF0aCkuaHJlZlxuICAgIGNvbnN0IGV4cG9ydHM6IGFueSA9IE9iamVjdC5jcmVhdGUobnVsbClcbiAgICBleHBvcnRzW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAnTW9kdWxlJ1xuXG4gICAgdGhpcy5tb2R1bGVDYWNoZS5zZXQoaWQsIHsgY29kZTogdHJhbnNmb3JtZWQsIGV4cG9ydHMgfSlcblxuICAgIGNvbnN0IF9fZmlsZW5hbWUgPSBmaWxlVVJMVG9QYXRoKHVybClcbiAgICBjb25zdCBtb2R1bGVQcm94eSA9IHtcbiAgICAgIHNldCBleHBvcnRzKHZhbHVlKSB7XG4gICAgICAgIGV4cG9ydEFsbChleHBvcnRzLCB2YWx1ZSlcbiAgICAgICAgZXhwb3J0cy5kZWZhdWx0ID0gdmFsdWVcbiAgICAgIH0sXG4gICAgICBnZXQgZXhwb3J0cygpIHtcbiAgICAgICAgcmV0dXJuIGV4cG9ydHMuZGVmYXVsdFxuICAgICAgfSxcbiAgICB9XG5cbiAgICAvLyBCZSBjYXJlZnVsIHdoZW4gY2hhbmdpbmcgdGhpc1xuICAgIC8vIGNoYW5naW5nIGNvbnRleHQgd2lsbCBjaGFuZ2UgYW1vdW50IG9mIGNvZGUgYWRkZWQgb24gbGluZSA6MTE0ICh2bS5ydW5JblRoaXNDb250ZXh0KVxuICAgIC8vIHRoaXMgbWVzc2VzIHVwIHNvdXJjZW1hcHMgZm9yIGNvdmVyYWdlXG4gICAgLy8gYWRqdXN0IGBvZmZzZXRgIHZhcmlhYmxlIGluIHBhY2thZ2VzL3ZpdGVzdC9zcmMvaW50ZWdyYXRpb25zL2NvdmVyYWdlLnRzI0wxMDAgaWYgeW91IGRvIGNoYW5nZSB0aGlzXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMucHJlcGFyZUNvbnRleHQoe1xuICAgICAgLy8gZXNtIHRyYW5zZm9ybWVkIGJ5IFZpdGVcbiAgICAgIF9fdml0ZV9zc3JfaW1wb3J0X186IHJlcXVlc3QsXG4gICAgICBfX3ZpdGVfc3NyX2R5bmFtaWNfaW1wb3J0X186IHJlcXVlc3QsXG4gICAgICBfX3ZpdGVfc3NyX2V4cG9ydHNfXzogZXhwb3J0cyxcbiAgICAgIF9fdml0ZV9zc3JfZXhwb3J0QWxsX186IChvYmo6IGFueSkgPT4gZXhwb3J0QWxsKGV4cG9ydHMsIG9iaiksXG4gICAgICBfX3ZpdGVfc3NyX2ltcG9ydF9tZXRhX186IHsgdXJsIH0sXG5cbiAgICAgIC8vIGNqcyBjb21wYWN0XG4gICAgICByZXF1aXJlOiBjcmVhdGVSZXF1aXJlKHVybCksXG4gICAgICBleHBvcnRzLFxuICAgICAgbW9kdWxlOiBtb2R1bGVQcm94eSxcbiAgICAgIF9fZmlsZW5hbWUsXG4gICAgICBfX2Rpcm5hbWU6IGRpcm5hbWUoX19maWxlbmFtZSksXG4gICAgfSlcblxuICAgIC8vIGFkZCAndXNlIHN0cmljdCcgc2luY2UgRVNNIGVuYWJsZXMgaXQgYnkgZGVmYXVsdFxuICAgIGNvbnN0IGZuID0gdm0ucnVuSW5UaGlzQ29udGV4dChgJ3VzZSBzdHJpY3QnO2FzeW5jICgke09iamVjdC5rZXlzKGNvbnRleHQpLmpvaW4oJywnKX0pPT57eyR7dHJhbnNmb3JtZWR9XFxufX1gLCB7XG4gICAgICBmaWxlbmFtZTogZnNQYXRoLFxuICAgICAgbGluZU9mZnNldDogMCxcbiAgICB9KVxuXG4gICAgYXdhaXQgZm4oLi4uT2JqZWN0LnZhbHVlcyhjb250ZXh0KSlcblxuICAgIHJldHVybiBleHBvcnRzXG4gIH1cblxuICBwcmVwYXJlQ29udGV4dChjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgcmV0dXJuIGNvbnRleHRcbiAgfVxuXG4gIHNob3VsZFJlc29sdmVJZChkZXA6IHN0cmluZykge1xuICAgIGlmIChpc05vZGVCdWlsdGluKGRlcCkgfHwgZGVwIGluICh0aGlzLm9wdGlvbnMucmVxdWVzdFN0dWJzIHx8IERFRkFVTFRfUkVRVUVTVF9TVFVCUykpXG4gICAgICByZXR1cm4gZmFsc2VcblxuICAgIHJldHVybiAhaXNBYnNvbHV0ZShkZXApIHx8ICFleHRuYW1lKGRlcClcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgaWYgYSBtb2R1bGUgc2hvdWxkIGJlIGludGVyb3AtZWRcbiAgICogVGhpcyBmdW5jdGlvbiBtb3N0bHkgZm9yIHRoZSBhYmlsaXR5IHRvIG92ZXJyaWRlIGJ5IHN1YmNsYXNzXG4gICAqL1xuICBzaG91bGRJbnRlcm9wKHBhdGg6IHN0cmluZywgbW9kOiBhbnkpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmludGVyb3BEZWZhdWx0ID09PSBmYWxzZSlcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIC8vIG5ldmVyIGludGVyb3AgRVNNIG1vZHVsZXNcbiAgICAvLyBUT0RPOiBzaG91bGQgYWxzbyBza2lwIGZvciBgLmpzYCB3aXRoIGB0eXBlPVwibW9kdWxlXCJgXG4gICAgcmV0dXJuICFwYXRoLmVuZHNXaXRoKCcubWpzJykgJiYgJ2RlZmF1bHQnIGluIG1vZFxuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhIG1vZHVsZSBhbmQgaW50ZXJvcCBpdFxuICAgKi9cbiAgYXN5bmMgaW50ZXJvcGVkSW1wb3J0KHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IG1vZCA9IGF3YWl0IGltcG9ydChwYXRoKVxuXG4gICAgaWYgKHRoaXMuc2hvdWxkSW50ZXJvcChwYXRoLCBtb2QpKSB7XG4gICAgICBjb25zdCB0cnlEZWZhdWx0ID0gdGhpcy5oYXNOZXN0ZWREZWZhdWx0KG1vZClcbiAgICAgIHJldHVybiBuZXcgUHJveHkobW9kLCB7XG4gICAgICAgIGdldDogcHJveHlNZXRob2QoJ2dldCcsIHRyeURlZmF1bHQpLFxuICAgICAgICBzZXQ6IHByb3h5TWV0aG9kKCdzZXQnLCB0cnlEZWZhdWx0KSxcbiAgICAgICAgaGFzOiBwcm94eU1ldGhvZCgnaGFzJywgdHJ5RGVmYXVsdCksXG4gICAgICAgIGRlbGV0ZVByb3BlcnR5OiBwcm94eU1ldGhvZCgnZGVsZXRlUHJvcGVydHknLCB0cnlEZWZhdWx0KSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZFxuICB9XG5cbiAgaGFzTmVzdGVkRGVmYXVsdCh0YXJnZXQ6IGFueSkge1xuICAgIHJldHVybiAnX19lc01vZHVsZScgaW4gdGFyZ2V0ICYmIHRhcmdldC5fX2VzTW9kdWxlICYmICdkZWZhdWx0JyBpbiB0YXJnZXQuZGVmYXVsdFxuICB9XG59XG5cbmZ1bmN0aW9uIHByb3h5TWV0aG9kKG5hbWU6ICdnZXQnIHwgJ3NldCcgfCAnaGFzJyB8ICdkZWxldGVQcm9wZXJ0eScsIHRyeURlZmF1bHQ6IGJvb2xlYW4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKHRhcmdldDogYW55LCBrZXk6IHN0cmluZyB8IHN5bWJvbCwgLi4uYXJnczogW2FueT8sIGFueT9dKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gUmVmbGVjdFtuYW1lXSh0YXJnZXQsIGtleSwgLi4uYXJncylcbiAgICBpZiAoaXNQcmltaXRpdmUodGFyZ2V0LmRlZmF1bHQpKVxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIGlmICgodHJ5RGVmYXVsdCAmJiBrZXkgPT09ICdkZWZhdWx0JykgfHwgdHlwZW9mIHJlc3VsdCA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICByZXR1cm4gUmVmbGVjdFtuYW1lXSh0YXJnZXQuZGVmYXVsdCwga2V5LCAuLi5hcmdzKVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxuXG5mdW5jdGlvbiBleHBvcnRBbGwoZXhwb3J0czogYW55LCBzb3VyY2VNb2R1bGU6IGFueSkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlTW9kdWxlKSB7XG4gICAgaWYgKGtleSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7XG4gICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgZ2V0KCkgeyByZXR1cm4gc291cmNlTW9kdWxlW2tleV0gfSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGNhdGNoIChfZXJyKSB7IH1cbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTVksTUFBQyxxQkFBcUIsR0FBRztBQUNyQyxFQUFFLGVBQWUsRUFBRTtBQUNuQixJQUFJLFdBQVcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0FBQzNCLElBQUksZ0JBQWdCLEdBQUc7QUFDdkIsTUFBTSxPQUFPO0FBQ2IsUUFBUSxNQUFNLEVBQUUsTUFBTTtBQUN0QixTQUFTO0FBQ1QsUUFBUSxLQUFLLEVBQUUsTUFBTTtBQUNyQixTQUFTO0FBQ1QsUUFBUSxPQUFPLEVBQUUsTUFBTTtBQUN2QixTQUFTO0FBQ1QsUUFBUSxPQUFPLEVBQUUsTUFBTTtBQUN2QixTQUFTO0FBQ1QsUUFBUSxVQUFVLEVBQUUsTUFBTTtBQUMxQixTQUFTO0FBQ1QsUUFBUSxFQUFFLEVBQUUsTUFBTTtBQUNsQixTQUFTO0FBQ1QsT0FBTyxDQUFDO0FBQ1IsS0FBSztBQUNMLElBQUksV0FBVyxHQUFHO0FBQ2xCLEtBQUs7QUFDTCxHQUFHO0FBQ0gsRUFBRTtBQUNLLE1BQU0sY0FBYyxTQUFTLEdBQUcsQ0FBQztBQUN4QyxFQUFFLGFBQWEsQ0FBQyxNQUFNLEVBQUU7QUFDeEIsSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FB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
195
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tICdtb2R1bGUnXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBwYXRoVG9GaWxlVVJMIH0gZnJvbSAndXJsJ1xuaW1wb3J0IHZtIGZyb20gJ3ZtJ1xuaW1wb3J0IHsgZGlybmFtZSwgZXh0bmFtZSwgaXNBYnNvbHV0ZSwgcmVzb2x2ZSB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHsgaXNOb2RlQnVpbHRpbiB9IGZyb20gJ21sbHknXG5pbXBvcnQgeyBpc1ByaW1pdGl2ZSwgbm9ybWFsaXplTW9kdWxlSWQsIG5vcm1hbGl6ZVJlcXVlc3RJZCwgc2xhc2gsIHRvRmlsZVBhdGggfSBmcm9tICcuL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBNb2R1bGVDYWNoZSwgVml0ZU5vZGVSdW5uZXJPcHRpb25zIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkVRVUVTVF9TVFVCUyA9IHtcbiAgJy9Adml0ZS9jbGllbnQnOiB7XG4gICAgaW5qZWN0UXVlcnk6IChpZDogc3RyaW5nKSA9PiBpZCxcbiAgICBjcmVhdGVIb3RDb250ZXh0KCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWNjZXB0OiAoKSA9PiB7fSxcbiAgICAgICAgcHJ1bmU6ICgpID0+IHt9LFxuICAgICAgICBkaXNwb3NlOiAoKSA9PiB7fSxcbiAgICAgICAgZGVjbGluZTogKCkgPT4ge30sXG4gICAgICAgIGludmFsaWRhdGU6ICgpID0+IHt9LFxuICAgICAgICBvbjogKCkgPT4ge30sXG4gICAgICB9XG4gICAgfSxcbiAgICB1cGRhdGVTdHlsZSgpIHt9LFxuICB9LFxufVxuXG5leHBvcnQgY2xhc3MgTW9kdWxlQ2FjaGVNYXAgZXh0ZW5kcyBNYXA8c3RyaW5nLCBNb2R1bGVDYWNoZT4ge1xuICBub3JtYWxpemVQYXRoKGZzUGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZU1vZHVsZUlkKGZzUGF0aClcbiAgfVxuXG4gIHNldChmc1BhdGg6IHN0cmluZywgbW9kOiBQYXJ0aWFsPE1vZHVsZUNhY2hlPikge1xuICAgIGZzUGF0aCA9IHRoaXMubm9ybWFsaXplUGF0aChmc1BhdGgpXG4gICAgaWYgKCFzdXBlci5oYXMoZnNQYXRoKSlcbiAgICAgIHN1cGVyLnNldChmc1BhdGgsIG1vZClcbiAgICBlbHNlXG4gICAgICBPYmplY3QuYXNzaWduKHN1cGVyLmdldChmc1BhdGgpLCBtb2QpXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIGdldChmc1BhdGg6IHN0cmluZykge1xuICAgIGZzUGF0aCA9IHRoaXMubm9ybWFsaXplUGF0aChmc1BhdGgpXG4gICAgcmV0dXJuIHN1cGVyLmdldChmc1BhdGgpXG4gIH1cblxuICBkZWxldGUoZnNQYXRoOiBzdHJpbmcpIHtcbiAgICBmc1BhdGggPSB0aGlzLm5vcm1hbGl6ZVBhdGgoZnNQYXRoKVxuICAgIHJldHVybiBzdXBlci5kZWxldGUoZnNQYXRoKVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBWaXRlTm9kZVJ1bm5lciB7XG4gIHJvb3Q6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBIb2xkcyB0aGUgY2FjaGUgb2YgbW9kdWxlc1xuICAgKiBLZXlzIG9mIHRoZSBtYXAgYXJlIGZpbGVwYXRocywgb3IgcGxhaW4gcGFja2FnZSBuYW1lc1xuICAgKi9cbiAgbW9kdWxlQ2FjaGU6IE1vZHVsZUNhY2hlTWFwXG5cbiAgY29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6IFZpdGVOb2RlUnVubmVyT3B0aW9ucykge1xuICAgIHRoaXMucm9vdCA9IG9wdGlvbnMucm9vdCB8fCBwcm9jZXNzLmN3ZCgpXG4gICAgdGhpcy5tb2R1bGVDYWNoZSA9IG9wdGlvbnMubW9kdWxlQ2FjaGUgfHwgbmV3IE1vZHVsZUNhY2hlTWFwKClcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGVGaWxlKGZpbGU6IHN0cmluZykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNhY2hlZFJlcXVlc3QoYC9AZnMvJHtzbGFzaChyZXNvbHZlKGZpbGUpKX1gLCBbXSlcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGVJZChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2FjaGVkUmVxdWVzdChpZCwgW10pXG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIGFzeW5jIGNhY2hlZFJlcXVlc3QocmF3SWQ6IHN0cmluZywgY2FsbHN0YWNrOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGlkID0gbm9ybWFsaXplUmVxdWVzdElkKHJhd0lkLCB0aGlzLm9wdGlvbnMuYmFzZSlcbiAgICBjb25zdCBmc1BhdGggPSB0b0ZpbGVQYXRoKGlkLCB0aGlzLnJvb3QpXG5cbiAgICBpZiAodGhpcy5tb2R1bGVDYWNoZS5nZXQoZnNQYXRoKT8ucHJvbWlzZSlcbiAgICAgIHJldHVybiB0aGlzLm1vZHVsZUNhY2hlLmdldChmc1BhdGgpPy5wcm9taXNlXG5cbiAgICBjb25zdCBwcm9taXNlID0gdGhpcy5kaXJlY3RSZXF1ZXN0KGlkLCBmc1BhdGgsIGNhbGxzdGFjaylcbiAgICB0aGlzLm1vZHVsZUNhY2hlLnNldChmc1BhdGgsIHsgcHJvbWlzZSB9KVxuXG4gICAgcmV0dXJuIGF3YWl0IHByb21pc2VcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgYXN5bmMgZGlyZWN0UmVxdWVzdChpZDogc3RyaW5nLCBmc1BhdGg6IHN0cmluZywgY2FsbHN0YWNrOiBzdHJpbmdbXSkge1xuICAgIGNhbGxzdGFjayA9IFsuLi5jYWxsc3RhY2ssIG5vcm1hbGl6ZU1vZHVsZUlkKGlkKV1cbiAgICBjb25zdCByZXF1ZXN0ID0gYXN5bmMoZGVwOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIHByb2JhYmx5IG1lYW5zIGl0IHdhcyBwYXNzZWQgYXMgdmFyaWFibGVcbiAgICAgIC8vIGFuZCB3YXNuJ3QgdHJhbnNmb3JtZWQgYnkgVml0ZVxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5yZXNvbHZlSWQgJiYgdGhpcy5zaG91bGRSZXNvbHZlSWQoZGVwKSkge1xuICAgICAgICBjb25zdCByZXNvbHZlZERlcCA9IGF3YWl0IHRoaXMub3B0aW9ucy5yZXNvbHZlSWQoZGVwLCBpZClcbiAgICAgICAgZGVwID0gcmVzb2x2ZWREZXA/LmlkPy5yZXBsYWNlKHRoaXMucm9vdCwgJycpIHx8IGRlcFxuICAgICAgfVxuXG4gICAgICBpZiAoY2FsbHN0YWNrLmluY2x1ZGVzKG5vcm1hbGl6ZU1vZHVsZUlkKGRlcCkpKSB7XG4gICAgICAgIGNvbnN0IGRlcEV4cG9ydHMgPSB0aGlzLm1vZHVsZUNhY2hlLmdldChkZXApPy5leHBvcnRzXG4gICAgICAgIGlmIChkZXBFeHBvcnRzKVxuICAgICAgICAgIHJldHVybiBkZXBFeHBvcnRzXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgW3ZpdGUtbm9kZV0gQ2lyY3VsYXIgZGVwZW5kZW5jeSBkZXRlY3RlZFxcblN0YWNrOlxcbiR7Wy4uLmNhbGxzdGFjaywgZGVwXS5yZXZlcnNlKCkubWFwKHAgPT4gYC0gJHtwfWApLmpvaW4oJ1xcbicpfWApXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZWRSZXF1ZXN0KGRlcCwgY2FsbHN0YWNrKVxuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3RTdHVicyA9IHRoaXMub3B0aW9ucy5yZXF1ZXN0U3R1YnMgfHwgREVGQVVMVF9SRVFVRVNUX1NUVUJTXG4gICAgaWYgKGlkIGluIHJlcXVlc3RTdHVicylcbiAgICAgIHJldHVybiByZXF1ZXN0U3R1YnNbaWRdXG5cbiAgICBjb25zdCB7IGNvZGU6IHRyYW5zZm9ybWVkLCBleHRlcm5hbGl6ZSB9ID0gYXdhaXQgdGhpcy5vcHRpb25zLmZldGNoTW9kdWxlKGlkKVxuICAgIGlmIChleHRlcm5hbGl6ZSkge1xuICAgICAgY29uc3QgbW9kID0gYXdhaXQgdGhpcy5pbnRlcm9wZWRJbXBvcnQoZXh0ZXJuYWxpemUpXG4gICAgICB0aGlzLm1vZHVsZUNhY2hlLnNldChmc1BhdGgsIHsgZXhwb3J0czogbW9kIH0pXG4gICAgICByZXR1cm4gbW9kXG4gICAgfVxuXG4gICAgaWYgKHRyYW5zZm9ybWVkID09IG51bGwpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFt2aXRlLW5vZGVdIEZhaWxlZCB0byBsb2FkICR7aWR9YClcblxuICAgIC8vIGRpc2FtYmlndWF0ZSB0aGUgYDxVTklUPjovYCBvbiB3aW5kb3dzOiBzZWUgbm9kZWpzL25vZGUjMzE3MTBcbiAgICBjb25zdCB1cmwgPSBwYXRoVG9GaWxlVVJMKGZzUGF0aCkuaHJlZlxuICAgIGNvbnN0IGV4cG9ydHM6IGFueSA9IE9iamVjdC5jcmVhdGUobnVsbClcbiAgICBleHBvcnRzW1N5bWJvbC50b1N0cmluZ1RhZ10gPSAnTW9kdWxlJ1xuXG4gICAgdGhpcy5tb2R1bGVDYWNoZS5zZXQoaWQsIHsgY29kZTogdHJhbnNmb3JtZWQsIGV4cG9ydHMgfSlcblxuICAgIGNvbnN0IF9fZmlsZW5hbWUgPSBmaWxlVVJMVG9QYXRoKHVybClcbiAgICBjb25zdCBtb2R1bGVQcm94eSA9IHtcbiAgICAgIHNldCBleHBvcnRzKHZhbHVlKSB7XG4gICAgICAgIGV4cG9ydEFsbChleHBvcnRzLCB2YWx1ZSlcbiAgICAgICAgZXhwb3J0cy5kZWZhdWx0ID0gdmFsdWVcbiAgICAgIH0sXG4gICAgICBnZXQgZXhwb3J0cygpIHtcbiAgICAgICAgcmV0dXJuIGV4cG9ydHMuZGVmYXVsdFxuICAgICAgfSxcbiAgICB9XG5cbiAgICAvLyBCZSBjYXJlZnVsIHdoZW4gY2hhbmdpbmcgdGhpc1xuICAgIC8vIGNoYW5naW5nIGNvbnRleHQgd2lsbCBjaGFuZ2UgYW1vdW50IG9mIGNvZGUgYWRkZWQgb24gbGluZSA6MTE0ICh2bS5ydW5JblRoaXNDb250ZXh0KVxuICAgIC8vIHRoaXMgbWVzc2VzIHVwIHNvdXJjZW1hcHMgZm9yIGNvdmVyYWdlXG4gICAgLy8gYWRqdXN0IGBvZmZzZXRgIHZhcmlhYmxlIGluIHBhY2thZ2VzL3ZpdGVzdC9zcmMvaW50ZWdyYXRpb25zL2NvdmVyYWdlLnRzI0wxMDAgaWYgeW91IGRvIGNoYW5nZSB0aGlzXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMucHJlcGFyZUNvbnRleHQoe1xuICAgICAgLy8gZXNtIHRyYW5zZm9ybWVkIGJ5IFZpdGVcbiAgICAgIF9fdml0ZV9zc3JfaW1wb3J0X186IHJlcXVlc3QsXG4gICAgICBfX3ZpdGVfc3NyX2R5bmFtaWNfaW1wb3J0X186IHJlcXVlc3QsXG4gICAgICBfX3ZpdGVfc3NyX2V4cG9ydHNfXzogZXhwb3J0cyxcbiAgICAgIF9fdml0ZV9zc3JfZXhwb3J0QWxsX186IChvYmo6IGFueSkgPT4gZXhwb3J0QWxsKGV4cG9ydHMsIG9iaiksXG4gICAgICBfX3ZpdGVfc3NyX2ltcG9ydF9tZXRhX186IHsgdXJsIH0sXG5cbiAgICAgIC8vIGNqcyBjb21wYWN0XG4gICAgICByZXF1aXJlOiBjcmVhdGVSZXF1aXJlKHVybCksXG4gICAgICBleHBvcnRzLFxuICAgICAgbW9kdWxlOiBtb2R1bGVQcm94eSxcbiAgICAgIF9fZmlsZW5hbWUsXG4gICAgICBfX2Rpcm5hbWU6IGRpcm5hbWUoX19maWxlbmFtZSksXG4gICAgfSlcblxuICAgIC8vIGFkZCAndXNlIHN0cmljdCcgc2luY2UgRVNNIGVuYWJsZXMgaXQgYnkgZGVmYXVsdFxuICAgIGNvbnN0IGZuID0gdm0ucnVuSW5UaGlzQ29udGV4dChgJ3VzZSBzdHJpY3QnO2FzeW5jICgke09iamVjdC5rZXlzKGNvbnRleHQpLmpvaW4oJywnKX0pPT57eyR7dHJhbnNmb3JtZWR9XFxufX1gLCB7XG4gICAgICBmaWxlbmFtZTogZnNQYXRoLFxuICAgICAgbGluZU9mZnNldDogMCxcbiAgICB9KVxuXG4gICAgYXdhaXQgZm4oLi4uT2JqZWN0LnZhbHVlcyhjb250ZXh0KSlcblxuICAgIHJldHVybiBleHBvcnRzXG4gIH1cblxuICBwcmVwYXJlQ29udGV4dChjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgcmV0dXJuIGNvbnRleHRcbiAgfVxuXG4gIHNob3VsZFJlc29sdmVJZChkZXA6IHN0cmluZykge1xuICAgIGlmIChpc05vZGVCdWlsdGluKGRlcCkgfHwgZGVwIGluICh0aGlzLm9wdGlvbnMucmVxdWVzdFN0dWJzIHx8IERFRkFVTFRfUkVRVUVTVF9TVFVCUykpXG4gICAgICByZXR1cm4gZmFsc2VcblxuICAgIHJldHVybiAhaXNBYnNvbHV0ZShkZXApIHx8ICFleHRuYW1lKGRlcClcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgaWYgYSBtb2R1bGUgc2hvdWxkIGJlIGludGVyb3AtZWRcbiAgICogVGhpcyBmdW5jdGlvbiBtb3N0bHkgZm9yIHRoZSBhYmlsaXR5IHRvIG92ZXJyaWRlIGJ5IHN1YmNsYXNzXG4gICAqL1xuICBzaG91bGRJbnRlcm9wKHBhdGg6IHN0cmluZywgbW9kOiBhbnkpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmludGVyb3BEZWZhdWx0ID09PSBmYWxzZSlcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIC8vIG5ldmVyIGludGVyb3AgRVNNIG1vZHVsZXNcbiAgICAvLyBUT0RPOiBzaG91bGQgYWxzbyBza2lwIGZvciBgLmpzYCB3aXRoIGB0eXBlPVwibW9kdWxlXCJgXG4gICAgcmV0dXJuICFwYXRoLmVuZHNXaXRoKCcubWpzJykgJiYgJ2RlZmF1bHQnIGluIG1vZFxuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhIG1vZHVsZSBhbmQgaW50ZXJvcCBpdFxuICAgKi9cbiAgYXN5bmMgaW50ZXJvcGVkSW1wb3J0KHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IG1vZCA9IGF3YWl0IGltcG9ydChwYXRoKVxuXG4gICAgaWYgKHRoaXMuc2hvdWxkSW50ZXJvcChwYXRoLCBtb2QpKSB7XG4gICAgICBjb25zdCB0cnlEZWZhdWx0ID0gdGhpcy5oYXNOZXN0ZWREZWZhdWx0KG1vZClcbiAgICAgIHJldHVybiBuZXcgUHJveHkobW9kLCB7XG4gICAgICAgIGdldDogcHJveHlNZXRob2QoJ2dldCcsIHRyeURlZmF1bHQpLFxuICAgICAgICBzZXQ6IHByb3h5TWV0aG9kKCdzZXQnLCB0cnlEZWZhdWx0KSxcbiAgICAgICAgaGFzOiBwcm94eU1ldGhvZCgnaGFzJywgdHJ5RGVmYXVsdCksXG4gICAgICAgIGRlbGV0ZVByb3BlcnR5OiBwcm94eU1ldGhvZCgnZGVsZXRlUHJvcGVydHknLCB0cnlEZWZhdWx0KSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZFxuICB9XG5cbiAgaGFzTmVzdGVkRGVmYXVsdCh0YXJnZXQ6IGFueSkge1xuICAgIHJldHVybiAnX19lc01vZHVsZScgaW4gdGFyZ2V0ICYmIHRhcmdldC5fX2VzTW9kdWxlICYmICdkZWZhdWx0JyBpbiB0YXJnZXQuZGVmYXVsdFxuICB9XG59XG5cbmZ1bmN0aW9uIHByb3h5TWV0aG9kKG5hbWU6ICdnZXQnIHwgJ3NldCcgfCAnaGFzJyB8ICdkZWxldGVQcm9wZXJ0eScsIHRyeURlZmF1bHQ6IGJvb2xlYW4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKHRhcmdldDogYW55LCBrZXk6IHN0cmluZyB8IHN5bWJvbCwgLi4uYXJnczogW2FueT8sIGFueT9dKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gUmVmbGVjdFtuYW1lXSh0YXJnZXQsIGtleSwgLi4uYXJncylcbiAgICBpZiAoaXNQcmltaXRpdmUodGFyZ2V0LmRlZmF1bHQpKVxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIGlmICgodHJ5RGVmYXVsdCAmJiBrZXkgPT09ICdkZWZhdWx0JykgfHwgdHlwZW9mIHJlc3VsdCA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICByZXR1cm4gUmVmbGVjdFtuYW1lXSh0YXJnZXQuZGVmYXVsdCwga2V5LCAuLi5hcmdzKVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxuXG5mdW5jdGlvbiBleHBvcnRBbGwoZXhwb3J0czogYW55LCBzb3VyY2VNb2R1bGU6IGFueSkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlTW9kdWxlKSB7XG4gICAgaWYgKGtleSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7XG4gICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgZ2V0KCkgeyByZXR1cm4gc291cmNlTW9kdWxlW2tleV0gfSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGNhdGNoIChfZXJyKSB7IH1cbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTVksTUFBQyxxQkFBcUIsR0FBRztBQUNyQyxFQUFFLGVBQWUsRUFBRTtBQUNuQixJQUFJLFdBQVcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0FBQzNCLElBQUksZ0JBQWdCLEdBQUc7QUFDdkIsTUFBTSxPQUFPO0FBQ2IsUUFBUSxNQUFNLEVBQUUsTUFBTTtBQUN0QixTQUFTO0FBQ1QsUUFBUSxLQUFLLEVBQUUsTUFBTTtBQUNyQixTQUFTO0FBQ1QsUUFBUSxPQUFPLEVBQUUsTUFBTTtBQUN2QixTQUFTO0FBQ1QsUUFBUSxPQUFPLEVBQUUsTUFBTTtBQUN2QixTQUFTO0FBQ1QsUUFBUSxVQUFVLEVBQUUsTUFBTTtBQUMxQixTQUFTO0FBQ1QsUUFBUSxFQUFFLEVBQUUsTUFBTTtBQUNsQixTQUFTO0FBQ1QsT0FBTyxDQUFDO0FBQ1IsS0FBSztBQUNMLElBQUksV0FBVyxHQUFHO0FBQ2xCLEtBQUs7QUFDTCxHQUFHO0FBQ0gsRUFBRTtBQUNLLE1BQU0sY0FBYyxTQUFTLEdBQUcsQ0FBQztBQUN4QyxFQUFFLGFBQWEsQ0FBQyxNQUFNLEVBQUU7QUFDeEIsSUFBSSxPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3JDLEdBQUc7QUFDSCxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQ25CLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7QUFDMUIsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM3QjtBQUNBLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzVDLElBQUksT0FBTyxJQUFJLENBQUM7QUFDaEIsR0FBRztBQUNILEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRTtBQUNkLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEMsSUFBSSxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0IsR0FBRztBQUNILEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRTtBQUNqQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hDLElBQUksT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLEdBQUc7QUFDSCxDQUFDO0FBQ00sTUFBTSxjQUFjLENBQUM7QUFDNUIsRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO0FBQ3ZCLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7QUFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzlDLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUksY0FBYyxFQUFFLENBQUM7QUFDbkUsR0FBRztBQUNILEVBQUUsTUFBTSxXQUFXLENBQUMsSUFBSSxFQUFFO0FBQzFCLElBQUksT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4RSxHQUFHO0FBQ0gsRUFBRSxNQUFNLFNBQVMsQ0FBQyxFQUFFLEVBQUU7QUFDdEIsSUFBSSxPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDNUMsR0FBRztBQUNILEVBQUUsTUFBTSxhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRTtBQUN4QyxJQUFJLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUNmLElBQUksTUFBTSxFQUFFLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUQsSUFBSSxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3QyxJQUFJLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPO0FBQ3pFLE1BQU0sT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUMvRSxJQUFJLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM5RCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDOUMsSUFBSSxPQUFPLE1BQU0sT0FBTyxDQUFDO0FBQ3pCLEdBQUc7QUFDSCxFQUFFLE1BQU0sYUFBYSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0FBQzdDLElBQUksU0FBUyxHQUFHLENBQUMsR0FBRyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN0RCxJQUFJLE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxLQUFLO0FBQ25DLE1BQU0sSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ2pCLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0FBQy9ELFFBQVEsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDbEUsUUFBUSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxXQUFXLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLFdBQVcsQ0FBQyxFQUFFLEtBQUssSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUM7QUFDekgsT0FBTztBQUNQLE1BQU0sSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7QUFDdEQsUUFBUSxNQUFNLFVBQVUsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUMxRixRQUFRLElBQUksVUFBVTtBQUN0QixVQUFVLE9BQU8sVUFBVSxDQUFDO0FBQzVCLFFBQVEsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDO0FBQ3pCO0FBQ0EsRUFBRSxDQUFDLEdBQUcsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25FLE9BQU87QUFDUCxNQUFNLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDaEQsS0FBSyxDQUFDO0FBQ04sSUFBSSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxxQkFBcUIsQ0FBQztBQUM1RSxJQUFJLElBQUksRUFBRSxJQUFJLFlBQVk7QUFDMUIsTUFBTSxPQUFPLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5QixJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEYsSUFBSSxJQUFJLFdBQVcsRUFBRTtBQUNyQixNQUFNLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUMxRCxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQ3JELE1BQU0sT0FBTyxHQUFHLENBQUM7QUFDakIsS0FBSztBQUNMLElBQUksSUFBSSxXQUFXLElBQUksSUFBSTtBQUMzQixNQUFNLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQywyQkFBMkIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQsSUFBSSxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzNDLElBQUksTUFBTSxPQUFPLG1CQUFtQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3hELElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxRQUFRLENBQUM7QUFDM0MsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDN0QsSUFBSSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUMsSUFBSSxNQUFNLFdBQVcsR0FBRztBQUN4QixNQUFNLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtBQUN6QixRQUFRLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDbEMsUUFBUSxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztBQUNoQyxPQUFPO0FBQ1AsTUFBTSxJQUFJLE9BQU8sR0FBRztBQUNwQixRQUFRLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztBQUMvQixPQUFPO0FBQ1AsS0FBSyxDQUFDO0FBQ04sSUFBSSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO0FBQ3hDLE1BQU0sbUJBQW1CLEVBQUUsT0FBTztBQUNsQyxNQUFNLDJCQUEyQixFQUFFLE9BQU87QUFDMUMsTUFBTSxvQkFBb0IsRUFBRSxPQUFPO0FBQ25DLE1BQU0sc0JBQXNCLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7QUFDOUQsTUFBTSx3QkFBd0IsRUFBRSxFQUFFLEdBQUcsRUFBRTtBQUN2QyxNQUFNLE9BQU8sRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDO0FBQ2pDLE1BQU0sT0FBTztBQUNiLE1BQU0sTUFBTSxFQUFFLFdBQVc7QUFDekIsTUFBTSxVQUFVO0FBQ2hCLE1BQU0sU0FBUyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUM7QUFDcEMsS0FBSyxDQUFDLENBQUM7QUFDUCxJQUFJLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUM7QUFDNUcsRUFBRSxDQUFDLEVBQUU7QUFDTCxNQUFNLFFBQVEsRUFBRSxNQUFNO0FBQ3RCLE1BQU0sVUFBVSxFQUFFLENBQUM7QUFDbkIsS0FBSyxDQUFDLENBQUM7QUFDUCxJQUFJLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLElBQUksT0FBTyxPQUFPLENBQUM7QUFDbkIsR0FBRztBQUNILEVBQUUsY0FBYyxDQUFDLE9BQU8sRUFBRTtBQUMxQixJQUFJLE9BQU8sT0FBTyxDQUFDO0FBQ25CLEdBQUc7QUFDSCxFQUFFLGVBQWUsQ0FBQyxHQUFHLEVBQUU7QUFDdkIsSUFBSSxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUkscUJBQXFCLENBQUM7QUFDekYsTUFBTSxPQUFPLEtBQUssQ0FBQztBQUNuQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0MsR0FBRztBQUNILEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7QUFDM0IsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxLQUFLLEtBQUs7QUFDN0MsTUFBTSxPQUFPLEtBQUssQ0FBQztBQUNuQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFNBQVMsSUFBSSxHQUFHLENBQUM7QUFDdEQsR0FBRztBQUNILEVBQUUsTUFBTSxlQUFlLENBQUMsSUFBSSxFQUFFO0FBQzlCLElBQUksTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLElBQUksQ0FBQyxDQUFDO0FBQ25DLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtBQUN2QyxNQUFNLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwRCxNQUFNLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFO0FBQzVCLFFBQVEsR0FBRyxFQUFFLFdBQVcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0FBQzNDLFFBQVEsR0FBRyxFQUFFLFdBQVcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0FBQzNDLFFBQVEsR0FBRyxFQUFFLFdBQVcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0FBQzNDLFFBQVEsY0FBYyxFQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUM7QUFDakUsT0FBTyxDQUFDLENBQUM7QUFDVCxLQUFLO0FBQ0wsSUFBSSxPQUFPLEdBQUcsQ0FBQztBQUNmLEdBQUc7QUFDSCxFQUFFLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtBQUMzQixJQUFJLE9BQU8sWUFBWSxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLFNBQVMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDO0FBQ3RGLEdBQUc7QUFDSCxDQUFDO0FBQ0QsU0FBUyxXQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtBQUN2QyxFQUFFLE9BQU8sU0FBUyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFO0FBQ3hDLElBQUksTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUN2RCxJQUFJLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFDbkMsTUFBTSxPQUFPLE1BQU0sQ0FBQztBQUNwQixJQUFJLElBQUksVUFBVSxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVztBQUN4RSxNQUFNLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDekQsSUFBSSxPQUFPLE1BQU0sQ0FBQztBQUNsQixHQUFHLENBQUM7QUFDSixDQUFDO0FBQ0QsU0FBUyxTQUFTLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRTtBQUMxQyxFQUFFLEtBQUssTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFO0FBQ2xDLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO0FBQzNCLE1BQU0sSUFBSTtBQUNWLFFBQVEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO0FBQzVDLFVBQVUsVUFBVSxFQUFFLElBQUk7QUFDMUIsVUFBVSxZQUFZLEVBQUUsSUFBSTtBQUM1QixVQUFVLEdBQUcsR0FBRztBQUNoQixZQUFZLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JDLFdBQVc7QUFDWCxTQUFTLENBQUMsQ0FBQztBQUNYLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTtBQUNyQixPQUFPO0FBQ1AsS0FBSztBQUNMLEdBQUc7QUFDSDs7OzsifQ==
package/dist/server.cjs CHANGED
@@ -43,7 +43,7 @@ function guessCJSversion(id) {
43
43
  }
44
44
  }
45
45
  }
46
- async function shouldExternalize(id, options, cache = new Map()) {
46
+ async function shouldExternalize(id, options, cache = /* @__PURE__ */ new Map()) {
47
47
  if (!cache.has(id))
48
48
  cache.set(id, _shouldExternalize(id, options));
49
49
  return cache.get(id);
@@ -117,9 +117,9 @@ class ViteNodeServer {
117
117
  constructor(server, options = {}) {
118
118
  this.server = server;
119
119
  this.options = options;
120
- this.fetchPromiseMap = new Map();
121
- this.transformPromiseMap = new Map();
122
- this.fetchCache = new Map();
120
+ this.fetchPromiseMap = /* @__PURE__ */ new Map();
121
+ this.transformPromiseMap = /* @__PURE__ */ new Map();
122
+ this.fetchCache = /* @__PURE__ */ new Map();
123
123
  }
124
124
  shouldExternalize(id) {
125
125
  return shouldExternalize(id, this.options.deps);
@@ -198,4 +198,4 @@ class ViteNodeServer {
198
198
  exports.ViteNodeServer = ViteNodeServer;
199
199
  exports.guessCJSversion = guessCJSversion;
200
200
  exports.shouldExternalize = shouldExternalize;
201
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2V4dGVybmFsaXplLnRzIiwiLi4vc3JjL3NlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnZnMnXG5pbXBvcnQgeyBpc05vZGVCdWlsdGluLCBpc1ZhbGlkTm9kZUltcG9ydCB9IGZyb20gJ21sbHknXG5pbXBvcnQgdHlwZSB7IERlcHNIYW5kbGluZ09wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgc2xhc2ggfSBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCBFU01fRVhUX1JFID0gL1xcLihlc3xlc218ZXNtLWJyb3dzZXJ8ZXNtLWJ1bmRsZXJ8ZXM2fG1vZHVsZSlcXC5qcyQvXG5jb25zdCBFU01fRk9MREVSX1JFID0gL1xcL2VzbVxcLyguKlxcLmpzKSQvXG5cbmNvbnN0IGRlZmF1bHRJbmxpbmUgPSBbXG4gIC92aXJ0dWFsOi8sXG4gIC9cXC50cyQvLFxuICBFU01fRVhUX1JFLFxuICBFU01fRk9MREVSX1JFLFxuXVxuXG5jb25zdCBkZXBzRXh0ZXJuYWwgPSBbXG4gIC9cXC5janNcXC5qcyQvLFxuICAvXFwubWpzJC8sXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBndWVzc0NKU3ZlcnNpb24oaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmIChpZC5tYXRjaChFU01fRVhUX1JFKSkge1xuICAgIGZvciAoY29uc3QgaSBvZiBbXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcubWpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcudW1kLmpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcuY2pzLmpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcuanMnKSxcbiAgICBdKSB7XG4gICAgICBpZiAoZXhpc3RzU3luYyhpKSlcbiAgICAgICAgcmV0dXJuIGlcbiAgICB9XG4gIH1cbiAgaWYgKGlkLm1hdGNoKEVTTV9GT0xERVJfUkUpKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIFtcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy91bWQvJDEnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy9janMvJDEnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy8kMScpLFxuICAgIF0pIHtcbiAgICAgIGlmIChleGlzdHNTeW5jKGkpKVxuICAgICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hvdWxkRXh0ZXJuYWxpemUoXG4gIGlkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBEZXBzSGFuZGxpbmdPcHRpb25zLFxuICBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPHN0cmluZyB8IGZhbHNlPj4oKSxcbikge1xuICBpZiAoIWNhY2hlLmhhcyhpZCkpXG4gICAgY2FjaGUuc2V0KGlkLCBfc2hvdWxkRXh0ZXJuYWxpemUoaWQsIG9wdGlvbnMpKVxuICByZXR1cm4gY2FjaGUuZ2V0KGlkKSFcbn1cblxuYXN5bmMgZnVuY3Rpb24gX3Nob3VsZEV4dGVybmFsaXplKFxuICBpZDogc3RyaW5nLFxuICBvcHRpb25zPzogRGVwc0hhbmRsaW5nT3B0aW9ucyxcbik6IFByb21pc2U8c3RyaW5nIHwgZmFsc2U+IHtcbiAgaWYgKGlzTm9kZUJ1aWx0aW4oaWQpKVxuICAgIHJldHVybiBpZFxuXG4gIC8vIGRhdGE6IHNob3VsZCBiZSBwcm9jZXNzZWQgYnkgbmF0aXZlIGltcG9ydCxcbiAgLy8gc2luY2UgaXQgaXMgYSBmZWF0dXJlIG9mIEVTTVxuICBpZiAoaWQuc3RhcnRzV2l0aCgnZGF0YTonKSlcbiAgICByZXR1cm4gaWRcblxuICBpZCA9IHBhdGNoV2luZG93c0ltcG9ydFBhdGgoaWQpXG5cbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBvcHRpb25zPy5pbmxpbmUpKVxuICAgIHJldHVybiBmYWxzZVxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIG9wdGlvbnM/LmV4dGVybmFsKSlcbiAgICByZXR1cm4gaWRcblxuICBjb25zdCBpc05vZGVNb2R1bGUgPSBpZC5pbmNsdWRlcygnL25vZGVfbW9kdWxlcy8nKVxuICBjb25zdCBndWVzc0NKUyA9IGlzTm9kZU1vZHVsZSAmJiBvcHRpb25zPy5mYWxsYmFja0NKU1xuICBpZCA9IGd1ZXNzQ0pTID8gZ3Vlc3NDSlN2ZXJzaW9uKGlkKSB8fCBpZCA6IGlkXG5cbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBkZWZhdWx0SW5saW5lKSlcbiAgICByZXR1cm4gZmFsc2VcbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBkZXBzRXh0ZXJuYWwpKVxuICAgIHJldHVybiBpZFxuXG4gIGNvbnN0IGlzRGlzdCA9IGlkLmluY2x1ZGVzKCcvZGlzdC8nKVxuICBpZiAoKGlzTm9kZU1vZHVsZSB8fCBpc0Rpc3QpICYmIGF3YWl0IGlzVmFsaWROb2RlSW1wb3J0KGlkKSlcbiAgICByZXR1cm4gaWRcblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gbWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQ6IHN0cmluZywgcGF0dGVybnM/OiAoc3RyaW5nIHwgUmVnRXhwKVtdKSB7XG4gIGlmICghcGF0dGVybnMpXG4gICAgcmV0dXJuIGZhbHNlXG4gIGZvciAoY29uc3QgZXggb2YgcGF0dGVybnMpIHtcbiAgICBpZiAodHlwZW9mIGV4ID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGlkLmluY2x1ZGVzKGAvbm9kZV9tb2R1bGVzLyR7ZXh9L2ApKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChleC50ZXN0KGlkKSlcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIHBhdGNoV2luZG93c0ltcG9ydFBhdGgocGF0aDogc3RyaW5nKSB7XG4gIGlmIChwYXRoLm1hdGNoKC9eXFx3OlxcXFwvKSlcbiAgICByZXR1cm4gYGZpbGU6Ly8vJHtzbGFzaChwYXRoKX1gXG4gIGVsc2UgaWYgKHBhdGgubWF0Y2goL15cXHc6XFwvLykpXG4gICAgcmV0dXJuIGBmaWxlOi8vLyR7cGF0aH1gXG4gIGVsc2VcbiAgICByZXR1cm4gcGF0aFxufVxuIiwiaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1SZXN1bHQsIFZpdGVEZXZTZXJ2ZXIgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHR5cGUgeyBGZXRjaFJlc3VsdCwgUmF3U291cmNlTWFwLCBWaXRlTm9kZVJlc29sdmVJZCwgVml0ZU5vZGVTZXJ2ZXJPcHRpb25zIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IHNob3VsZEV4dGVybmFsaXplIH0gZnJvbSAnLi9leHRlcm5hbGl6ZSdcbmltcG9ydCB7IHRvRmlsZVBhdGgsIHdpdGhJbmxpbmVTb3VyY2VtYXAgfSBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgKiBmcm9tICcuL2V4dGVybmFsaXplJ1xuXG4vLyBzdG9yZSB0aGUgb3JpZ2luYWwgcmVmZXJlbmNlIHRvIGF2b2lkIGl0IGJlZW4gbW9ja2VkXG5jb25zdCBSZWFsRGF0ZSA9IERhdGVcblxuZXhwb3J0IGNsYXNzIFZpdGVOb2RlU2VydmVyIHtcbiAgcHJpdmF0ZSBmZXRjaFByb21pc2VNYXAgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxGZXRjaFJlc3VsdD4+KClcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1Qcm9taXNlTWFwID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8VHJhbnNmb3JtUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZD4+KClcblxuICBmZXRjaENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIHtcbiAgICB0aW1lc3RhbXA6IG51bWJlclxuICAgIHJlc3VsdDogRmV0Y2hSZXN1bHRcbiAgfT4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2ZXI6IFZpdGVEZXZTZXJ2ZXIsXG4gICAgcHVibGljIG9wdGlvbnM6IFZpdGVOb2RlU2VydmVyT3B0aW9ucyA9IHt9LFxuICApIHt9XG5cbiAgc2hvdWxkRXh0ZXJuYWxpemUoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBzaG91bGRFeHRlcm5hbGl6ZShpZCwgdGhpcy5vcHRpb25zLmRlcHMpXG4gIH1cblxuICBhc3luYyByZXNvbHZlSWQoaWQ6IHN0cmluZywgaW1wb3J0ZXI/OiBzdHJpbmcpOiBQcm9taXNlPFZpdGVOb2RlUmVzb2x2ZUlkIHwgbnVsbD4ge1xuICAgIGlmIChpbXBvcnRlciAmJiAhaW1wb3J0ZXIuc3RhcnRzV2l0aCh0aGlzLnNlcnZlci5jb25maWcucm9vdCkpXG4gICAgICBpbXBvcnRlciA9IGpvaW4odGhpcy5zZXJ2ZXIuY29uZmlnLnJvb3QsIGltcG9ydGVyKVxuICAgIHJldHVybiB0aGlzLnNlcnZlci5wbHVnaW5Db250YWluZXIucmVzb2x2ZUlkKGlkLCBpbXBvcnRlciwgeyBzc3I6IHRydWUgfSlcbiAgfVxuXG4gIGFzeW5jIGZldGNoTW9kdWxlKGlkOiBzdHJpbmcpOiBQcm9taXNlPEZldGNoUmVzdWx0PiB7XG4gICAgLy8gcmV1c2UgdHJhbnNmb3JtIGZvciBjb25jdXJyZW50IHJlcXVlc3RzXG4gICAgaWYgKCF0aGlzLmZldGNoUHJvbWlzZU1hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmZldGNoUHJvbWlzZU1hcC5zZXQoaWQsXG4gICAgICAgIHRoaXMuX2ZldGNoTW9kdWxlKGlkKVxuICAgICAgICAgIC50aGVuKChyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNvdXJjZW1hcCAhPT0gdHJ1ZSA/IHsgLi4uciwgbWFwOiB1bmRlZmluZWQgfSA6IHJcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hQcm9taXNlTWFwLmRlbGV0ZShpZClcbiAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hQcm9taXNlTWFwLmdldChpZCkhXG4gIH1cblxuICBhc3luYyB0cmFuc2Zvcm1SZXF1ZXN0KGlkOiBzdHJpbmcpIHtcbiAgICAvLyByZXVzZSB0cmFuc2Zvcm0gZm9yIGNvbmN1cnJlbnQgcmVxdWVzdHNcbiAgICBpZiAoIXRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybVByb21pc2VNYXAuc2V0KGlkLFxuICAgICAgICB0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5kZWxldGUoaWQpXG4gICAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybVByb21pc2VNYXAuZ2V0KGlkKSFcbiAgfVxuXG4gIGdldFRyYW5zZm9ybU1vZGUoaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHdpdGhvdXRRdWVyeSA9IGlkLnNwbGl0KCc/JylbMF1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMudHJhbnNmb3JtTW9kZT8ud2ViPy5zb21lKHIgPT4gd2l0aG91dFF1ZXJ5Lm1hdGNoKHIpKSlcbiAgICAgIHJldHVybiAnd2ViJ1xuICAgIGlmICh0aGlzLm9wdGlvbnMudHJhbnNmb3JtTW9kZT8uc3NyPy5zb21lKHIgPT4gd2l0aG91dFF1ZXJ5Lm1hdGNoKHIpKSlcbiAgICAgIHJldHVybiAnc3NyJ1xuXG4gICAgaWYgKHdpdGhvdXRRdWVyeS5tYXRjaCgvXFwuKFtjbV0/W2p0XXN4P3xqc29uKSQvKSlcbiAgICAgIHJldHVybiAnc3NyJ1xuICAgIHJldHVybiAnd2ViJ1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZmV0Y2hNb2R1bGUoaWQ6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hSZXN1bHQ+IHtcbiAgICBsZXQgcmVzdWx0OiBGZXRjaFJlc3VsdFxuXG4gICAgY29uc3QgZmlsZVBhdGggPSB0b0ZpbGVQYXRoKGlkLCB0aGlzLnNlcnZlci5jb25maWcucm9vdClcblxuICAgIGNvbnN0IG1vZHVsZSA9IHRoaXMuc2VydmVyLm1vZHVsZUdyYXBoLmdldE1vZHVsZUJ5SWQoaWQpXG4gICAgY29uc3QgdGltZXN0YW1wID0gbW9kdWxlPy5sYXN0SE1SVGltZXN0YW1wIHx8IFJlYWxEYXRlLm5vdygpXG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmZldGNoQ2FjaGUuZ2V0KGZpbGVQYXRoKVxuICAgIGlmICh0aW1lc3RhbXAgJiYgY2FjaGUgJiYgY2FjaGUudGltZXN0YW1wID49IHRpbWVzdGFtcClcbiAgICAgIHJldHVybiBjYWNoZS5yZXN1bHRcblxuICAgIGNvbnN0IGV4dGVybmFsaXplID0gYXdhaXQgdGhpcy5zaG91bGRFeHRlcm5hbGl6ZShmaWxlUGF0aClcbiAgICBpZiAoZXh0ZXJuYWxpemUpIHtcbiAgICAgIHJlc3VsdCA9IHsgZXh0ZXJuYWxpemUgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IHIgPSBhd2FpdCB0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgcmVzdWx0ID0geyBjb2RlOiByPy5jb2RlLCBtYXA6IHI/Lm1hcCBhcyB1bmtub3duIGFzIFJhd1NvdXJjZU1hcCB9XG4gICAgfVxuXG4gICAgdGhpcy5mZXRjaENhY2hlLnNldChmaWxlUGF0aCwge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgcmVzdWx0LFxuICAgIH0pXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF90cmFuc2Zvcm1SZXF1ZXN0KGlkOiBzdHJpbmcpIHtcbiAgICBsZXQgcmVzdWx0OiBUcmFuc2Zvcm1SZXN1bHQgfCBudWxsID0gbnVsbFxuXG4gICAgaWYgKHRoaXMuZ2V0VHJhbnNmb3JtTW9kZShpZCkgPT09ICd3ZWInKSB7XG4gICAgICAvLyBmb3IgY29tcG9uZW50cyBsaWtlIFZ1ZSwgd2Ugd2FudCB0byB1c2UgdGhlIGNsaWVudCBzaWRlXG4gICAgICAvLyBwbHVnaW5zIGJ1dCB0aGVuIGNvbnZlcnQgdGhlIGNvZGUgdG8gYmUgY29uc3VtZWQgYnkgdGhlIHNlcnZlclxuICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZXJ2ZXIudHJhbnNmb3JtUmVxdWVzdChpZClcbiAgICAgIGlmIChyZXN1bHQpXG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuc2VydmVyLnNzclRyYW5zZm9ybShyZXN1bHQuY29kZSwgcmVzdWx0Lm1hcCwgaWQpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZXJ2ZXIudHJhbnNmb3JtUmVxdWVzdChpZCwgeyBzc3I6IHRydWUgfSlcbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2VtYXAgPSB0aGlzLm9wdGlvbnMuc291cmNlbWFwID8/ICdpbmxpbmUnXG4gICAgaWYgKHNvdXJjZW1hcCA9PT0gJ2lubGluZScgJiYgcmVzdWx0ICYmICFpZC5pbmNsdWRlcygnbm9kZV9tb2R1bGVzJykpXG4gICAgICB3aXRoSW5saW5lU291cmNlbWFwKHJlc3VsdClcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxuIl0sIm5hbWVzIjpbImV4aXN0c1N5bmMiLCJpc05vZGVCdWlsdGluIiwiaXNWYWxpZE5vZGVJbXBvcnQiLCJzbGFzaCIsImpvaW4iLCJ0b0ZpbGVQYXRoIiwid2l0aElubGluZVNvdXJjZW1hcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUtBLE1BQU0sVUFBYSxHQUFBLG9EQUFBLENBQUE7QUFDbkIsTUFBTSxhQUFnQixHQUFBLGtCQUFBLENBQUE7QUFFdEIsTUFBTSxhQUFnQixHQUFBO0FBQUEsRUFDcEIsVUFBQTtBQUFBLEVBQ0EsT0FBQTtBQUFBLEVBQ0EsVUFBQTtBQUFBLEVBQ0EsYUFBQTtBQUFBLENBQUEsQ0FBQTtBQUdGLE1BQU0sWUFBZSxHQUFBO0FB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
201
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2V4dGVybmFsaXplLnRzIiwiLi4vc3JjL3NlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnZnMnXG5pbXBvcnQgeyBpc05vZGVCdWlsdGluLCBpc1ZhbGlkTm9kZUltcG9ydCB9IGZyb20gJ21sbHknXG5pbXBvcnQgdHlwZSB7IERlcHNIYW5kbGluZ09wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgc2xhc2ggfSBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCBFU01fRVhUX1JFID0gL1xcLihlc3xlc218ZXNtLWJyb3dzZXJ8ZXNtLWJ1bmRsZXJ8ZXM2fG1vZHVsZSlcXC5qcyQvXG5jb25zdCBFU01fRk9MREVSX1JFID0gL1xcL2VzbVxcLyguKlxcLmpzKSQvXG5cbmNvbnN0IGRlZmF1bHRJbmxpbmUgPSBbXG4gIC92aXJ0dWFsOi8sXG4gIC9cXC50cyQvLFxuICBFU01fRVhUX1JFLFxuICBFU01fRk9MREVSX1JFLFxuXVxuXG5jb25zdCBkZXBzRXh0ZXJuYWwgPSBbXG4gIC9cXC5janNcXC5qcyQvLFxuICAvXFwubWpzJC8sXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBndWVzc0NKU3ZlcnNpb24oaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmIChpZC5tYXRjaChFU01fRVhUX1JFKSkge1xuICAgIGZvciAoY29uc3QgaSBvZiBbXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcubWpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcudW1kLmpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcuY2pzLmpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcuanMnKSxcbiAgICBdKSB7XG4gICAgICBpZiAoZXhpc3RzU3luYyhpKSlcbiAgICAgICAgcmV0dXJuIGlcbiAgICB9XG4gIH1cbiAgaWYgKGlkLm1hdGNoKEVTTV9GT0xERVJfUkUpKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIFtcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy91bWQvJDEnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy9janMvJDEnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy8kMScpLFxuICAgIF0pIHtcbiAgICAgIGlmIChleGlzdHNTeW5jKGkpKVxuICAgICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hvdWxkRXh0ZXJuYWxpemUoXG4gIGlkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBEZXBzSGFuZGxpbmdPcHRpb25zLFxuICBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPHN0cmluZyB8IGZhbHNlPj4oKSxcbikge1xuICBpZiAoIWNhY2hlLmhhcyhpZCkpXG4gICAgY2FjaGUuc2V0KGlkLCBfc2hvdWxkRXh0ZXJuYWxpemUoaWQsIG9wdGlvbnMpKVxuICByZXR1cm4gY2FjaGUuZ2V0KGlkKSFcbn1cblxuYXN5bmMgZnVuY3Rpb24gX3Nob3VsZEV4dGVybmFsaXplKFxuICBpZDogc3RyaW5nLFxuICBvcHRpb25zPzogRGVwc0hhbmRsaW5nT3B0aW9ucyxcbik6IFByb21pc2U8c3RyaW5nIHwgZmFsc2U+IHtcbiAgaWYgKGlzTm9kZUJ1aWx0aW4oaWQpKVxuICAgIHJldHVybiBpZFxuXG4gIC8vIGRhdGE6IHNob3VsZCBiZSBwcm9jZXNzZWQgYnkgbmF0aXZlIGltcG9ydCxcbiAgLy8gc2luY2UgaXQgaXMgYSBmZWF0dXJlIG9mIEVTTVxuICBpZiAoaWQuc3RhcnRzV2l0aCgnZGF0YTonKSlcbiAgICByZXR1cm4gaWRcblxuICBpZCA9IHBhdGNoV2luZG93c0ltcG9ydFBhdGgoaWQpXG5cbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBvcHRpb25zPy5pbmxpbmUpKVxuICAgIHJldHVybiBmYWxzZVxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIG9wdGlvbnM/LmV4dGVybmFsKSlcbiAgICByZXR1cm4gaWRcblxuICBjb25zdCBpc05vZGVNb2R1bGUgPSBpZC5pbmNsdWRlcygnL25vZGVfbW9kdWxlcy8nKVxuICBjb25zdCBndWVzc0NKUyA9IGlzTm9kZU1vZHVsZSAmJiBvcHRpb25zPy5mYWxsYmFja0NKU1xuICBpZCA9IGd1ZXNzQ0pTID8gZ3Vlc3NDSlN2ZXJzaW9uKGlkKSB8fCBpZCA6IGlkXG5cbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBkZWZhdWx0SW5saW5lKSlcbiAgICByZXR1cm4gZmFsc2VcbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBkZXBzRXh0ZXJuYWwpKVxuICAgIHJldHVybiBpZFxuXG4gIGNvbnN0IGlzRGlzdCA9IGlkLmluY2x1ZGVzKCcvZGlzdC8nKVxuICBpZiAoKGlzTm9kZU1vZHVsZSB8fCBpc0Rpc3QpICYmIGF3YWl0IGlzVmFsaWROb2RlSW1wb3J0KGlkKSlcbiAgICByZXR1cm4gaWRcblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gbWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQ6IHN0cmluZywgcGF0dGVybnM/OiAoc3RyaW5nIHwgUmVnRXhwKVtdKSB7XG4gIGlmICghcGF0dGVybnMpXG4gICAgcmV0dXJuIGZhbHNlXG4gIGZvciAoY29uc3QgZXggb2YgcGF0dGVybnMpIHtcbiAgICBpZiAodHlwZW9mIGV4ID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGlkLmluY2x1ZGVzKGAvbm9kZV9tb2R1bGVzLyR7ZXh9L2ApKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChleC50ZXN0KGlkKSlcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIHBhdGNoV2luZG93c0ltcG9ydFBhdGgocGF0aDogc3RyaW5nKSB7XG4gIGlmIChwYXRoLm1hdGNoKC9eXFx3OlxcXFwvKSlcbiAgICByZXR1cm4gYGZpbGU6Ly8vJHtzbGFzaChwYXRoKX1gXG4gIGVsc2UgaWYgKHBhdGgubWF0Y2goL15cXHc6XFwvLykpXG4gICAgcmV0dXJuIGBmaWxlOi8vLyR7cGF0aH1gXG4gIGVsc2VcbiAgICByZXR1cm4gcGF0aFxufVxuIiwiaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1SZXN1bHQsIFZpdGVEZXZTZXJ2ZXIgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHR5cGUgeyBGZXRjaFJlc3VsdCwgUmF3U291cmNlTWFwLCBWaXRlTm9kZVJlc29sdmVJZCwgVml0ZU5vZGVTZXJ2ZXJPcHRpb25zIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IHNob3VsZEV4dGVybmFsaXplIH0gZnJvbSAnLi9leHRlcm5hbGl6ZSdcbmltcG9ydCB7IHRvRmlsZVBhdGgsIHdpdGhJbmxpbmVTb3VyY2VtYXAgfSBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgKiBmcm9tICcuL2V4dGVybmFsaXplJ1xuXG4vLyBzdG9yZSB0aGUgb3JpZ2luYWwgcmVmZXJlbmNlIHRvIGF2b2lkIGl0IGJlZW4gbW9ja2VkXG5jb25zdCBSZWFsRGF0ZSA9IERhdGVcblxuZXhwb3J0IGNsYXNzIFZpdGVOb2RlU2VydmVyIHtcbiAgcHJpdmF0ZSBmZXRjaFByb21pc2VNYXAgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxGZXRjaFJlc3VsdD4+KClcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1Qcm9taXNlTWFwID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8VHJhbnNmb3JtUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZD4+KClcblxuICBmZXRjaENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIHtcbiAgICB0aW1lc3RhbXA6IG51bWJlclxuICAgIHJlc3VsdDogRmV0Y2hSZXN1bHRcbiAgfT4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2ZXI6IFZpdGVEZXZTZXJ2ZXIsXG4gICAgcHVibGljIG9wdGlvbnM6IFZpdGVOb2RlU2VydmVyT3B0aW9ucyA9IHt9LFxuICApIHt9XG5cbiAgc2hvdWxkRXh0ZXJuYWxpemUoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBzaG91bGRFeHRlcm5hbGl6ZShpZCwgdGhpcy5vcHRpb25zLmRlcHMpXG4gIH1cblxuICBhc3luYyByZXNvbHZlSWQoaWQ6IHN0cmluZywgaW1wb3J0ZXI/OiBzdHJpbmcpOiBQcm9taXNlPFZpdGVOb2RlUmVzb2x2ZUlkIHwgbnVsbD4ge1xuICAgIGlmIChpbXBvcnRlciAmJiAhaW1wb3J0ZXIuc3RhcnRzV2l0aCh0aGlzLnNlcnZlci5jb25maWcucm9vdCkpXG4gICAgICBpbXBvcnRlciA9IGpvaW4odGhpcy5zZXJ2ZXIuY29uZmlnLnJvb3QsIGltcG9ydGVyKVxuICAgIHJldHVybiB0aGlzLnNlcnZlci5wbHVnaW5Db250YWluZXIucmVzb2x2ZUlkKGlkLCBpbXBvcnRlciwgeyBzc3I6IHRydWUgfSlcbiAgfVxuXG4gIGFzeW5jIGZldGNoTW9kdWxlKGlkOiBzdHJpbmcpOiBQcm9taXNlPEZldGNoUmVzdWx0PiB7XG4gICAgLy8gcmV1c2UgdHJhbnNmb3JtIGZvciBjb25jdXJyZW50IHJlcXVlc3RzXG4gICAgaWYgKCF0aGlzLmZldGNoUHJvbWlzZU1hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmZldGNoUHJvbWlzZU1hcC5zZXQoaWQsXG4gICAgICAgIHRoaXMuX2ZldGNoTW9kdWxlKGlkKVxuICAgICAgICAgIC50aGVuKChyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNvdXJjZW1hcCAhPT0gdHJ1ZSA/IHsgLi4uciwgbWFwOiB1bmRlZmluZWQgfSA6IHJcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hQcm9taXNlTWFwLmRlbGV0ZShpZClcbiAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hQcm9taXNlTWFwLmdldChpZCkhXG4gIH1cblxuICBhc3luYyB0cmFuc2Zvcm1SZXF1ZXN0KGlkOiBzdHJpbmcpIHtcbiAgICAvLyByZXVzZSB0cmFuc2Zvcm0gZm9yIGNvbmN1cnJlbnQgcmVxdWVzdHNcbiAgICBpZiAoIXRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybVByb21pc2VNYXAuc2V0KGlkLFxuICAgICAgICB0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5kZWxldGUoaWQpXG4gICAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybVByb21pc2VNYXAuZ2V0KGlkKSFcbiAgfVxuXG4gIGdldFRyYW5zZm9ybU1vZGUoaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHdpdGhvdXRRdWVyeSA9IGlkLnNwbGl0KCc/JylbMF1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMudHJhbnNmb3JtTW9kZT8ud2ViPy5zb21lKHIgPT4gd2l0aG91dFF1ZXJ5Lm1hdGNoKHIpKSlcbiAgICAgIHJldHVybiAnd2ViJ1xuICAgIGlmICh0aGlzLm9wdGlvbnMudHJhbnNmb3JtTW9kZT8uc3NyPy5zb21lKHIgPT4gd2l0aG91dFF1ZXJ5Lm1hdGNoKHIpKSlcbiAgICAgIHJldHVybiAnc3NyJ1xuXG4gICAgaWYgKHdpdGhvdXRRdWVyeS5tYXRjaCgvXFwuKFtjbV0/W2p0XXN4P3xqc29uKSQvKSlcbiAgICAgIHJldHVybiAnc3NyJ1xuICAgIHJldHVybiAnd2ViJ1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZmV0Y2hNb2R1bGUoaWQ6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hSZXN1bHQ+IHtcbiAgICBsZXQgcmVzdWx0OiBGZXRjaFJlc3VsdFxuXG4gICAgY29uc3QgZmlsZVBhdGggPSB0b0ZpbGVQYXRoKGlkLCB0aGlzLnNlcnZlci5jb25maWcucm9vdClcblxuICAgIGNvbnN0IG1vZHVsZSA9IHRoaXMuc2VydmVyLm1vZHVsZUdyYXBoLmdldE1vZHVsZUJ5SWQoaWQpXG4gICAgY29uc3QgdGltZXN0YW1wID0gbW9kdWxlPy5sYXN0SE1SVGltZXN0YW1wIHx8IFJlYWxEYXRlLm5vdygpXG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmZldGNoQ2FjaGUuZ2V0KGZpbGVQYXRoKVxuICAgIGlmICh0aW1lc3RhbXAgJiYgY2FjaGUgJiYgY2FjaGUudGltZXN0YW1wID49IHRpbWVzdGFtcClcbiAgICAgIHJldHVybiBjYWNoZS5yZXN1bHRcblxuICAgIGNvbnN0IGV4dGVybmFsaXplID0gYXdhaXQgdGhpcy5zaG91bGRFeHRlcm5hbGl6ZShmaWxlUGF0aClcbiAgICBpZiAoZXh0ZXJuYWxpemUpIHtcbiAgICAgIHJlc3VsdCA9IHsgZXh0ZXJuYWxpemUgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IHIgPSBhd2FpdCB0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgcmVzdWx0ID0geyBjb2RlOiByPy5jb2RlLCBtYXA6IHI/Lm1hcCBhcyB1bmtub3duIGFzIFJhd1NvdXJjZU1hcCB9XG4gICAgfVxuXG4gICAgdGhpcy5mZXRjaENhY2hlLnNldChmaWxlUGF0aCwge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgcmVzdWx0LFxuICAgIH0pXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF90cmFuc2Zvcm1SZXF1ZXN0KGlkOiBzdHJpbmcpIHtcbiAgICBsZXQgcmVzdWx0OiBUcmFuc2Zvcm1SZXN1bHQgfCBudWxsID0gbnVsbFxuXG4gICAgaWYgKHRoaXMuZ2V0VHJhbnNmb3JtTW9kZShpZCkgPT09ICd3ZWInKSB7XG4gICAgICAvLyBmb3IgY29tcG9uZW50cyBsaWtlIFZ1ZSwgd2Ugd2FudCB0byB1c2UgdGhlIGNsaWVudCBzaWRlXG4gICAgICAvLyBwbHVnaW5zIGJ1dCB0aGVuIGNvbnZlcnQgdGhlIGNvZGUgdG8gYmUgY29uc3VtZWQgYnkgdGhlIHNlcnZlclxuICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZXJ2ZXIudHJhbnNmb3JtUmVxdWVzdChpZClcbiAgICAgIGlmIChyZXN1bHQpXG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuc2VydmVyLnNzclRyYW5zZm9ybShyZXN1bHQuY29kZSwgcmVzdWx0Lm1hcCwgaWQpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZXJ2ZXIudHJhbnNmb3JtUmVxdWVzdChpZCwgeyBzc3I6IHRydWUgfSlcbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2VtYXAgPSB0aGlzLm9wdGlvbnMuc291cmNlbWFwID8/ICdpbmxpbmUnXG4gICAgaWYgKHNvdXJjZW1hcCA9PT0gJ2lubGluZScgJiYgcmVzdWx0ICYmICFpZC5pbmNsdWRlcygnbm9kZV9tb2R1bGVzJykpXG4gICAgICB3aXRoSW5saW5lU291cmNlbWFwKHJlc3VsdClcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxuIl0sIm5hbWVzIjpbImV4aXN0c1N5bmMiLCJpc05vZGVCdWlsdGluIiwiaXNWYWxpZE5vZGVJbXBvcnQiLCJzbGFzaCIsImpvaW4iLCJ0b0ZpbGVQYXRoIiwid2l0aElubGluZVNvdXJjZW1hcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUtBLE1BQU0sVUFBYSxHQUFBLG9EQUFBLENBQUE7QUFDbkIsTUFBTSxhQUFnQixHQUFBLGtCQUFBLENBQUE7QUFFdEIsTUFBTSxhQUFnQixHQUFBO0FBQUEsRUFDcEIsVUFBQTtBQUFBLEVBQ0EsT0FBQTtBQUFBLEVBQ0EsVUFBQTtBQUFBLEVBQ0EsYUFBQTtBQUNGLENBQUEsQ0FBQTtBQUVBLE1BQU0sWUFBZSxHQUFBO0FB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
package/dist/server.js CHANGED
@@ -39,7 +39,7 @@ function guessCJSversion(id) {
39
39
  }
40
40
  }
41
41
  }
42
- async function shouldExternalize(id, options, cache = new Map()) {
42
+ async function shouldExternalize(id, options, cache = /* @__PURE__ */ new Map()) {
43
43
  if (!cache.has(id))
44
44
  cache.set(id, _shouldExternalize(id, options));
45
45
  return cache.get(id);
@@ -113,9 +113,9 @@ class ViteNodeServer {
113
113
  constructor(server, options = {}) {
114
114
  this.server = server;
115
115
  this.options = options;
116
- this.fetchPromiseMap = new Map();
117
- this.transformPromiseMap = new Map();
118
- this.fetchCache = new Map();
116
+ this.fetchPromiseMap = /* @__PURE__ */ new Map();
117
+ this.transformPromiseMap = /* @__PURE__ */ new Map();
118
+ this.fetchCache = /* @__PURE__ */ new Map();
119
119
  }
120
120
  shouldExternalize(id) {
121
121
  return shouldExternalize(id, this.options.deps);
@@ -192,4 +192,4 @@ class ViteNodeServer {
192
192
  }
193
193
 
194
194
  export { ViteNodeServer, guessCJSversion, shouldExternalize };
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlcyI6WyIuLi9zcmMvZXh0ZXJuYWxpemUudHMiLCIuLi9zcmMvc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdmcydcbmltcG9ydCB7IGlzTm9kZUJ1aWx0aW4sIGlzVmFsaWROb2RlSW1wb3J0IH0gZnJvbSAnbWxseSdcbmltcG9ydCB0eXBlIHsgRGVwc0hhbmRsaW5nT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBzbGFzaCB9IGZyb20gJy4vdXRpbHMnXG5cbmNvbnN0IEVTTV9FWFRfUkUgPSAvXFwuKGVzfGVzbXxlc20tYnJvd3Nlcnxlc20tYnVuZGxlcnxlczZ8bW9kdWxlKVxcLmpzJC9cbmNvbnN0IEVTTV9GT0xERVJfUkUgPSAvXFwvZXNtXFwvKC4qXFwuanMpJC9cblxuY29uc3QgZGVmYXVsdElubGluZSA9IFtcbiAgL3ZpcnR1YWw6LyxcbiAgL1xcLnRzJC8sXG4gIEVTTV9FWFRfUkUsXG4gIEVTTV9GT0xERVJfUkUsXG5dXG5cbmNvbnN0IGRlcHNFeHRlcm5hbCA9IFtcbiAgL1xcLmNqc1xcLmpzJC8sXG4gIC9cXC5tanMkLyxcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIGd1ZXNzQ0pTdmVyc2lvbihpZDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGlkLm1hdGNoKEVTTV9FWFRfUkUpKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIFtcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5tanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy51bWQuanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5janMuanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5qcycpLFxuICAgIF0pIHtcbiAgICAgIGlmIChleGlzdHNTeW5jKGkpKVxuICAgICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxuICBpZiAoaWQubWF0Y2goRVNNX0ZPTERFUl9SRSkpIHtcbiAgICBmb3IgKGNvbnN0IGkgb2YgW1xuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnL3VtZC8kMScpLFxuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnL2Nqcy8kMScpLFxuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnLyQxJyksXG4gICAgXSkge1xuICAgICAgaWYgKGV4aXN0c1N5bmMoaSkpXG4gICAgICAgIHJldHVybiBpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaG91bGRFeHRlcm5hbGl6ZShcbiAgaWQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IERlcHNIYW5kbGluZ09wdGlvbnMsXG4gIGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8c3RyaW5nIHwgZmFsc2U+PigpLFxuKSB7XG4gIGlmICghY2FjaGUuaGFzKGlkKSlcbiAgICBjYWNoZS5zZXQoaWQsIF9zaG91bGRFeHRlcm5hbGl6ZShpZCwgb3B0aW9ucykpXG4gIHJldHVybiBjYWNoZS5nZXQoaWQpIVxufVxuXG5hc3luYyBmdW5jdGlvbiBfc2hvdWxkRXh0ZXJuYWxpemUoXG4gIGlkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBEZXBzSGFuZGxpbmdPcHRpb25zLFxuKTogUHJvbWlzZTxzdHJpbmcgfCBmYWxzZT4ge1xuICBpZiAoaXNOb2RlQnVpbHRpbihpZCkpXG4gICAgcmV0dXJuIGlkXG5cbiAgLy8gZGF0YTogc2hvdWxkIGJlIHByb2Nlc3NlZCBieSBuYXRpdmUgaW1wb3J0LFxuICAvLyBzaW5jZSBpdCBpcyBhIGZlYXR1cmUgb2YgRVNNXG4gIGlmIChpZC5zdGFydHNXaXRoKCdkYXRhOicpKVxuICAgIHJldHVybiBpZFxuXG4gIGlkID0gcGF0Y2hXaW5kb3dzSW1wb3J0UGF0aChpZClcblxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIG9wdGlvbnM/LmlubGluZSkpXG4gICAgcmV0dXJuIGZhbHNlXG4gIGlmIChtYXRjaEV4dGVybmFsaXplUGF0dGVybihpZCwgb3B0aW9ucz8uZXh0ZXJuYWwpKVxuICAgIHJldHVybiBpZFxuXG4gIGNvbnN0IGlzTm9kZU1vZHVsZSA9IGlkLmluY2x1ZGVzKCcvbm9kZV9tb2R1bGVzLycpXG4gIGNvbnN0IGd1ZXNzQ0pTID0gaXNOb2RlTW9kdWxlICYmIG9wdGlvbnM/LmZhbGxiYWNrQ0pTXG4gIGlkID0gZ3Vlc3NDSlMgPyBndWVzc0NKU3ZlcnNpb24oaWQpIHx8IGlkIDogaWRcblxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIGRlZmF1bHRJbmxpbmUpKVxuICAgIHJldHVybiBmYWxzZVxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIGRlcHNFeHRlcm5hbCkpXG4gICAgcmV0dXJuIGlkXG5cbiAgY29uc3QgaXNEaXN0ID0gaWQuaW5jbHVkZXMoJy9kaXN0LycpXG4gIGlmICgoaXNOb2RlTW9kdWxlIHx8IGlzRGlzdCkgJiYgYXdhaXQgaXNWYWxpZE5vZGVJbXBvcnQoaWQpKVxuICAgIHJldHVybiBpZFxuXG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5jdGlvbiBtYXRjaEV4dGVybmFsaXplUGF0dGVybihpZDogc3RyaW5nLCBwYXR0ZXJucz86IChzdHJpbmcgfCBSZWdFeHApW10pIHtcbiAgaWYgKCFwYXR0ZXJucylcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIChjb25zdCBleCBvZiBwYXR0ZXJucykge1xuICAgIGlmICh0eXBlb2YgZXggPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoaWQuaW5jbHVkZXMoYC9ub2RlX21vZHVsZXMvJHtleH0vYCkpXG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKGV4LnRlc3QoaWQpKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gcGF0Y2hXaW5kb3dzSW1wb3J0UGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgaWYgKHBhdGgubWF0Y2goL15cXHc6XFxcXC8pKVxuICAgIHJldHVybiBgZmlsZTovLy8ke3NsYXNoKHBhdGgpfWBcbiAgZWxzZSBpZiAocGF0aC5tYXRjaCgvXlxcdzpcXC8vKSlcbiAgICByZXR1cm4gYGZpbGU6Ly8vJHtwYXRofWBcbiAgZWxzZVxuICAgIHJldHVybiBwYXRoXG59XG4iLCJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aGUnXG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3VsdCwgVml0ZURldlNlcnZlciB9IGZyb20gJ3ZpdGUnXG5pbXBvcnQgdHlwZSB7IEZldGNoUmVzdWx0LCBSYXdTb3VyY2VNYXAsIFZpdGVOb2RlUmVzb2x2ZUlkLCBWaXRlTm9kZVNlcnZlck9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgc2hvdWxkRXh0ZXJuYWxpemUgfSBmcm9tICcuL2V4dGVybmFsaXplJ1xuaW1wb3J0IHsgdG9GaWxlUGF0aCwgd2l0aElubGluZVNvdXJjZW1hcCB9IGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWxpemUnXG5cbi8vIHN0b3JlIHRoZSBvcmlnaW5hbCByZWZlcmVuY2UgdG8gYXZvaWQgaXQgYmVlbiBtb2NrZWRcbmNvbnN0IFJlYWxEYXRlID0gRGF0ZVxuXG5leHBvcnQgY2xhc3MgVml0ZU5vZGVTZXJ2ZXIge1xuICBwcml2YXRlIGZldGNoUHJvbWlzZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPEZldGNoUmVzdWx0Pj4oKVxuICBwcml2YXRlIHRyYW5zZm9ybVByb21pc2VNYXAgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxUcmFuc2Zvcm1SZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPj4oKVxuXG4gIGZldGNoQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywge1xuICAgIHRpbWVzdGFtcDogbnVtYmVyXG4gICAgcmVzdWx0OiBGZXRjaFJlc3VsdFxuICB9PigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZlcjogVml0ZURldlNlcnZlcixcbiAgICBwdWJsaWMgb3B0aW9uczogVml0ZU5vZGVTZXJ2ZXJPcHRpb25zID0ge30sXG4gICkge31cblxuICBzaG91bGRFeHRlcm5hbGl6ZShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHNob3VsZEV4dGVybmFsaXplKGlkLCB0aGlzLm9wdGlvbnMuZGVwcylcbiAgfVxuXG4gIGFzeW5jIHJlc29sdmVJZChpZDogc3RyaW5nLCBpbXBvcnRlcj86IHN0cmluZyk6IFByb21pc2U8Vml0ZU5vZGVSZXNvbHZlSWQgfCBudWxsPiB7XG4gICAgaWYgKGltcG9ydGVyICYmICFpbXBvcnRlci5zdGFydHNXaXRoKHRoaXMuc2VydmVyLmNvbmZpZy5yb290KSlcbiAgICAgIGltcG9ydGVyID0gam9pbih0aGlzLnNlcnZlci5jb25maWcucm9vdCwgaW1wb3J0ZXIpXG4gICAgcmV0dXJuIHRoaXMuc2VydmVyLnBsdWdpbkNvbnRhaW5lci5yZXNvbHZlSWQoaWQsIGltcG9ydGVyLCB7IHNzcjogdHJ1ZSB9KVxuICB9XG5cbiAgYXN5bmMgZmV0Y2hNb2R1bGUoaWQ6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hSZXN1bHQ+IHtcbiAgICAvLyByZXVzZSB0cmFuc2Zvcm0gZm9yIGNvbmN1cnJlbnQgcmVxdWVzdHNcbiAgICBpZiAoIXRoaXMuZmV0Y2hQcm9taXNlTWFwLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMuZmV0Y2hQcm9taXNlTWFwLnNldChpZCxcbiAgICAgICAgdGhpcy5fZmV0Y2hNb2R1bGUoaWQpXG4gICAgICAgICAgLnRoZW4oKHIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuc291cmNlbWFwICE9PSB0cnVlID8geyAuLi5yLCBtYXA6IHVuZGVmaW5lZCB9IDogclxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mZXRjaFByb21pc2VNYXAuZGVsZXRlKGlkKVxuICAgICAgICAgIH0pLFxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mZXRjaFByb21pc2VNYXAuZ2V0KGlkKSFcbiAgfVxuXG4gIGFzeW5jIHRyYW5zZm9ybVJlcXVlc3QoaWQ6IHN0cmluZykge1xuICAgIC8vIHJldXNlIHRyYW5zZm9ybSBmb3IgY29uY3VycmVudCByZXF1ZXN0c1xuICAgIGlmICghdGhpcy50cmFuc2Zvcm1Qcm9taXNlTWFwLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5zZXQoaWQsXG4gICAgICAgIHRoaXMuX3RyYW5zZm9ybVJlcXVlc3QoaWQpXG4gICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1Qcm9taXNlTWFwLmRlbGV0ZShpZClcbiAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5nZXQoaWQpIVxuICB9XG5cbiAgZ2V0VHJhbnNmb3JtTW9kZShpZDogc3RyaW5nKSB7XG4gICAgY29uc3Qgd2l0aG91dFF1ZXJ5ID0gaWQuc3BsaXQoJz8nKVswXVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy50cmFuc2Zvcm1Nb2RlPy53ZWI/LnNvbWUociA9PiB3aXRob3V0UXVlcnkubWF0Y2gocikpKVxuICAgICAgcmV0dXJuICd3ZWInXG4gICAgaWYgKHRoaXMub3B0aW9ucy50cmFuc2Zvcm1Nb2RlPy5zc3I/LnNvbWUociA9PiB3aXRob3V0UXVlcnkubWF0Y2gocikpKVxuICAgICAgcmV0dXJuICdzc3InXG5cbiAgICBpZiAod2l0aG91dFF1ZXJ5Lm1hdGNoKC9cXC4oW2NtXT9banRdc3g/fGpzb24pJC8pKVxuICAgICAgcmV0dXJuICdzc3InXG4gICAgcmV0dXJuICd3ZWInXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9mZXRjaE1vZHVsZShpZDogc3RyaW5nKTogUHJvbWlzZTxGZXRjaFJlc3VsdD4ge1xuICAgIGxldCByZXN1bHQ6IEZldGNoUmVzdWx0XG5cbiAgICBjb25zdCBmaWxlUGF0aCA9IHRvRmlsZVBhdGgoaWQsIHRoaXMuc2VydmVyLmNvbmZpZy5yb290KVxuXG4gICAgY29uc3QgbW9kdWxlID0gdGhpcy5zZXJ2ZXIubW9kdWxlR3JhcGguZ2V0TW9kdWxlQnlJZChpZClcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBtb2R1bGU/Lmxhc3RITVJUaW1lc3RhbXAgfHwgUmVhbERhdGUubm93KClcbiAgICBjb25zdCBjYWNoZSA9IHRoaXMuZmV0Y2hDYWNoZS5nZXQoZmlsZVBhdGgpXG4gICAgaWYgKHRpbWVzdGFtcCAmJiBjYWNoZSAmJiBjYWNoZS50aW1lc3RhbXAgPj0gdGltZXN0YW1wKVxuICAgICAgcmV0dXJuIGNhY2hlLnJlc3VsdFxuXG4gICAgY29uc3QgZXh0ZXJuYWxpemUgPSBhd2FpdCB0aGlzLnNob3VsZEV4dGVybmFsaXplKGZpbGVQYXRoKVxuICAgIGlmIChleHRlcm5hbGl6ZSkge1xuICAgICAgcmVzdWx0ID0geyBleHRlcm5hbGl6ZSB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgY29uc3QgciA9IGF3YWl0IHRoaXMuX3RyYW5zZm9ybVJlcXVlc3QoaWQpXG4gICAgICByZXN1bHQgPSB7IGNvZGU6IHI/LmNvZGUsIG1hcDogcj8ubWFwIGFzIHVua25vd24gYXMgUmF3U291cmNlTWFwIH1cbiAgICB9XG5cbiAgICB0aGlzLmZldGNoQ2FjaGUuc2V0KGZpbGVQYXRoLCB7XG4gICAgICB0aW1lc3RhbXAsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3RyYW5zZm9ybVJlcXVlc3QoaWQ6IHN0cmluZykge1xuICAgIGxldCByZXN1bHQ6IFRyYW5zZm9ybVJlc3VsdCB8IG51bGwgPSBudWxsXG5cbiAgICBpZiAodGhpcy5nZXRUcmFuc2Zvcm1Nb2RlKGlkKSA9PT0gJ3dlYicpIHtcbiAgICAgIC8vIGZvciBjb21wb25lbnRzIGxpa2UgVnVlLCB3ZSB3YW50IHRvIHVzZSB0aGUgY2xpZW50IHNpZGVcbiAgICAgIC8vIHBsdWdpbnMgYnV0IHRoZW4gY29udmVydCB0aGUgY29kZSB0byBiZSBjb25zdW1lZCBieSB0aGUgc2VydmVyXG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnNlcnZlci50cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgaWYgKHJlc3VsdClcbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZXJ2ZXIuc3NyVHJhbnNmb3JtKHJlc3VsdC5jb2RlLCByZXN1bHQubWFwLCBpZClcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnNlcnZlci50cmFuc2Zvcm1SZXF1ZXN0KGlkLCB7IHNzcjogdHJ1ZSB9KVxuICAgIH1cblxuICAgIGNvbnN0IHNvdXJjZW1hcCA9IHRoaXMub3B0aW9ucy5zb3VyY2VtYXAgPz8gJ2lubGluZSdcbiAgICBpZiAoc291cmNlbWFwID09PSAnaW5saW5lJyAmJiByZXN1bHQgJiYgIWlkLmluY2x1ZGVzKCdub2RlX21vZHVsZXMnKSlcbiAgICAgIHdpdGhJbmxpbmVTb3VyY2VtYXAocmVzdWx0KVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsTUFBTSxVQUFVLEdBQUcsb0RBQW9ELENBQUM7QUFDeEUsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDekMsTUFBTSxhQUFhLEdBQUc7QUFDdEIsRUFBRSxVQUFVO0FBQ1osRUFBRSxPQUFPO0FBQ1QsRUFBRSxVQUFVO0FBQ1osRUFBRSxhQUFhO0FBQ2YsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxZQUFZLEdBQUc7QUFDckIsRUFBRSxZQUFZO0FBQ2QsRUFBRSxRQUFRO0FBQ1YsQ0FBQyxDQUFDO0FBQ0ssU0FBUyxlQUFlLENBQUMsRUFBRSxFQUFFO0FBQ3BDLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FB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
195
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlcyI6WyIuLi9zcmMvZXh0ZXJuYWxpemUudHMiLCIuLi9zcmMvc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdmcydcbmltcG9ydCB7IGlzTm9kZUJ1aWx0aW4sIGlzVmFsaWROb2RlSW1wb3J0IH0gZnJvbSAnbWxseSdcbmltcG9ydCB0eXBlIHsgRGVwc0hhbmRsaW5nT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBzbGFzaCB9IGZyb20gJy4vdXRpbHMnXG5cbmNvbnN0IEVTTV9FWFRfUkUgPSAvXFwuKGVzfGVzbXxlc20tYnJvd3Nlcnxlc20tYnVuZGxlcnxlczZ8bW9kdWxlKVxcLmpzJC9cbmNvbnN0IEVTTV9GT0xERVJfUkUgPSAvXFwvZXNtXFwvKC4qXFwuanMpJC9cblxuY29uc3QgZGVmYXVsdElubGluZSA9IFtcbiAgL3ZpcnR1YWw6LyxcbiAgL1xcLnRzJC8sXG4gIEVTTV9FWFRfUkUsXG4gIEVTTV9GT0xERVJfUkUsXG5dXG5cbmNvbnN0IGRlcHNFeHRlcm5hbCA9IFtcbiAgL1xcLmNqc1xcLmpzJC8sXG4gIC9cXC5tanMkLyxcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIGd1ZXNzQ0pTdmVyc2lvbihpZDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGlkLm1hdGNoKEVTTV9FWFRfUkUpKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIFtcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5tanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy51bWQuanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5janMuanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5qcycpLFxuICAgIF0pIHtcbiAgICAgIGlmIChleGlzdHNTeW5jKGkpKVxuICAgICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxuICBpZiAoaWQubWF0Y2goRVNNX0ZPTERFUl9SRSkpIHtcbiAgICBmb3IgKGNvbnN0IGkgb2YgW1xuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnL3VtZC8kMScpLFxuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnL2Nqcy8kMScpLFxuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnLyQxJyksXG4gICAgXSkge1xuICAgICAgaWYgKGV4aXN0c1N5bmMoaSkpXG4gICAgICAgIHJldHVybiBpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaG91bGRFeHRlcm5hbGl6ZShcbiAgaWQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IERlcHNIYW5kbGluZ09wdGlvbnMsXG4gIGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8c3RyaW5nIHwgZmFsc2U+PigpLFxuKSB7XG4gIGlmICghY2FjaGUuaGFzKGlkKSlcbiAgICBjYWNoZS5zZXQoaWQsIF9zaG91bGRFeHRlcm5hbGl6ZShpZCwgb3B0aW9ucykpXG4gIHJldHVybiBjYWNoZS5nZXQoaWQpIVxufVxuXG5hc3luYyBmdW5jdGlvbiBfc2hvdWxkRXh0ZXJuYWxpemUoXG4gIGlkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBEZXBzSGFuZGxpbmdPcHRpb25zLFxuKTogUHJvbWlzZTxzdHJpbmcgfCBmYWxzZT4ge1xuICBpZiAoaXNOb2RlQnVpbHRpbihpZCkpXG4gICAgcmV0dXJuIGlkXG5cbiAgLy8gZGF0YTogc2hvdWxkIGJlIHByb2Nlc3NlZCBieSBuYXRpdmUgaW1wb3J0LFxuICAvLyBzaW5jZSBpdCBpcyBhIGZlYXR1cmUgb2YgRVNNXG4gIGlmIChpZC5zdGFydHNXaXRoKCdkYXRhOicpKVxuICAgIHJldHVybiBpZFxuXG4gIGlkID0gcGF0Y2hXaW5kb3dzSW1wb3J0UGF0aChpZClcblxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIG9wdGlvbnM/LmlubGluZSkpXG4gICAgcmV0dXJuIGZhbHNlXG4gIGlmIChtYXRjaEV4dGVybmFsaXplUGF0dGVybihpZCwgb3B0aW9ucz8uZXh0ZXJuYWwpKVxuICAgIHJldHVybiBpZFxuXG4gIGNvbnN0IGlzTm9kZU1vZHVsZSA9IGlkLmluY2x1ZGVzKCcvbm9kZV9tb2R1bGVzLycpXG4gIGNvbnN0IGd1ZXNzQ0pTID0gaXNOb2RlTW9kdWxlICYmIG9wdGlvbnM/LmZhbGxiYWNrQ0pTXG4gIGlkID0gZ3Vlc3NDSlMgPyBndWVzc0NKU3ZlcnNpb24oaWQpIHx8IGlkIDogaWRcblxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIGRlZmF1bHRJbmxpbmUpKVxuICAgIHJldHVybiBmYWxzZVxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIGRlcHNFeHRlcm5hbCkpXG4gICAgcmV0dXJuIGlkXG5cbiAgY29uc3QgaXNEaXN0ID0gaWQuaW5jbHVkZXMoJy9kaXN0LycpXG4gIGlmICgoaXNOb2RlTW9kdWxlIHx8IGlzRGlzdCkgJiYgYXdhaXQgaXNWYWxpZE5vZGVJbXBvcnQoaWQpKVxuICAgIHJldHVybiBpZFxuXG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5jdGlvbiBtYXRjaEV4dGVybmFsaXplUGF0dGVybihpZDogc3RyaW5nLCBwYXR0ZXJucz86IChzdHJpbmcgfCBSZWdFeHApW10pIHtcbiAgaWYgKCFwYXR0ZXJucylcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIChjb25zdCBleCBvZiBwYXR0ZXJucykge1xuICAgIGlmICh0eXBlb2YgZXggPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoaWQuaW5jbHVkZXMoYC9ub2RlX21vZHVsZXMvJHtleH0vYCkpXG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKGV4LnRlc3QoaWQpKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gcGF0Y2hXaW5kb3dzSW1wb3J0UGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgaWYgKHBhdGgubWF0Y2goL15cXHc6XFxcXC8pKVxuICAgIHJldHVybiBgZmlsZTovLy8ke3NsYXNoKHBhdGgpfWBcbiAgZWxzZSBpZiAocGF0aC5tYXRjaCgvXlxcdzpcXC8vKSlcbiAgICByZXR1cm4gYGZpbGU6Ly8vJHtwYXRofWBcbiAgZWxzZVxuICAgIHJldHVybiBwYXRoXG59XG4iLCJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aGUnXG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3VsdCwgVml0ZURldlNlcnZlciB9IGZyb20gJ3ZpdGUnXG5pbXBvcnQgdHlwZSB7IEZldGNoUmVzdWx0LCBSYXdTb3VyY2VNYXAsIFZpdGVOb2RlUmVzb2x2ZUlkLCBWaXRlTm9kZVNlcnZlck9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgc2hvdWxkRXh0ZXJuYWxpemUgfSBmcm9tICcuL2V4dGVybmFsaXplJ1xuaW1wb3J0IHsgdG9GaWxlUGF0aCwgd2l0aElubGluZVNvdXJjZW1hcCB9IGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWxpemUnXG5cbi8vIHN0b3JlIHRoZSBvcmlnaW5hbCByZWZlcmVuY2UgdG8gYXZvaWQgaXQgYmVlbiBtb2NrZWRcbmNvbnN0IFJlYWxEYXRlID0gRGF0ZVxuXG5leHBvcnQgY2xhc3MgVml0ZU5vZGVTZXJ2ZXIge1xuICBwcml2YXRlIGZldGNoUHJvbWlzZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPEZldGNoUmVzdWx0Pj4oKVxuICBwcml2YXRlIHRyYW5zZm9ybVByb21pc2VNYXAgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxUcmFuc2Zvcm1SZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPj4oKVxuXG4gIGZldGNoQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywge1xuICAgIHRpbWVzdGFtcDogbnVtYmVyXG4gICAgcmVzdWx0OiBGZXRjaFJlc3VsdFxuICB9PigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZlcjogVml0ZURldlNlcnZlcixcbiAgICBwdWJsaWMgb3B0aW9uczogVml0ZU5vZGVTZXJ2ZXJPcHRpb25zID0ge30sXG4gICkge31cblxuICBzaG91bGRFeHRlcm5hbGl6ZShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHNob3VsZEV4dGVybmFsaXplKGlkLCB0aGlzLm9wdGlvbnMuZGVwcylcbiAgfVxuXG4gIGFzeW5jIHJlc29sdmVJZChpZDogc3RyaW5nLCBpbXBvcnRlcj86IHN0cmluZyk6IFByb21pc2U8Vml0ZU5vZGVSZXNvbHZlSWQgfCBudWxsPiB7XG4gICAgaWYgKGltcG9ydGVyICYmICFpbXBvcnRlci5zdGFydHNXaXRoKHRoaXMuc2VydmVyLmNvbmZpZy5yb290KSlcbiAgICAgIGltcG9ydGVyID0gam9pbih0aGlzLnNlcnZlci5jb25maWcucm9vdCwgaW1wb3J0ZXIpXG4gICAgcmV0dXJuIHRoaXMuc2VydmVyLnBsdWdpbkNvbnRhaW5lci5yZXNvbHZlSWQoaWQsIGltcG9ydGVyLCB7IHNzcjogdHJ1ZSB9KVxuICB9XG5cbiAgYXN5bmMgZmV0Y2hNb2R1bGUoaWQ6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hSZXN1bHQ+IHtcbiAgICAvLyByZXVzZSB0cmFuc2Zvcm0gZm9yIGNvbmN1cnJlbnQgcmVxdWVzdHNcbiAgICBpZiAoIXRoaXMuZmV0Y2hQcm9taXNlTWFwLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMuZmV0Y2hQcm9taXNlTWFwLnNldChpZCxcbiAgICAgICAgdGhpcy5fZmV0Y2hNb2R1bGUoaWQpXG4gICAgICAgICAgLnRoZW4oKHIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuc291cmNlbWFwICE9PSB0cnVlID8geyAuLi5yLCBtYXA6IHVuZGVmaW5lZCB9IDogclxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mZXRjaFByb21pc2VNYXAuZGVsZXRlKGlkKVxuICAgICAgICAgIH0pLFxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mZXRjaFByb21pc2VNYXAuZ2V0KGlkKSFcbiAgfVxuXG4gIGFzeW5jIHRyYW5zZm9ybVJlcXVlc3QoaWQ6IHN0cmluZykge1xuICAgIC8vIHJldXNlIHRyYW5zZm9ybSBmb3IgY29uY3VycmVudCByZXF1ZXN0c1xuICAgIGlmICghdGhpcy50cmFuc2Zvcm1Qcm9taXNlTWFwLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5zZXQoaWQsXG4gICAgICAgIHRoaXMuX3RyYW5zZm9ybVJlcXVlc3QoaWQpXG4gICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1Qcm9taXNlTWFwLmRlbGV0ZShpZClcbiAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5nZXQoaWQpIVxuICB9XG5cbiAgZ2V0VHJhbnNmb3JtTW9kZShpZDogc3RyaW5nKSB7XG4gICAgY29uc3Qgd2l0aG91dFF1ZXJ5ID0gaWQuc3BsaXQoJz8nKVswXVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy50cmFuc2Zvcm1Nb2RlPy53ZWI/LnNvbWUociA9PiB3aXRob3V0UXVlcnkubWF0Y2gocikpKVxuICAgICAgcmV0dXJuICd3ZWInXG4gICAgaWYgKHRoaXMub3B0aW9ucy50cmFuc2Zvcm1Nb2RlPy5zc3I/LnNvbWUociA9PiB3aXRob3V0UXVlcnkubWF0Y2gocikpKVxuICAgICAgcmV0dXJuICdzc3InXG5cbiAgICBpZiAod2l0aG91dFF1ZXJ5Lm1hdGNoKC9cXC4oW2NtXT9banRdc3g/fGpzb24pJC8pKVxuICAgICAgcmV0dXJuICdzc3InXG4gICAgcmV0dXJuICd3ZWInXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9mZXRjaE1vZHVsZShpZDogc3RyaW5nKTogUHJvbWlzZTxGZXRjaFJlc3VsdD4ge1xuICAgIGxldCByZXN1bHQ6IEZldGNoUmVzdWx0XG5cbiAgICBjb25zdCBmaWxlUGF0aCA9IHRvRmlsZVBhdGgoaWQsIHRoaXMuc2VydmVyLmNvbmZpZy5yb290KVxuXG4gICAgY29uc3QgbW9kdWxlID0gdGhpcy5zZXJ2ZXIubW9kdWxlR3JhcGguZ2V0TW9kdWxlQnlJZChpZClcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBtb2R1bGU/Lmxhc3RITVJUaW1lc3RhbXAgfHwgUmVhbERhdGUubm93KClcbiAgICBjb25zdCBjYWNoZSA9IHRoaXMuZmV0Y2hDYWNoZS5nZXQoZmlsZVBhdGgpXG4gICAgaWYgKHRpbWVzdGFtcCAmJiBjYWNoZSAmJiBjYWNoZS50aW1lc3RhbXAgPj0gdGltZXN0YW1wKVxuICAgICAgcmV0dXJuIGNhY2hlLnJlc3VsdFxuXG4gICAgY29uc3QgZXh0ZXJuYWxpemUgPSBhd2FpdCB0aGlzLnNob3VsZEV4dGVybmFsaXplKGZpbGVQYXRoKVxuICAgIGlmIChleHRlcm5hbGl6ZSkge1xuICAgICAgcmVzdWx0ID0geyBleHRlcm5hbGl6ZSB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgY29uc3QgciA9IGF3YWl0IHRoaXMuX3RyYW5zZm9ybVJlcXVlc3QoaWQpXG4gICAgICByZXN1bHQgPSB7IGNvZGU6IHI/LmNvZGUsIG1hcDogcj8ubWFwIGFzIHVua25vd24gYXMgUmF3U291cmNlTWFwIH1cbiAgICB9XG5cbiAgICB0aGlzLmZldGNoQ2FjaGUuc2V0KGZpbGVQYXRoLCB7XG4gICAgICB0aW1lc3RhbXAsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3RyYW5zZm9ybVJlcXVlc3QoaWQ6IHN0cmluZykge1xuICAgIGxldCByZXN1bHQ6IFRyYW5zZm9ybVJlc3VsdCB8IG51bGwgPSBudWxsXG5cbiAgICBpZiAodGhpcy5nZXRUcmFuc2Zvcm1Nb2RlKGlkKSA9PT0gJ3dlYicpIHtcbiAgICAgIC8vIGZvciBjb21wb25lbnRzIGxpa2UgVnVlLCB3ZSB3YW50IHRvIHVzZSB0aGUgY2xpZW50IHNpZGVcbiAgICAgIC8vIHBsdWdpbnMgYnV0IHRoZW4gY29udmVydCB0aGUgY29kZSB0byBiZSBjb25zdW1lZCBieSB0aGUgc2VydmVyXG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnNlcnZlci50cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgaWYgKHJlc3VsdClcbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZXJ2ZXIuc3NyVHJhbnNmb3JtKHJlc3VsdC5jb2RlLCByZXN1bHQubWFwLCBpZClcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnNlcnZlci50cmFuc2Zvcm1SZXF1ZXN0KGlkLCB7IHNzcjogdHJ1ZSB9KVxuICAgIH1cblxuICAgIGNvbnN0IHNvdXJjZW1hcCA9IHRoaXMub3B0aW9ucy5zb3VyY2VtYXAgPz8gJ2lubGluZSdcbiAgICBpZiAoc291cmNlbWFwID09PSAnaW5saW5lJyAmJiByZXN1bHQgJiYgIWlkLmluY2x1ZGVzKCdub2RlX21vZHVsZXMnKSlcbiAgICAgIHdpdGhJbmxpbmVTb3VyY2VtYXAocmVzdWx0KVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsTUFBTSxVQUFVLEdBQUcsb0RBQW9ELENBQUM7QUFDeEUsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDekMsTUFBTSxhQUFhLEdBQUc7QUFDdEIsRUFBRSxVQUFVO0FBQ1osRUFBRSxPQUFPO0FBQ1QsRUFBRSxVQUFVO0FBQ1osRUFBRSxhQUFhO0FBQ2YsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxZQUFZLEdBQUc7QUFDckIsRUFBRSxZQUFZO0FBQ2QsRUFBRSxRQUFRO0FBQ1YsQ0FBQyxDQUFDO0FBQ0ssU0FBUyxlQUFlLENBQUMsRUFBRSxFQUFFO0FBQ3BDLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FB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
package/dist/utils.cjs CHANGED
@@ -9,11 +9,14 @@ const isWindows = process.platform === "win32";
9
9
  function slash(str) {
10
10
  return str.replace(/\\/g, "/");
11
11
  }
12
- function normalizeId(id, base) {
12
+ function normalizeRequestId(id, base) {
13
13
  if (base && id.startsWith(base))
14
14
  id = `/${id.slice(base.length)}`;
15
15
  return id.replace(/^\/@id\/__x00__/, "\0").replace(/^\/@id\//, "").replace(/^__vite-browser-external:/, "").replace(/^(node|file):/, "").replace(/^\/+/, "/").replace(/\?v=\w+/, "?").replace(/&v=\w+/, "").replace(/\?import/, "?").replace(/&import/, "").replace(/\?+$/, "");
16
16
  }
17
+ function normalizeModuleId(id) {
18
+ return id.replace(/\\/g, "/").replace(/^\/@fs\//, "/").replace(/^file:\//, "/").replace(/^\/+/, "/");
19
+ }
17
20
  function isPrimitive(v) {
18
21
  return v !== Object(v);
19
22
  }
@@ -39,8 +42,9 @@ async function withInlineSourcemap(result) {
39
42
 
40
43
  exports.isPrimitive = isPrimitive;
41
44
  exports.isWindows = isWindows;
42
- exports.normalizeId = normalizeId;
45
+ exports.normalizeModuleId = normalizeModuleId;
46
+ exports.normalizeRequestId = normalizeRequestId;
43
47
  exports.slash = slash;
44
48
  exports.toFilePath = toFilePath;
45
49
  exports.withInlineSourcemap = withInlineSourcemap;
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuY2pzIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ3VybCdcbmltcG9ydCB7IGRpcm5hbWUsIHJlc29sdmUgfSBmcm9tICdwYXRoZSdcbmltcG9ydCB0eXBlIHsgVHJhbnNmb3JtUmVzdWx0IH0gZnJvbSAndml0ZSdcblxuZXhwb3J0IGNvbnN0IGlzV2luZG93cyA9IHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMidcblxuZXhwb3J0IGZ1bmN0aW9uIHNsYXNoKHN0cjogc3RyaW5nKSB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvXFxcXC9nLCAnLycpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVJZChpZDogc3RyaW5nLCBiYXNlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKGJhc2UgJiYgaWQuc3RhcnRzV2l0aChiYXNlKSlcbiAgICBpZCA9IGAvJHtpZC5zbGljZShiYXNlLmxlbmd0aCl9YFxuXG4gIHJldHVybiBpZFxuICAgIC5yZXBsYWNlKC9eXFwvQGlkXFwvX194MDBfXy8sICdcXDAnKSAvLyB2aXJ0dWFsIG1vZHVsZXMgc3RhcnQgd2l0aCBgXFwwYFxuICAgIC5yZXBsYWNlKC9eXFwvQGlkXFwvLywgJycpXG4gICAgLnJlcGxhY2UoL15fX3ZpdGUtYnJvd3Nlci1leHRlcm5hbDovLCAnJylcbiAgICAucmVwbGFjZSgvXihub2RlfGZpbGUpOi8sICcnKVxuICAgIC5yZXBsYWNlKC9eXFwvKy8sICcvJykgLy8gcmVtb3ZlIGR1cGxpY2F0ZSBsZWFkaW5nIHNsYXNoZXNcbiAgICAucmVwbGFjZSgvXFw/dj1cXHcrLywgJz8nKSAvLyByZW1vdmUgP3Y9IHF1ZXJ5XG4gICAgLnJlcGxhY2UoLyZ2PVxcdysvLCAnJykgLy8gcmVtb3ZlICZ2PSBxdWVyeVxuICAgIC5yZXBsYWNlKC9cXD9pbXBvcnQvLCAnPycpIC8vIHJlbW92ZSA/aW1wb3J0IHF1ZXJ5XG4gICAgLnJlcGxhY2UoLyZpbXBvcnQvLCAnJykgLy8gcmVtb3ZlICZpbXBvcnQgcXVlcnlcbiAgICAucmVwbGFjZSgvXFw/KyQvLCAnJykgLy8gcmVtb3ZlIGVuZCBxdWVyeSBtYXJrXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByaW1pdGl2ZSh2OiBhbnkpIHtcbiAgcmV0dXJuIHYgIT09IE9iamVjdCh2KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9GaWxlUGF0aChpZDogc3RyaW5nLCByb290OiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgYWJzb2x1dGUgPSBzbGFzaChpZCkuc3RhcnRzV2l0aCgnL0Bmcy8nKVxuICAgID8gaWQuc2xpY2UoNClcbiAgICA6IGlkLnN0YXJ0c1dpdGgoZGlybmFtZShyb290KSkgJiYgZGlybmFtZShyb290KSAhPT0gJy8nXG4gICAgICA/IGlkXG4gICAgICA6IGlkLnN0YXJ0c1dpdGgoJy8nKVxuICAgICAgICA/IHNsYXNoKHJlc29sdmUocm9vdCwgaWQuc2xpY2UoMSkpKVxuICAgICAgICA6IGlkXG5cbiAgaWYgKGFic29sdXRlLnN0YXJ0c1dpdGgoJy8vJykpXG4gICAgYWJzb2x1dGUgPSBhYnNvbHV0ZS5zbGljZSgxKVxuXG4gIC8vIGRpc2FtYmlndWF0ZSB0aGUgYDxVTklUPjovYCBvbiB3aW5kb3dzOiBzZWUgbm9kZWpzL25vZGUjMzE3MTBcbiAgcmV0dXJuIGlzV2luZG93cyAmJiBhYnNvbHV0ZS5zdGFydHNXaXRoKCcvJylcbiAgICA/IGZpbGVVUkxUb1BhdGgocGF0aFRvRmlsZVVSTChhYnNvbHV0ZS5zbGljZSgxKSkuaHJlZilcbiAgICA6IGFic29sdXRlXG59XG5cbmxldCBTT1VSQ0VNQVBQSU5HX1VSTCA9ICdzb3VyY2VNYSdcblNPVVJDRU1BUFBJTkdfVVJMICs9ICdwcGluZ1VSTCdcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdpdGhJbmxpbmVTb3VyY2VtYXAocmVzdWx0OiBUcmFuc2Zvcm1SZXN1bHQpIHtcbiAgY29uc3QgeyBjb2RlLCBtYXAgfSA9IHJlc3VsdFxuXG4gIGlmIChjb2RlLmluY2x1ZGVzKGAke1NPVVJDRU1BUFBJTkdfVVJMfT1gKSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIGlmIChtYXApXG4gICAgcmVzdWx0LmNvZGUgPSBgJHtjb2RlfVxcblxcbi8vIyAke1NPVVJDRU1BUFBJTkdfVVJMfT1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsJHtCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShtYXApLCAndXRmLTgnKS50b1N0cmluZygnYmFzZTY0Jyl9XFxuYFxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJkaXJuYW1lIiwicmVzb2x2ZSIsImZpbGVVUkxUb1BhdGgiLCJwYXRoVG9GaWxlVVJMIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSWEsTUFBQSxTQUFBLEdBQVksUUFBUSxRQUFhLEtBQUEsUUFBQTtBQUV2QyxTQUFBLEtBQUEsQ0FBZSxHQUFhLEVBQUE7QUFDakMsRUFBTyxPQUFBLEdBQUEsQ0FBSSxRQUFRLEtBQU8sRUFBQSxHQUFBLENBQUEsQ0FBQTtBQUFBLENBQUE7QUFHckIsU0FBQSxXQUFBLENBQXFCLElBQVksSUFBdUIsRUFBQTtBQUM3RCxFQUFJLElBQUEsSUFBQSxJQUFRLEdBQUcsVUFBVyxDQUFBLElBQUEsQ0FBQTtBQUN4QixJQUFLLEVBQUEsR0FBQSxDQUFBLENBQUEsRUFBSSxFQUFHLENBQUEsS0FBQSxDQUFNLElBQUssQ0FBQSxNQUFBLENBQUEsQ0FBQSxDQUFBLENBQUE7QUFFekIsRUFBQSxPQUFPLEVBQ0osQ0FBQSxPQUFBLENBQVEsaUJBQW1CLEVBQUEsSUFBQSxDQUFBLENBQzNCLE9BQVEsQ0FBQSxVQUFBLEVBQVksRUFDcEIsQ0FBQSxDQUFBLE9BQUEsQ0FBUSwyQkFBNkIsRUFBQSxFQUFBLENBQUEsQ0FDckMsT0FBUSxDQUFBLGVBQUEsRUFBaUIsRUFDekIsQ0FBQSxDQUFBLE9BQUEsQ0FBUSxNQUFRLEVBQUEsR0FBQSxDQUFBLENBQ2hCLE9BQVEsQ0FBQSxTQUFBLEVBQVcsR0FDbkIsQ0FBQSxDQUFBLE9BQUEsQ0FBUSxRQUFVLEVBQUEsRUFBQSxDQUFBLENBQ2xCLE9BQVEsQ0FBQSxVQUFBLEVBQVksR0FDcEIsQ0FBQSxDQUFBLE9BQUEsQ0FBUSxTQUFXLEVBQUEsRUFBQSxDQUFBLENBQ25CLFFBQVEsTUFBUSxFQUFBLEVBQUEsQ0FBQSxDQUFBO0FBQUEsQ0FBQTtBQUdkLFNBQUEsV0FBQSxDQUFxQixDQUFRLEVBQUE7QUFDbEMsRUFBQSxPQUFPLE1BQU0sTUFBTyxDQUFBLENBQUEsQ0FBQSxDQUFBO0FBQUEsQ0FBQTtBQUdmLFNBQUEsVUFBQSxDQUFvQixJQUFZLElBQXNCLEVBQUE7QUFDM0QsRUFBSSxJQUFBLFFBQUEsR0FBVyxLQUFNLENBQUEsRUFBQSxDQUFBLENBQUksVUFBVyxDQUFBLE9BQUEsQ0FBQSxHQUNoQyxHQUFHLEtBQU0sQ0FBQSxDQUFBLENBQUEsR0FDVCxFQUFHLENBQUEsVUFBQSxDQUFXQSxhQUFRLENBQUEsSUFBQSxDQUFBLENBQUEsSUFBVUEsY0FBUSxJQUFVLENBQUEsS0FBQSxHQUFBLEdBQ2hELEVBQ0EsR0FBQSxFQUFBLENBQUcsVUFBVyxDQUFBLEdBQUEsQ0FBQSxHQUNaLE1BQU1DLGFBQVEsQ0FBQSxJQUFBLEVBQU0sRUFBRyxDQUFBLEtBQUEsQ0FBTSxDQUM3QixDQUFBLENBQUEsQ0FBQSxHQUFBLEVBQUEsQ0FBQTtBQUVSLEVBQUEsSUFBSSxTQUFTLFVBQVcsQ0FBQSxJQUFBLENBQUE7QUFDdEIsSUFBQSxRQUFBLEdBQVcsU0FBUyxLQUFNLENBQUEsQ0FBQSxDQUFBLENBQUE7QUFHNUIsRUFBTyxPQUFBLFNBQUEsSUFBYSxTQUFTLFVBQVcsQ0FBQSxHQUFBLENBQUEsR0FDcENDLGtCQUFjQyxpQkFBYyxDQUFBLFFBQUEsQ0FBUyxLQUFNLENBQUEsQ0FBQSxDQUFBLENBQUEsQ0FBSSxJQUMvQyxDQUFBLEdBQUEsUUFBQSxDQUFBO0FBQUEsQ0FBQTtBQUdOLElBQUksaUJBQW9CLEdBQUEsVUFBQSxDQUFBO0FBQ3hCLGlCQUFxQixJQUFBLFVBQUEsQ0FBQTtBQUVyQixlQUFBLG1CQUFBLENBQTBDLE1BQXlCLEVBQUE7QUFDakUsRUFBTSxNQUFBLEVBQUUsTUFBTSxHQUFRLEVBQUEsR0FBQSxNQUFBLENBQUE7QUFFdEIsRUFBSSxJQUFBLElBQUEsQ0FBSyxTQUFTLENBQUcsRUFBQSxpQkFBQSxDQUFBLENBQUEsQ0FBQSxDQUFBO0FBQ25CLElBQU8sT0FBQSxNQUFBLENBQUE7QUFDVCxFQUFJLElBQUEsR0FBQTtBQUNGLElBQUEsTUFBQSxDQUFPLE9BQU8sQ0FBRyxFQUFBLElBQUEsQ0FBQTtBQUFBO0FBQUEsSUFBQSxFQUFlLGdFQUFnRSxNQUFPLENBQUEsSUFBQSxDQUFLLEtBQUssU0FBVSxDQUFBLEdBQUEsQ0FBQSxFQUFNLFNBQVMsUUFBUyxDQUFBLFFBQUEsQ0FBQSxDQUFBO0FBQUEsQ0FBQSxDQUFBO0FBRXJKLEVBQU8sT0FBQSxNQUFBLENBQUE7QUFBQTs7Ozs7Ozs7OyJ9
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuY2pzIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ3VybCdcbmltcG9ydCB7IGRpcm5hbWUsIHJlc29sdmUgfSBmcm9tICdwYXRoZSdcbmltcG9ydCB0eXBlIHsgVHJhbnNmb3JtUmVzdWx0IH0gZnJvbSAndml0ZSdcblxuZXhwb3J0IGNvbnN0IGlzV2luZG93cyA9IHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMidcblxuZXhwb3J0IGZ1bmN0aW9uIHNsYXNoKHN0cjogc3RyaW5nKSB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvXFxcXC9nLCAnLycpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVSZXF1ZXN0SWQoaWQ6IHN0cmluZywgYmFzZT86IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChiYXNlICYmIGlkLnN0YXJ0c1dpdGgoYmFzZSkpXG4gICAgaWQgPSBgLyR7aWQuc2xpY2UoYmFzZS5sZW5ndGgpfWBcblxuICByZXR1cm4gaWRcbiAgICAucmVwbGFjZSgvXlxcL0BpZFxcL19feDAwX18vLCAnXFwwJykgLy8gdmlydHVhbCBtb2R1bGVzIHN0YXJ0IHdpdGggYFxcMGBcbiAgICAucmVwbGFjZSgvXlxcL0BpZFxcLy8sICcnKVxuICAgIC5yZXBsYWNlKC9eX192aXRlLWJyb3dzZXItZXh0ZXJuYWw6LywgJycpXG4gICAgLnJlcGxhY2UoL14obm9kZXxmaWxlKTovLCAnJylcbiAgICAucmVwbGFjZSgvXlxcLysvLCAnLycpIC8vIHJlbW92ZSBkdXBsaWNhdGUgbGVhZGluZyBzbGFzaGVzXG4gICAgLnJlcGxhY2UoL1xcP3Y9XFx3Ky8sICc/JykgLy8gcmVtb3ZlID92PSBxdWVyeVxuICAgIC5yZXBsYWNlKC8mdj1cXHcrLywgJycpIC8vIHJlbW92ZSAmdj0gcXVlcnlcbiAgICAucmVwbGFjZSgvXFw/aW1wb3J0LywgJz8nKSAvLyByZW1vdmUgP2ltcG9ydCBxdWVyeVxuICAgIC5yZXBsYWNlKC8maW1wb3J0LywgJycpIC8vIHJlbW92ZSAmaW1wb3J0IHF1ZXJ5XG4gICAgLnJlcGxhY2UoL1xcPyskLywgJycpIC8vIHJlbW92ZSBlbmQgcXVlcnkgbWFya1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplTW9kdWxlSWQoaWQ6IHN0cmluZykge1xuICByZXR1cm4gaWRcbiAgICAucmVwbGFjZSgvXFxcXC9nLCAnLycpXG4gICAgLnJlcGxhY2UoL15cXC9AZnNcXC8vLCAnLycpXG4gICAgLnJlcGxhY2UoL15maWxlOlxcLy8sICcvJylcbiAgICAucmVwbGFjZSgvXlxcLysvLCAnLycpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByaW1pdGl2ZSh2OiBhbnkpIHtcbiAgcmV0dXJuIHYgIT09IE9iamVjdCh2KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9GaWxlUGF0aChpZDogc3RyaW5nLCByb290OiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgYWJzb2x1dGUgPSBzbGFzaChpZCkuc3RhcnRzV2l0aCgnL0Bmcy8nKVxuICAgID8gaWQuc2xpY2UoNClcbiAgICA6IGlkLnN0YXJ0c1dpdGgoZGlybmFtZShyb290KSkgJiYgZGlybmFtZShyb290KSAhPT0gJy8nXG4gICAgICA/IGlkXG4gICAgICA6IGlkLnN0YXJ0c1dpdGgoJy8nKVxuICAgICAgICA/IHNsYXNoKHJlc29sdmUocm9vdCwgaWQuc2xpY2UoMSkpKVxuICAgICAgICA6IGlkXG5cbiAgaWYgKGFic29sdXRlLnN0YXJ0c1dpdGgoJy8vJykpXG4gICAgYWJzb2x1dGUgPSBhYnNvbHV0ZS5zbGljZSgxKVxuXG4gIC8vIGRpc2FtYmlndWF0ZSB0aGUgYDxVTklUPjovYCBvbiB3aW5kb3dzOiBzZWUgbm9kZWpzL25vZGUjMzE3MTBcbiAgcmV0dXJuIGlzV2luZG93cyAmJiBhYnNvbHV0ZS5zdGFydHNXaXRoKCcvJylcbiAgICA/IGZpbGVVUkxUb1BhdGgocGF0aFRvRmlsZVVSTChhYnNvbHV0ZS5zbGljZSgxKSkuaHJlZilcbiAgICA6IGFic29sdXRlXG59XG5cbmxldCBTT1VSQ0VNQVBQSU5HX1VSTCA9ICdzb3VyY2VNYSdcblNPVVJDRU1BUFBJTkdfVVJMICs9ICdwcGluZ1VSTCdcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdpdGhJbmxpbmVTb3VyY2VtYXAocmVzdWx0OiBUcmFuc2Zvcm1SZXN1bHQpIHtcbiAgY29uc3QgeyBjb2RlLCBtYXAgfSA9IHJlc3VsdFxuXG4gIGlmIChjb2RlLmluY2x1ZGVzKGAke1NPVVJDRU1BUFBJTkdfVVJMfT1gKSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIGlmIChtYXApXG4gICAgcmVzdWx0LmNvZGUgPSBgJHtjb2RlfVxcblxcbi8vIyAke1NPVVJDRU1BUFBJTkdfVVJMfT1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsJHtCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShtYXApLCAndXRmLTgnKS50b1N0cmluZygnYmFzZTY0Jyl9XFxuYFxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJkaXJuYW1lIiwicmVzb2x2ZSIsImZpbGVVUkxUb1BhdGgiLCJwYXRoVG9GaWxlVVJMIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSWEsTUFBQSxTQUFBLEdBQVksUUFBUSxRQUFhLEtBQUEsUUFBQTtBQUV2QyxTQUFBLEtBQUEsQ0FBZSxHQUFhLEVBQUE7QUFDakMsRUFBTyxPQUFBLEdBQUEsQ0FBSSxPQUFRLENBQUEsS0FBQSxFQUFPLEdBQUcsQ0FBQSxDQUFBO0FBQy9CLENBQUE7QUFFTyxTQUFBLGtCQUFBLENBQTRCLElBQVksSUFBdUIsRUFBQTtBQUNwRSxFQUFJLElBQUEsSUFBQSxJQUFRLEVBQUcsQ0FBQSxVQUFBLENBQVcsSUFBSSxDQUFBO0FBQzVCLElBQUEsRUFBQSxHQUFLLENBQUksQ0FBQSxFQUFBLEVBQUEsQ0FBRyxLQUFNLENBQUEsSUFBQSxDQUFLLE1BQU0sQ0FB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
package/dist/utils.js CHANGED
@@ -5,11 +5,14 @@ const isWindows = process.platform === "win32";
5
5
  function slash(str) {
6
6
  return str.replace(/\\/g, "/");
7
7
  }
8
- function normalizeId(id, base) {
8
+ function normalizeRequestId(id, base) {
9
9
  if (base && id.startsWith(base))
10
10
  id = `/${id.slice(base.length)}`;
11
11
  return id.replace(/^\/@id\/__x00__/, "\0").replace(/^\/@id\//, "").replace(/^__vite-browser-external:/, "").replace(/^(node|file):/, "").replace(/^\/+/, "/").replace(/\?v=\w+/, "?").replace(/&v=\w+/, "").replace(/\?import/, "?").replace(/&import/, "").replace(/\?+$/, "");
12
12
  }
13
+ function normalizeModuleId(id) {
14
+ return id.replace(/\\/g, "/").replace(/^\/@fs\//, "/").replace(/^file:\//, "/").replace(/^\/+/, "/");
15
+ }
13
16
  function isPrimitive(v) {
14
17
  return v !== Object(v);
15
18
  }
@@ -33,5 +36,5 @@ async function withInlineSourcemap(result) {
33
36
  return result;
34
37
  }
35
38
 
36
- export { isPrimitive, isWindows, normalizeId, slash, toFilePath, withInlineSourcemap };
37
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBwYXRoVG9GaWxlVVJMIH0gZnJvbSAndXJsJ1xuaW1wb3J0IHsgZGlybmFtZSwgcmVzb2x2ZSB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1SZXN1bHQgfSBmcm9tICd2aXRlJ1xuXG5leHBvcnQgY29uc3QgaXNXaW5kb3dzID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJ1xuXG5leHBvcnQgZnVuY3Rpb24gc2xhc2goc3RyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXFxcL2csICcvJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUlkKGlkOiBzdHJpbmcsIGJhc2U/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoYmFzZSAmJiBpZC5zdGFydHNXaXRoKGJhc2UpKVxuICAgIGlkID0gYC8ke2lkLnNsaWNlKGJhc2UubGVuZ3RoKX1gXG5cbiAgcmV0dXJuIGlkXG4gICAgLnJlcGxhY2UoL15cXC9AaWRcXC9fX3gwMF9fLywgJ1xcMCcpIC8vIHZpcnR1YWwgbW9kdWxlcyBzdGFydCB3aXRoIGBcXDBgXG4gICAgLnJlcGxhY2UoL15cXC9AaWRcXC8vLCAnJylcbiAgICAucmVwbGFjZSgvXl9fdml0ZS1icm93c2VyLWV4dGVybmFsOi8sICcnKVxuICAgIC5yZXBsYWNlKC9eKG5vZGV8ZmlsZSk6LywgJycpXG4gICAgLnJlcGxhY2UoL15cXC8rLywgJy8nKSAvLyByZW1vdmUgZHVwbGljYXRlIGxlYWRpbmcgc2xhc2hlc1xuICAgIC5yZXBsYWNlKC9cXD92PVxcdysvLCAnPycpIC8vIHJlbW92ZSA/dj0gcXVlcnlcbiAgICAucmVwbGFjZSgvJnY9XFx3Ky8sICcnKSAvLyByZW1vdmUgJnY9IHF1ZXJ5XG4gICAgLnJlcGxhY2UoL1xcP2ltcG9ydC8sICc/JykgLy8gcmVtb3ZlID9pbXBvcnQgcXVlcnlcbiAgICAucmVwbGFjZSgvJmltcG9ydC8sICcnKSAvLyByZW1vdmUgJmltcG9ydCBxdWVyeVxuICAgIC5yZXBsYWNlKC9cXD8rJC8sICcnKSAvLyByZW1vdmUgZW5kIHF1ZXJ5IG1hcmtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJpbWl0aXZlKHY6IGFueSkge1xuICByZXR1cm4gdiAhPT0gT2JqZWN0KHYpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0ZpbGVQYXRoKGlkOiBzdHJpbmcsIHJvb3Q6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCBhYnNvbHV0ZSA9IHNsYXNoKGlkKS5zdGFydHNXaXRoKCcvQGZzLycpXG4gICAgPyBpZC5zbGljZSg0KVxuICAgIDogaWQuc3RhcnRzV2l0aChkaXJuYW1lKHJvb3QpKSAmJiBkaXJuYW1lKHJvb3QpICE9PSAnLydcbiAgICAgID8gaWRcbiAgICAgIDogaWQuc3RhcnRzV2l0aCgnLycpXG4gICAgICAgID8gc2xhc2gocmVzb2x2ZShyb290LCBpZC5zbGljZSgxKSkpXG4gICAgICAgIDogaWRcblxuICBpZiAoYWJzb2x1dGUuc3RhcnRzV2l0aCgnLy8nKSlcbiAgICBhYnNvbHV0ZSA9IGFic29sdXRlLnNsaWNlKDEpXG5cbiAgLy8gZGlzYW1iaWd1YXRlIHRoZSBgPFVOSVQ+Oi9gIG9uIHdpbmRvd3M6IHNlZSBub2RlanMvbm9kZSMzMTcxMFxuICByZXR1cm4gaXNXaW5kb3dzICYmIGFic29sdXRlLnN0YXJ0c1dpdGgoJy8nKVxuICAgID8gZmlsZVVSTFRvUGF0aChwYXRoVG9GaWxlVVJMKGFic29sdXRlLnNsaWNlKDEpKS5ocmVmKVxuICAgIDogYWJzb2x1dGVcbn1cblxubGV0IFNPVVJDRU1BUFBJTkdfVVJMID0gJ3NvdXJjZU1hJ1xuU09VUkNFTUFQUElOR19VUkwgKz0gJ3BwaW5nVVJMJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2l0aElubGluZVNvdXJjZW1hcChyZXN1bHQ6IFRyYW5zZm9ybVJlc3VsdCkge1xuICBjb25zdCB7IGNvZGUsIG1hcCB9ID0gcmVzdWx0XG5cbiAgaWYgKGNvZGUuaW5jbHVkZXMoYCR7U09VUkNFTUFQUElOR19VUkx9PWApKVxuICAgIHJldHVybiByZXN1bHRcbiAgaWYgKG1hcClcbiAgICByZXN1bHQuY29kZSA9IGAke2NvZGV9XFxuXFxuLy8jICR7U09VUkNFTUFQUElOR19VUkx9PWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwke0J1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KG1hcCksICd1dGYtOCcpLnRvU3RyaW5nKCdiYXNlNjQnKX1cXG5gXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVZLE1BQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUTtBQUMvQyxTQUFTLEtBQUssQ0FBQyxHQUFHLEVBQUU7QUFDM0IsRUFBRSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFDTSxTQUFTLFdBQVcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFO0FBQ3RDLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7QUFDakMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLEVBQUUsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDbFIsQ0FBQztBQUNNLFNBQVMsV0FBVyxDQUFDLENBQUMsRUFBRTtBQUMvQixFQUFFLE9BQU8sQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBQ00sU0FBUyxVQUFVLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRTtBQUNyQyxFQUFFLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ3hMLEVBQUUsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztBQUMvQixJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLEVBQUUsT0FBTyxTQUFTLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7QUFDakgsQ0FBQztBQUNELElBQUksaUJBQWlCLEdBQUcsVUFBVSxDQUFDO0FBQ25DLGlCQUFpQixJQUFJLFVBQVUsQ0FBQztBQUN6QixlQUFlLG1CQUFtQixDQUFDLE1BQU0sRUFBRTtBQUNsRCxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDO0FBQy9CLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QyxJQUFJLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLEVBQUUsSUFBSSxHQUFHO0FBQ1QsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDMUI7QUFDQSxJQUFJLEVBQUUsaUJBQWlCLENBQUMsNENBQTRDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNuSSxDQUFDLENBQUM7QUFDRixFQUFFLE9BQU8sTUFBTSxDQUFDO0FBQ2hCOzs7OyJ9
39
+ export { isPrimitive, isWindows, normalizeModuleId, normalizeRequestId, slash, toFilePath, withInlineSourcemap };
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBwYXRoVG9GaWxlVVJMIH0gZnJvbSAndXJsJ1xuaW1wb3J0IHsgZGlybmFtZSwgcmVzb2x2ZSB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1SZXN1bHQgfSBmcm9tICd2aXRlJ1xuXG5leHBvcnQgY29uc3QgaXNXaW5kb3dzID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJ1xuXG5leHBvcnQgZnVuY3Rpb24gc2xhc2goc3RyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXFxcL2csICcvJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVJlcXVlc3RJZChpZDogc3RyaW5nLCBiYXNlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKGJhc2UgJiYgaWQuc3RhcnRzV2l0aChiYXNlKSlcbiAgICBpZCA9IGAvJHtpZC5zbGljZShiYXNlLmxlbmd0aCl9YFxuXG4gIHJldHVybiBpZFxuICAgIC5yZXBsYWNlKC9eXFwvQGlkXFwvX194MDBfXy8sICdcXDAnKSAvLyB2aXJ0dWFsIG1vZHVsZXMgc3RhcnQgd2l0aCBgXFwwYFxuICAgIC5yZXBsYWNlKC9eXFwvQGlkXFwvLywgJycpXG4gICAgLnJlcGxhY2UoL15fX3ZpdGUtYnJvd3Nlci1leHRlcm5hbDovLCAnJylcbiAgICAucmVwbGFjZSgvXihub2RlfGZpbGUpOi8sICcnKVxuICAgIC5yZXBsYWNlKC9eXFwvKy8sICcvJykgLy8gcmVtb3ZlIGR1cGxpY2F0ZSBsZWFkaW5nIHNsYXNoZXNcbiAgICAucmVwbGFjZSgvXFw/dj1cXHcrLywgJz8nKSAvLyByZW1vdmUgP3Y9IHF1ZXJ5XG4gICAgLnJlcGxhY2UoLyZ2PVxcdysvLCAnJykgLy8gcmVtb3ZlICZ2PSBxdWVyeVxuICAgIC5yZXBsYWNlKC9cXD9pbXBvcnQvLCAnPycpIC8vIHJlbW92ZSA/aW1wb3J0IHF1ZXJ5XG4gICAgLnJlcGxhY2UoLyZpbXBvcnQvLCAnJykgLy8gcmVtb3ZlICZpbXBvcnQgcXVlcnlcbiAgICAucmVwbGFjZSgvXFw/KyQvLCAnJykgLy8gcmVtb3ZlIGVuZCBxdWVyeSBtYXJrXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVNb2R1bGVJZChpZDogc3RyaW5nKSB7XG4gIHJldHVybiBpZFxuICAgIC5yZXBsYWNlKC9cXFxcL2csICcvJylcbiAgICAucmVwbGFjZSgvXlxcL0Bmc1xcLy8sICcvJylcbiAgICAucmVwbGFjZSgvXmZpbGU6XFwvLywgJy8nKVxuICAgIC5yZXBsYWNlKC9eXFwvKy8sICcvJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJpbWl0aXZlKHY6IGFueSkge1xuICByZXR1cm4gdiAhPT0gT2JqZWN0KHYpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0ZpbGVQYXRoKGlkOiBzdHJpbmcsIHJvb3Q6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCBhYnNvbHV0ZSA9IHNsYXNoKGlkKS5zdGFydHNXaXRoKCcvQGZzLycpXG4gICAgPyBpZC5zbGljZSg0KVxuICAgIDogaWQuc3RhcnRzV2l0aChkaXJuYW1lKHJvb3QpKSAmJiBkaXJuYW1lKHJvb3QpICE9PSAnLydcbiAgICAgID8gaWRcbiAgICAgIDogaWQuc3RhcnRzV2l0aCgnLycpXG4gICAgICAgID8gc2xhc2gocmVzb2x2ZShyb290LCBpZC5zbGljZSgxKSkpXG4gICAgICAgIDogaWRcblxuICBpZiAoYWJzb2x1dGUuc3RhcnRzV2l0aCgnLy8nKSlcbiAgICBhYnNvbHV0ZSA9IGFic29sdXRlLnNsaWNlKDEpXG5cbiAgLy8gZGlzYW1iaWd1YXRlIHRoZSBgPFVOSVQ+Oi9gIG9uIHdpbmRvd3M6IHNlZSBub2RlanMvbm9kZSMzMTcxMFxuICByZXR1cm4gaXNXaW5kb3dzICYmIGFic29sdXRlLnN0YXJ0c1dpdGgoJy8nKVxuICAgID8gZmlsZVVSTFRvUGF0aChwYXRoVG9GaWxlVVJMKGFic29sdXRlLnNsaWNlKDEpKS5ocmVmKVxuICAgIDogYWJzb2x1dGVcbn1cblxubGV0IFNPVVJDRU1BUFBJTkdfVVJMID0gJ3NvdXJjZU1hJ1xuU09VUkNFTUFQUElOR19VUkwgKz0gJ3BwaW5nVVJMJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2l0aElubGluZVNvdXJjZW1hcChyZXN1bHQ6IFRyYW5zZm9ybVJlc3VsdCkge1xuICBjb25zdCB7IGNvZGUsIG1hcCB9ID0gcmVzdWx0XG5cbiAgaWYgKGNvZGUuaW5jbHVkZXMoYCR7U09VUkNFTUFQUElOR19VUkx9PWApKVxuICAgIHJldHVybiByZXN1bHRcbiAgaWYgKG1hcClcbiAgICByZXN1bHQuY29kZSA9IGAke2NvZGV9XFxuXFxuLy8jICR7U09VUkNFTUFQUElOR19VUkx9PWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwke0J1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KG1hcCksICd1dGYtOCcpLnRvU3RyaW5nKCdiYXNlNjQnKX1cXG5gXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVZLE1BQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUTtBQUMvQyxTQUFTLEtBQUssQ0FBQyxHQUFHLEVBQUU7QUFDM0IsRUFBRSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFDTSxTQUFTLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUU7QUFDN0MsRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztBQUNqQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxPQUFP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
package/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { D as DepsHandlingOptions, a as FetchFunction, F as FetchResult, c as ModuleCache, M as ModuleCacheMap, R as RawSourceMap, b as ResolveIdFunction, S as StartOfSourceMap, d as ViteNodeResolveId, V as ViteNodeRunnerOptions, e as ViteNodeServerOptions } from './types-b082e264.js';
1
+ export { D as DepsHandlingOptions, a as FetchFunction, F as FetchResult, c as ModuleCache, M as ModuleCacheMap, R as RawSourceMap, b as ResolveIdFunction, S as StartOfSourceMap, d as ViteNodeResolveId, V as ViteNodeRunnerOptions, e as ViteNodeServerOptions } from './types-3ae135eb.js';
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "vite-node",
3
- "version": "0.7.6",
3
+ "version": "0.7.9",
4
4
  "description": "Vite as Node.js runtime",
5
- "homepage": "https://github.com/vitest-dev/vitest#readme",
5
+ "homepage": "https://github.com/vitest-dev/vitest/blob/main/packages/vite-node#readme",
6
6
  "bugs": {
7
7
  "url": "https://github.com/vitest-dev/vitest/issues"
8
8
  },
@@ -53,14 +53,14 @@
53
53
  "minimist": "^1.2.5",
54
54
  "mlly": "^0.4.3",
55
55
  "pathe": "^0.2.0",
56
- "vite": "^2.8.4"
56
+ "vite": "^2.8.6"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/minimist": "^1.2.2",
60
60
  "rollup": "^2.70.1"
61
61
  },
62
62
  "engines": {
63
- "node": ">=14.14.0"
63
+ "node": ">=v14.19.1"
64
64
  },
65
65
  "scripts": {
66
66
  "build": "rimraf dist && rollup -c",
package/server.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ViteDevServer, TransformResult } from 'vite';
2
- import { D as DepsHandlingOptions, e as ViteNodeServerOptions, F as FetchResult, d as ViteNodeResolveId } from './types-b082e264.js';
2
+ import { D as DepsHandlingOptions, e as ViteNodeServerOptions, F as FetchResult, d as ViteNodeResolveId } from './types-3ae135eb.js';
3
3
 
4
4
  declare function guessCJSversion(id: string): string | undefined;
5
5
  declare function shouldExternalize(id: string, options?: DepsHandlingOptions, cache?: Map<string, Promise<string | false>>): Promise<string | false>;
@@ -0,0 +1,117 @@
1
+ declare const DEFAULT_REQUEST_STUBS: {
2
+ '/@vite/client': {
3
+ injectQuery: (id: string) => string;
4
+ createHotContext(): {
5
+ accept: () => void;
6
+ prune: () => void;
7
+ dispose: () => void;
8
+ decline: () => void;
9
+ invalidate: () => void;
10
+ on: () => void;
11
+ };
12
+ updateStyle(): void;
13
+ };
14
+ };
15
+ declare class ModuleCacheMap extends Map<string, ModuleCache> {
16
+ normalizePath(fsPath: string): string;
17
+ set(fsPath: string, mod: Partial<ModuleCache>): this;
18
+ get(fsPath: string): ModuleCache | undefined;
19
+ delete(fsPath: string): boolean;
20
+ }
21
+ declare class ViteNodeRunner {
22
+ options: ViteNodeRunnerOptions;
23
+ root: string;
24
+ /**
25
+ * Holds the cache of modules
26
+ * Keys of the map are filepaths, or plain package names
27
+ */
28
+ moduleCache: ModuleCacheMap;
29
+ constructor(options: ViteNodeRunnerOptions);
30
+ executeFile(file: string): Promise<any>;
31
+ executeId(id: string): Promise<any>;
32
+ /** @internal */
33
+ cachedRequest(rawId: string, callstack: string[]): Promise<any>;
34
+ /** @internal */
35
+ directRequest(id: string, fsPath: string, callstack: string[]): Promise<any>;
36
+ prepareContext(context: Record<string, any>): Record<string, any>;
37
+ shouldResolveId(dep: string): boolean;
38
+ /**
39
+ * Define if a module should be interop-ed
40
+ * This function mostly for the ability to override by subclass
41
+ */
42
+ shouldInterop(path: string, mod: any): boolean;
43
+ /**
44
+ * Import a module and interop it
45
+ */
46
+ interopedImport(path: string): Promise<any>;
47
+ hasNestedDefault(target: any): any;
48
+ }
49
+
50
+ interface DepsHandlingOptions {
51
+ external?: (string | RegExp)[];
52
+ inline?: (string | RegExp)[];
53
+ /**
54
+ * Try to guess the CJS version of a package when it's invalid ESM
55
+ * @default false
56
+ */
57
+ fallbackCJS?: boolean;
58
+ }
59
+ interface StartOfSourceMap {
60
+ file?: string;
61
+ sourceRoot?: string;
62
+ }
63
+ interface RawSourceMap extends StartOfSourceMap {
64
+ version: string;
65
+ sources: string[];
66
+ names: string[];
67
+ sourcesContent?: string[];
68
+ mappings: string;
69
+ }
70
+ interface FetchResult {
71
+ code?: string;
72
+ externalize?: string;
73
+ map?: RawSourceMap;
74
+ }
75
+ declare type FetchFunction = (id: string) => Promise<FetchResult>;
76
+ declare type ResolveIdFunction = (id: string, importer?: string) => Promise<ViteNodeResolveId | null>;
77
+ interface ModuleCache {
78
+ promise?: Promise<any>;
79
+ exports?: any;
80
+ code?: string;
81
+ }
82
+ interface ViteNodeRunnerOptions {
83
+ root: string;
84
+ fetchModule: FetchFunction;
85
+ resolveId?: ResolveIdFunction;
86
+ base?: string;
87
+ moduleCache?: ModuleCacheMap;
88
+ interopDefault?: boolean;
89
+ requestStubs?: Record<string, any>;
90
+ }
91
+ interface ViteNodeResolveId {
92
+ external?: boolean | 'absolute' | 'relative';
93
+ id: string;
94
+ meta?: Record<string, any> | null;
95
+ moduleSideEffects?: boolean | 'no-treeshake' | null;
96
+ syntheticNamedExports?: boolean | string | null;
97
+ }
98
+ interface ViteNodeServerOptions {
99
+ /**
100
+ * Inject inline sourcemap to modules
101
+ * @default 'inline'
102
+ */
103
+ sourcemap?: 'inline' | boolean;
104
+ /**
105
+ * Deps handling
106
+ */
107
+ deps?: DepsHandlingOptions;
108
+ /**
109
+ * Transform method for modules
110
+ */
111
+ transformMode?: {
112
+ ssr?: RegExp[];
113
+ web?: RegExp[];
114
+ };
115
+ }
116
+
117
+ export { DepsHandlingOptions as D, FetchResult as F, ModuleCacheMap as M, RawSourceMap as R, StartOfSourceMap as S, ViteNodeRunnerOptions as V, FetchFunction as a, ResolveIdFunction as b, ModuleCache as c, ViteNodeResolveId as d, ViteNodeServerOptions as e, DEFAULT_REQUEST_STUBS as f, ViteNodeRunner as g };
package/types.d.ts CHANGED
@@ -1 +1 @@
1
- export { D as DepsHandlingOptions, a as FetchFunction, F as FetchResult, c as ModuleCache, M as ModuleCacheMap, R as RawSourceMap, b as ResolveIdFunction, S as StartOfSourceMap, d as ViteNodeResolveId, V as ViteNodeRunnerOptions, e as ViteNodeServerOptions } from './types-b082e264.js';
1
+ export { D as DepsHandlingOptions, a as FetchFunction, F as FetchResult, c as ModuleCache, M as ModuleCacheMap, R as RawSourceMap, b as ResolveIdFunction, S as StartOfSourceMap, d as ViteNodeResolveId, V as ViteNodeRunnerOptions, e as ViteNodeServerOptions } from './types-3ae135eb.js';
package/utils.d.ts CHANGED
@@ -2,9 +2,10 @@ import { TransformResult } from 'vite';
2
2
 
3
3
  declare const isWindows: boolean;
4
4
  declare function slash(str: string): string;
5
- declare function normalizeId(id: string, base?: string): string;
5
+ declare function normalizeRequestId(id: string, base?: string): string;
6
+ declare function normalizeModuleId(id: string): string;
6
7
  declare function isPrimitive(v: any): boolean;
7
8
  declare function toFilePath(id: string, root: string): string;
8
9
  declare function withInlineSourcemap(result: TransformResult): Promise<TransformResult>;
9
10
 
10
- export { isPrimitive, isWindows, normalizeId, slash, toFilePath, withInlineSourcemap };
11
+ export { isPrimitive, isWindows, normalizeModuleId, normalizeRequestId, slash, toFilePath, withInlineSourcemap };