2024-06-27 11:40:36 +00:00
|
|
|
#!/usr/bin/env node
|
|
|
|
|
|
|
|
const {existsSync} = require(`fs`);
|
|
|
|
const {createRequire, register} = require(`module`);
|
|
|
|
const {resolve} = require(`path`);
|
|
|
|
const {pathToFileURL} = require(`url`);
|
|
|
|
|
|
|
|
const relPnpApiPath = "../../../../.pnp.cjs";
|
|
|
|
|
|
|
|
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
|
2024-09-22 09:58:26 +00:00
|
|
|
const absUserWrapperPath = resolve(__dirname, `./sdk.user.cjs`);
|
2024-06-27 11:40:36 +00:00
|
|
|
const absRequire = createRequire(absPnpApiPath);
|
|
|
|
|
|
|
|
const absPnpLoaderPath = resolve(absPnpApiPath, `../.pnp.loader.mjs`);
|
|
|
|
const isPnpLoaderEnabled = existsSync(absPnpLoaderPath);
|
|
|
|
|
|
|
|
if (existsSync(absPnpApiPath)) {
|
|
|
|
if (!process.versions.pnp) {
|
|
|
|
// Setup the environment to be able to require eslint/bin/eslint.js
|
|
|
|
require(absPnpApiPath).setup();
|
|
|
|
if (isPnpLoaderEnabled && register) {
|
|
|
|
register(pathToFileURL(absPnpLoaderPath));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-09-22 09:58:26 +00:00
|
|
|
const wrapWithUserWrapper = existsSync(absUserWrapperPath)
|
|
|
|
? exports => absRequire(absUserWrapperPath)(exports)
|
|
|
|
: exports => exports;
|
|
|
|
|
2024-06-27 11:40:36 +00:00
|
|
|
// Defer to the real eslint/bin/eslint.js your application uses
|
2024-09-22 09:58:26 +00:00
|
|
|
module.exports = wrapWithUserWrapper(absRequire(`eslint/bin/eslint.js`));
|