"use strict";
/* Socket Lib - Built with rolldown */
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_node_module = require('../node/module.js');

//#region src/smol/manifest.ts
/**
* @file Lazy-loader for socket-btm's `node:smol-manifest`. `node:smol-manifest`
*   is the manifest + lockfile parser exposed by socket-btm's smol Node binary.
*   It parses package.json, package-lock (npm v1/v2/v3), yarn.lock (classic +
*   berry), and pnpm-lock.yaml (v5/v6/v9) with internal primordial-hardened
*   parsing. Returns `undefined` on stock Node + non-Node runtimes. Result is
*   cached across calls. Callers fall back to the JS parsers under
*   `src/eco/<pm>/parse-*` on the undefined path.
*
* @internal — used by `src/eco/manifest/*` leaves to resolve the
*   smol-aware parsers. Most callers should import the specific leaf
*   (`@socketsecurity/lib/eco/manifest/parse`), which already routes
*   through this when smol is present.
*/
let _smolManifest;
let _smolManifestProbed = false;
/**
* Returns `node:smol-manifest` when running on the smol Node binary, otherwise
* `undefined`. Result is cached across calls.
*/
/*@__NO_SIDE_EFFECTS__*/
function getSmolManifest() {
	if (!_smolManifestProbed) {
		_smolManifestProbed = true;
		/* c8 ignore start - smol Node binary only. */
		if (/* @__PURE__ */ require_node_module.isNodeBuiltin("node:smol-manifest")) _smolManifest = require("node:smol-manifest");
	}
	return _smolManifest;
}

//#endregion
exports.getSmolManifest = getSmolManifest;