{"version":3,"file":"buildPackageJson.cjs","sources":["../src/buildPackageJson.ts"],"sourcesContent":["import { type types, castings } from '@bemedev/types';\nimport editJsonFile from 'edit-json-file';\nimport sortKeys from 'sort-keys';\nimport { BIN_KEY, EXPORT_KEY, EXPORT_KEYS } from './constants';\nimport { getTypescriptOutdir } from './getTypescriptOutdir';\n\ntype BuldPackageJson_F = types.Fn<\n  [],\n  {\n    packageJson: object;\n    outDir: string;\n  }\n>;\n\nexport const buildPackageJson: BuldPackageJson_F = () => {\n  const file = editJsonFile('./package.json');\n  const outDir = getTypescriptOutdir();\n  const lib = `${outDir}/`;\n\n  const replaceLib = (str: string) => str.replace(lib, '');\n\n  // #region Set export values\n  EXPORT_KEYS.forEach(key => {\n    const value = file.get(key);\n    if (value) {\n      const transformed = replaceLib(value);\n      file.set(key, transformed);\n    }\n  });\n  // #endregion\n\n  // #region Set Export key\n  const valueExports = file.get(EXPORT_KEY);\n\n  if (valueExports) {\n    const transformedExports = Object.entries(valueExports).reduce(\n      (acc, [key, value]) => {\n        const entries = Object.entries(value as any);\n        const _value = entries.reduce((acc, [key, value]) => {\n          acc[key] = replaceLib(value as any);\n          return acc;\n        }, {} as any);\n        acc[key] = key.includes('package.json') ? value : _value;\n        return acc;\n      },\n      {} as any,\n    );\n\n    file.set(EXPORT_KEY, transformedExports);\n  }\n  // #endregion\n\n  // #region Set bin\n  const bin1 = castings.objects.dynamic<Record<string, string>>(\n    file.get(BIN_KEY),\n  );\n\n  if (bin1) {\n    const bin2 = Object.entries(bin1).reduce((acc, [key, value]) => {\n      acc[key] = replaceLib(value);\n      return acc;\n    }, {} as any);\n    const bin3 = sortKeys(bin2);\n\n    file.set(BIN_KEY, bin3);\n  }\n  // #endregion\n\n  // #region Unset some props\n  file.unset('files');\n  file.unset('scripts');\n  file.unset('devDependencies');\n  // #endregion\n\n  const packageJson = file.get();\n\n  // Sorting dev deps\n  return { packageJson, outDir };\n};\n"],"names":["getTypescriptOutdir","EXPORT_KEYS","EXPORT_KEY","castings","BIN_KEY"],"mappings":";;;;;;;;AAcO,MAAM,gBAAgB,GAAsB,MAAK;AACtD,IAAA,MAAM,IAAI,GAAG,YAAY,CAAC,gBAAgB,CAAC;AAC3C,IAAA,MAAM,MAAM,GAAGA,uCAAmB,EAAE;AACpC,IAAA,MAAM,GAAG,GAAG,CAAA,EAAG,MAAM,GAAG;AAExB,IAAA,MAAM,UAAU,GAAG,CAAC,GAAW,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;;AAGxD,IAAAC,qBAAW,CAAC,OAAO,CAAC,GAAG,IAAG;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3B,IAAI,KAAK,EAAE;AACT,YAAA,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;AACrC,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC;QAC5B;AACF,IAAA,CAAC,CAAC;;;IAIF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAACC,oBAAU,CAAC;IAEzC,IAAI,YAAY,EAAE;QAChB,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAC5D,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;YACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAY,CAAC;AAC5C,YAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;gBAClD,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAY,CAAC;AACnC,gBAAA,OAAO,GAAG;YACZ,CAAC,EAAE,EAAS,CAAC;AACb,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,KAAK,GAAG,MAAM;AACxD,YAAA,OAAO,GAAG;QACZ,CAAC,EACD,EAAS,CACV;AAED,QAAA,IAAI,CAAC,GAAG,CAACA,oBAAU,EAAE,kBAAkB,CAAC;IAC1C;;;AAIA,IAAA,MAAM,IAAI,GAAGC,cAAQ,CAAC,OAAO,CAAC,OAAO,CACnC,IAAI,CAAC,GAAG,CAACC,iBAAO,CAAC,CAClB;IAED,IAAI,IAAI,EAAE;QACR,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;YAC7D,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AAC5B,YAAA,OAAO,GAAG;QACZ,CAAC,EAAE,EAAS,CAAC;AACb,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAE3B,QAAA,IAAI,CAAC,GAAG,CAACA,iBAAO,EAAE,IAAI,CAAC;IACzB;;;AAIA,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AACnB,IAAA,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;AACrB,IAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;;AAG7B,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE;;AAG9B,IAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE;AAChC;;;;"}