{
  "version": 3,
  "sources": ["../../src/checkForUpdates.ts"],
  "sourcesContent": ["import path from 'node:path';\nimport { packageManager } from './packages/cli-meta/index.ts';\nimport type { Config } from './packages/config/index.ts';\nimport { createResolver } from './packages/client/index.ts';\nimport { pickRegistryForPackage } from './packages/pick-registry-for-package/index.ts';\nimport { updateCheckLogger } from './packages/core-loggers/index.ts';\nimport { loadJsonFile } from 'load-json-file';\nimport { writeJsonFile } from 'write-json-file';\n\ntype State = {\n  lastUpdateCheck?: string | undefined;\n};\n\nconst UPDATE_CHECK_FREQUENCY = 24 * 60 * 60 * 1000; // 1 day\n\nexport async function checkForUpdates(config: Config): Promise<void> {\n  const stateFile = path.join(config.stateDir, 'pnpm-state.json');\n\n  let state: State | undefined;\n\n  try {\n    state = await loadJsonFile(stateFile);\n  } catch {}\n\n  if (\n    typeof state?.lastUpdateCheck === 'string' &&\n    Date.now() - new Date(state.lastUpdateCheck).valueOf() <\n      UPDATE_CHECK_FREQUENCY\n  ) {\n    return;\n  }\n\n  const { resolve } = createResolver({\n    ...config,\n    authConfig: config.rawConfig,\n    retry: {\n      retries: 0,\n    },\n  });\n\n  const resolution = await resolve(\n    { alias: packageManager.name, pref: 'latest' },\n    {\n      lockfileDir: config.lockfileDir, // ?? config.dir,\n      preferredVersions: {},\n      projectDir: config.dir,\n      registry: pickRegistryForPackage(\n        config.registries,\n        packageManager.name,\n        'latest'\n      ),\n    }\n  );\n\n  if (typeof resolution.manifest?.version === 'string') {\n    updateCheckLogger.debug({\n      currentVersion: packageManager.version,\n      latestVersion: resolution.manifest.version,\n    });\n  }\n\n  await writeJsonFile(stateFile, {\n    ...state,\n    lastUpdateCheck: new Date().toUTCString(),\n  });\n}\n"],
  "mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,sBAAsB;AAE/B,SAAS,sBAAsB;AAC/B,SAAS,8BAA8B;AACvC,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAM9B,MAAM,yBAAyB,KAAK,KAAK,KAAK;AAE9C,eAAsB,gBAAgB,QAA+B;AACnE,QAAM,YAAY,KAAK,KAAK,OAAO,UAAU,iBAAiB;AAE9D,MAAI;AAEJ,MAAI;AACF,YAAQ,MAAM,aAAa,SAAS;AAAA,EACtC,QAAQ;AAAA,EAAC;AAET,MACE,OAAO,OAAO,oBAAoB,YAClC,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,eAAe,EAAE,QAAQ,IACnD,wBACF;AACA;AAAA,EACF;AAEA,QAAM,EAAE,QAAQ,IAAI,eAAe;AAAA,IACjC,GAAG;AAAA,IACH,YAAY,OAAO;AAAA,IACnB,OAAO;AAAA,MACL,SAAS;AAAA,IACX;AAAA,EACF,CAAC;AAED,QAAM,aAAa,MAAM;AAAA,IACvB,EAAE,OAAO,eAAe,MAAM,MAAM,SAAS;AAAA,IAC7C;AAAA,MACE,aAAa,OAAO;AAAA;AAAA,MACpB,mBAAmB,CAAC;AAAA,MACpB,YAAY,OAAO;AAAA,MACnB,UAAU;AAAA,QACR,OAAO;AAAA,QACP,eAAe;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,OAAO,WAAW,UAAU,YAAY,UAAU;AACpD,sBAAkB,MAAM;AAAA,MACtB,gBAAgB,eAAe;AAAA,MAC/B,eAAe,WAAW,SAAS;AAAA,IACrC,CAAC;AAAA,EACH;AAEA,QAAM,cAAc,WAAW;AAAA,IAC7B,GAAG;AAAA,IACH,kBAAiB,oBAAI,KAAK,GAAE,YAAY;AAAA,EAC1C,CAAC;AACH;",
  "names": []
}
