@mxpicture/build-api 0.2.58 → 0.2.60
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/dist/{pkg/ExportExtractor.d.ts → exp/ExportsExtractor.d.ts} +8 -8
- package/dist/exp/ExportsExtractor.d.ts.map +1 -0
- package/dist/{pkg/ExportExtractor.js → exp/ExportsExtractor.js} +30 -31
- package/dist/exp/ExportsExtractor.js.map +1 -0
- package/dist/exp/ExportsJsonFile.d.ts +13 -0
- package/dist/exp/ExportsJsonFile.d.ts.map +1 -0
- package/dist/exp/ExportsJsonFile.js +59 -0
- package/dist/exp/ExportsJsonFile.js.map +1 -0
- package/dist/exp/ExportsTsFile.d.ts +9 -0
- package/dist/exp/ExportsTsFile.d.ts.map +1 -0
- package/dist/exp/ExportsTsFile.js +29 -0
- package/dist/exp/ExportsTsFile.js.map +1 -0
- package/dist/exp/exports.d.ts +3 -0
- package/dist/exp/exports.d.ts.map +1 -0
- package/dist/exp/exports.js +945 -0
- package/dist/exp/exports.js.map +1 -0
- package/dist/exp/index.d.ts +5 -0
- package/dist/exp/index.d.ts.map +1 -0
- package/dist/exp/index.js +6 -0
- package/dist/exp/index.js.map +1 -0
- package/dist/pkg/UpdatePackages.d.ts.map +1 -1
- package/dist/pkg/UpdatePackages.js +14 -13
- package/dist/pkg/UpdatePackages.js.map +1 -1
- package/dist/pkg/index.d.ts +0 -1
- package/dist/pkg/index.d.ts.map +1 -1
- package/dist/pkg/index.js +0 -1
- package/dist/pkg/index.js.map +1 -1
- package/dist/scripts/generateOwnExports.d.ts +2 -0
- package/dist/scripts/generateOwnExports.d.ts.map +1 -0
- package/dist/scripts/generateOwnExports.js +24 -0
- package/dist/scripts/generateOwnExports.js.map +1 -0
- package/dist/types/types.exports.d.ts +3 -3
- package/dist/types/types.exports.d.ts.map +1 -1
- package/dist/types/types.exports.js.map +1 -1
- package/package.json +6 -3
- package/dist/pkg/ExportExtractor.d.ts.map +0 -1
- package/dist/pkg/ExportExtractor.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exp/exports.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAe;IACnC,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE;QACX;YACE,EAAE,EAAE,6BAA6B;YACjC,IAAI,EAAE,wBAAwB;SAC/B;QACD;YACE,EAAE,EAAE,8BAA8B;YAClC,IAAI,EAAE,yBAAyB;SAChC;QACD;YACE,EAAE,EAAE,2BAA2B;YAC/B,IAAI,EAAE,sBAAsB;SAC7B;QACD;YACE,EAAE,EAAE,6BAA6B;YACjC,IAAI,EAAE,wBAAwB;SAC/B;QACD;YACE,EAAE,EAAE,2BAA2B;YAC/B,IAAI,EAAE,sBAAsB;SAC7B;QACD;YACE,EAAE,EAAE,0BAA0B;YAC9B,IAAI,EAAE,qBAAqB;SAC5B;QACD;YACE,EAAE,EAAE,0BAA0B;YAC9B,IAAI,EAAE,qBAAqB;SAC5B;QACD;YACE,EAAE,EAAE,6BAA6B;YACjC,IAAI,EAAE,wBAAwB;SAC/B;QACD;YACE,EAAE,EAAE,iCAAiC;YACrC,IAAI,EAAE,4BAA4B;SACnC;QACD;YACE,EAAE,EAAE,6BAA6B;YACjC,IAAI,EAAE,wBAAwB;SAC/B;QACD;YACE,EAAE,EAAE,0BAA0B;YAC9B,IAAI,EAAE,qBAAqB;SAC5B;QACD;YACE,EAAE,EAAE,4BAA4B;YAChC,IAAI,EAAE,uBAAuB;SAC9B;QACD;YACE,EAAE,EAAE,6BAA6B;YACjC,IAAI,EAAE,wBAAwB;SAC/B;QACD;YACE,EAAE,EAAE,gCAAgC;YACpC,IAAI,EAAE,2BAA2B;SAClC;QACD;YACE,EAAE,EAAE,mCAAmC;YACvC,IAAI,EAAE,gBAAgB;SACvB;KACF;IACD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,8BAA8B;SACvC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,8BAA8B;SACvC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,iCAAiC;SAC1C;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,iCAAiC;SAC1C;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,0BAA0B;SACnC;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,4BAA4B;SACrC;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,4BAA4B;SACrC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,4BAA4B;SACrC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,4BAA4B;SACrC;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,6BAA6B;SACtC;QACD;YACE,IAAI,EAAE,+BAA+B;YACrC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,gCAAgC;SACzC;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,gCAAgC;SACzC;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,gCAAgC;SACzC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,gCAAgC;SACzC;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,gCAAgC;SACzC;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,gCAAgC;SACzC;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,gCAAgC;SACzC;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,gCAAgC;SACzC;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,mCAAmC;SAC5C;KACF;IACD,WAAW,EAAE;QACX;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,MAAM;YACZ,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,sFAAsF;SACzF;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,qFAAqF;SACxF;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,sFAAsF;SACzF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,sFAAsF;SACzF;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,sFAAsF;SACzF;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,sFAAsF;SACzF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,sFAAsF;SACzF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,MAAM;YACZ,MAAM,EACJ,uFAAuF;SAC1F;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,MAAM;YACZ,MAAM,EACJ,uFAAuF;SAC1F;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,uFAAuF;SAC1F;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,uFAAuF;SAC1F;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,uFAAuF;SAC1F;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,uFAAuF;SAC1F;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,uFAAuF;SAC1F;QACD;YACE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,uFAAuF;SAC1F;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,uFAAuF;SAC1F;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,MAAM;YACZ,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,8EAA8E;SACjF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,oFAAoF;SACvF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EACJ,oFAAoF;SACvF;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,qFAAqF;SACxF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,8FAA8F;SACjG;QACD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,wFAAwF;SAC3F;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,0FAA0F;SAC7F;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,2FAA2F;SAC9F;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,4FAA4F;SAC/F;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,MAAM;YACZ,MAAM,EACJ,yFAAyF;SAC5F;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,sFAAsF;SACzF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,kBAAkB;YACxB,MAAM,EACJ,oFAAoF;SACvF;KACF;CACF,CAAC","sourcesContent":["import { PackageAPI } from \"../types/types.exports.js\";\n\nexport const pkgExport: PackageAPI = {\n packageName: \"@mxpicture/build-api\",\n entrypoints: [\n {\n id: \"@mxpicture/build-api/barrel\",\n file: \"./dist/barrel/index.js\",\n },\n {\n id: \"@mxpicture/build-api/cleanup\",\n file: \"./dist/cleanup/index.js\",\n },\n {\n id: \"@mxpicture/build-api/code\",\n file: \"./dist/code/index.js\",\n },\n {\n id: \"@mxpicture/build-api/common\",\n file: \"./dist/common/index.js\",\n },\n {\n id: \"@mxpicture/build-api/deps\",\n file: \"./dist/deps/index.js\",\n },\n {\n id: \"@mxpicture/build-api/exp\",\n file: \"./dist/exp/index.js\",\n },\n {\n id: \"@mxpicture/build-api/git\",\n file: \"./dist/git/index.js\",\n },\n {\n id: \"@mxpicture/build-api/logger\",\n file: \"./dist/logger/index.js\",\n },\n {\n id: \"@mxpicture/build-api/npmPublish\",\n file: \"./dist/npmPublish/index.js\",\n },\n {\n id: \"@mxpicture/build-api/osInfo\",\n file: \"./dist/osInfo/index.js\",\n },\n {\n id: \"@mxpicture/build-api/pkg\",\n file: \"./dist/pkg/index.js\",\n },\n {\n id: \"@mxpicture/build-api/types\",\n file: \"./dist/types/index.js\",\n },\n {\n id: \"@mxpicture/build-api/vscode\",\n file: \"./dist/vscode/index.js\",\n },\n {\n id: \"@mxpicture/build-api/workspace\",\n file: \"./dist/workspace/index.js\",\n },\n {\n id: \"@mxpicture/build-api/package.json\",\n file: \"./package.json\",\n },\n ],\n runtimeExports: [\n {\n name: \"Barrel\",\n kind: \"function\",\n source: \"@mxpicture/build-api/barrel\",\n },\n {\n name: \"DEFAULT_EXCLUDED_PATTERNS\",\n kind: \"object\",\n source: \"@mxpicture/build-api/barrel\",\n },\n {\n name: \"DEFAULT_HEADER\",\n kind: \"string\",\n source: \"@mxpicture/build-api/barrel\",\n },\n {\n name: \"runBarrel\",\n kind: \"function\",\n source: \"@mxpicture/build-api/barrel\",\n },\n {\n name: \"Cleanup\",\n kind: \"function\",\n source: \"@mxpicture/build-api/cleanup\",\n },\n {\n name: \"runCleanup\",\n kind: \"function\",\n source: \"@mxpicture/build-api/cleanup\",\n },\n {\n name: \"createSourceFileMap\",\n kind: \"function\",\n source: \"@mxpicture/build-api/code\",\n },\n {\n name: \"createSourceFiles\",\n kind: \"function\",\n source: \"@mxpicture/build-api/code\",\n },\n {\n name: \"declarationKindName\",\n kind: \"function\",\n source: \"@mxpicture/build-api/code\",\n },\n {\n name: \"fileExportsByFile\",\n kind: \"function\",\n source: \"@mxpicture/build-api/code\",\n },\n {\n name: \"fileExportsCompilerApi\",\n kind: \"function\",\n source: \"@mxpicture/build-api/code\",\n },\n {\n name: \"formatCode\",\n kind: \"function\",\n source: \"@mxpicture/build-api/code\",\n },\n {\n name: \"formatJson\",\n kind: \"function\",\n source: \"@mxpicture/build-api/code\",\n },\n {\n name: \"formatJsonStringify\",\n kind: \"function\",\n source: \"@mxpicture/build-api/code\",\n },\n {\n name: \"guessKindFromFlags\",\n kind: \"function\",\n source: \"@mxpicture/build-api/code\",\n },\n {\n name: \"JsonStringifyFormat\",\n kind: \"object\",\n source: \"@mxpicture/build-api/common\",\n },\n {\n name: \"execAsync\",\n kind: \"function\",\n source: \"@mxpicture/build-api/common\",\n },\n {\n name: \"existsAsync\",\n kind: \"function\",\n source: \"@mxpicture/build-api/common\",\n },\n {\n name: \"jsonClone\",\n kind: \"function\",\n source: \"@mxpicture/build-api/common\",\n },\n {\n name: \"jsonEqual\",\n kind: \"function\",\n source: \"@mxpicture/build-api/common\",\n },\n {\n name: \"jsonParse\",\n kind: \"function\",\n source: \"@mxpicture/build-api/common\",\n },\n {\n name: \"jsonStringify\",\n kind: \"function\",\n source: \"@mxpicture/build-api/common\",\n },\n {\n name: \"FixWorkspaceDepsFile\",\n kind: \"function\",\n source: \"@mxpicture/build-api/deps\",\n },\n {\n name: \"FixWorkspaceDepsVersion\",\n kind: \"function\",\n source: \"@mxpicture/build-api/deps\",\n },\n {\n name: \"IFixWorkspaceDeps\",\n kind: \"function\",\n source: \"@mxpicture/build-api/deps\",\n },\n {\n name: \"instanceFixDeps\",\n kind: \"function\",\n source: \"@mxpicture/build-api/deps\",\n },\n {\n name: \"runFixDeps\",\n kind: \"function\",\n source: \"@mxpicture/build-api/deps\",\n },\n {\n name: \"ExportsExtractor\",\n kind: \"function\",\n source: \"@mxpicture/build-api/exp\",\n },\n {\n name: \"ExportsJsonFile\",\n kind: \"function\",\n source: \"@mxpicture/build-api/exp\",\n },\n {\n name: \"ExportsTsFile\",\n kind: \"function\",\n source: \"@mxpicture/build-api/exp\",\n },\n {\n name: \"loadExportsJsonFile\",\n kind: \"function\",\n source: \"@mxpicture/build-api/exp\",\n },\n {\n name: \"pkgExport\",\n kind: \"object\",\n source: \"@mxpicture/build-api/exp\",\n },\n {\n name: \"runExportsExtractor\",\n kind: \"function\",\n source: \"@mxpicture/build-api/exp\",\n },\n {\n name: \"GitChanges\",\n kind: \"function\",\n source: \"@mxpicture/build-api/git\",\n },\n {\n name: \"__resetGitEntries\",\n kind: \"function\",\n source: \"@mxpicture/build-api/git\",\n },\n {\n name: \"commitHashs\",\n kind: \"function\",\n source: \"@mxpicture/build-api/git\",\n },\n {\n name: \"ensureCommitRef\",\n kind: \"function\",\n source: \"@mxpicture/build-api/git\",\n },\n {\n name: \"gitChanges\",\n kind: \"function\",\n source: \"@mxpicture/build-api/git\",\n },\n {\n name: \"initGitChanges\",\n kind: \"function\",\n source: \"@mxpicture/build-api/git\",\n },\n {\n name: \"lastCommitHash\",\n kind: \"function\",\n source: \"@mxpicture/build-api/git\",\n },\n {\n name: \"lastTag\",\n kind: \"function\",\n source: \"@mxpicture/build-api/git\",\n },\n {\n name: \"tags\",\n kind: \"function\",\n source: \"@mxpicture/build-api/git\",\n },\n {\n name: \"verifiedGit\",\n kind: \"function\",\n source: \"@mxpicture/build-api/git\",\n },\n {\n name: \"consoleLogger\",\n kind: \"object\",\n source: \"@mxpicture/build-api/logger\",\n },\n {\n name: \"initLogger\",\n kind: \"function\",\n source: \"@mxpicture/build-api/logger\",\n },\n {\n name: \"logError\",\n kind: \"function\",\n source: \"@mxpicture/build-api/logger\",\n },\n {\n name: \"logInfo\",\n kind: \"function\",\n source: \"@mxpicture/build-api/logger\",\n },\n {\n name: \"logSuccess\",\n kind: \"function\",\n source: \"@mxpicture/build-api/logger\",\n },\n {\n name: \"logger\",\n kind: \"function\",\n source: \"@mxpicture/build-api/logger\",\n },\n {\n name: \"silentLogger\",\n kind: \"object\",\n source: \"@mxpicture/build-api/logger\",\n },\n {\n name: \"NpmPublisher\",\n kind: \"function\",\n source: \"@mxpicture/build-api/npmPublish\",\n },\n {\n name: \"runNpmPublisher\",\n kind: \"function\",\n source: \"@mxpicture/build-api/npmPublish\",\n },\n {\n name: \"__resetOsInfo\",\n kind: \"function\",\n source: \"@mxpicture/build-api/osInfo\",\n },\n {\n name: \"defaultInfo\",\n kind: \"function\",\n source: \"@mxpicture/build-api/osInfo\",\n },\n {\n name: \"osInfo\",\n kind: \"function\",\n source: \"@mxpicture/build-api/osInfo\",\n },\n {\n name: \"wslInfo\",\n kind: \"function\",\n source: \"@mxpicture/build-api/osInfo\",\n },\n {\n name: \"Pkg\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"SyncPkgVersion\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"UpdatePackages\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"bumpVersion\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"compareVersions\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"compareVersionsGT\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"concatVersion\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"ensurePkgJsonPath\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"readPackageJson\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"readPackageJsonSync\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"runSyncPkgVersion\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"runUpdatePackages\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"splitVersion\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"writePackageJson\",\n kind: \"function\",\n source: \"@mxpicture/build-api/pkg\",\n },\n {\n name: \"ChangeWatchType\",\n kind: \"object\",\n source: \"@mxpicture/build-api/types\",\n },\n {\n name: \"DepsProcessMode\",\n kind: \"object\",\n source: \"@mxpicture/build-api/types\",\n },\n {\n name: \"DepsReplacementMode\",\n kind: \"object\",\n source: \"@mxpicture/build-api/types\",\n },\n {\n name: \"WorkspaceFileType\",\n kind: \"object\",\n source: \"@mxpicture/build-api/types\",\n },\n {\n name: \"__resetSettings\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"__resetStorage\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"activeProfile\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"clangFormatStyle\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"configPath\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"configUserPath\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"defaultSettingsPath\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"profileSettingsPath\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"profiles\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"storage\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"storagePath\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"vscodeSettings\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"vscodeWorkspace\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"vscodeWorkspaceRoot\",\n kind: \"function\",\n source: \"@mxpicture/build-api/vscode\",\n },\n {\n name: \"DEFAULT_WORKSPACE_FILE_ENDING\",\n kind: \"string\",\n source: \"@mxpicture/build-api/workspace\",\n },\n {\n name: \"Workspace\",\n kind: \"function\",\n source: \"@mxpicture/build-api/workspace\",\n },\n {\n name: \"__resetWorkspaceRoot\",\n kind: \"function\",\n source: \"@mxpicture/build-api/workspace\",\n },\n {\n name: \"findWorkspaceRoot\",\n kind: \"function\",\n source: \"@mxpicture/build-api/workspace\",\n },\n {\n name: \"getFileType\",\n kind: \"function\",\n source: \"@mxpicture/build-api/workspace\",\n },\n {\n name: \"initWorkspace\",\n kind: \"function\",\n source: \"@mxpicture/build-api/workspace\",\n },\n {\n name: \"readWorkspaceYaml\",\n kind: \"function\",\n source: \"@mxpicture/build-api/workspace\",\n },\n {\n name: \"workspace\",\n kind: \"function\",\n source: \"@mxpicture/build-api/workspace\",\n },\n {\n name: \"author\",\n kind: \"string\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"default\",\n kind: \"object\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"dependencies\",\n kind: \"object\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"description\",\n kind: \"string\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"engines\",\n kind: \"object\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"exports\",\n kind: \"object\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"files\",\n kind: \"object\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"license\",\n kind: \"string\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"name\",\n kind: \"string\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"publishConfig\",\n kind: \"object\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"repository\",\n kind: \"object\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"scripts\",\n kind: \"object\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"type\",\n kind: \"string\",\n source: \"@mxpicture/build-api/package.json\",\n },\n {\n name: \"version\",\n kind: \"string\",\n source: \"@mxpicture/build-api/package.json\",\n },\n ],\n typeExports: [\n {\n name: \"WorkspaceData\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/workspace/Workspace.d.ts\",\n },\n {\n name: \"Workspace\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/workspace/Workspace.d.ts\",\n },\n {\n name: \"PnpmWorkspace\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.workspace.d.ts\",\n },\n {\n name: \"WorkspaceFileType\",\n kind: \"enum\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.workspace.d.ts\",\n },\n {\n name: \"WorkspaceFile\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.workspace.d.ts\",\n },\n {\n name: \"VSCodeProfile\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.vscode.d.ts\",\n },\n {\n name: \"VSCodeStorage\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.vscode.d.ts\",\n },\n {\n name: \"VSCodeSettings\",\n kind: \"TypeAliasDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.vscode.d.ts\",\n },\n {\n name: \"VSCodeWorkspaceFolder\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.vscode.d.ts\",\n },\n {\n name: \"VSCodeWorkspace\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.vscode.d.ts\",\n },\n {\n name: \"RunRepoRootParams\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.run.d.ts\",\n },\n {\n name: \"PackageVersion\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.package.d.ts\",\n },\n {\n name: \"PackageJson\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.package.d.ts\",\n },\n {\n name: \"MapEntry\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.package.d.ts\",\n },\n {\n name: \"BumpParams\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.package.d.ts\",\n },\n {\n name: \"SyncPkgVersionParams\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.package.d.ts\",\n },\n {\n name: \"UpdatePackagesParams\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.package.d.ts\",\n },\n {\n name: \"OSInfo\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.os.d.ts\",\n },\n {\n name: \"NpmPublisherParams\",\n kind: \"TypeAliasDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.npm.d.ts\",\n },\n {\n name: \"GitChangedResult\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.git.d.ts\",\n },\n {\n name: \"GitChangedContent\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.git.d.ts\",\n },\n {\n name: \"GitChangedContentsResult\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.git.d.ts\",\n },\n {\n name: \"GitCommitHash\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.git.d.ts\",\n },\n {\n name: \"ExportNode\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.exports.d.ts\",\n },\n {\n name: \"EntryPoint\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.exports.d.ts\",\n },\n {\n name: \"PackageAPI\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.exports.d.ts\",\n },\n {\n name: \"ExportsExtractorParams\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.exports.d.ts\",\n },\n {\n name: \"DocumentFieldValue\",\n kind: \"TypeAliasDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.documents.d.ts\",\n },\n {\n name: \"DocumentData\",\n kind: \"TypeAliasDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.documents.d.ts\",\n },\n {\n name: \"DepsProcessMode\",\n kind: \"enum\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.deps.d.ts\",\n },\n {\n name: \"DepsReplacementMode\",\n kind: \"enum\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.deps.d.ts\",\n },\n {\n name: \"FixWorkspaceDepsMain\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.deps.d.ts\",\n },\n {\n name: \"FixWorkspaceDepsData\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.deps.d.ts\",\n },\n {\n name: \"FixWorkspaceDepsParams\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.deps.d.ts\",\n },\n {\n name: \"SourceFile\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.code.d.ts\",\n },\n {\n name: \"SourceExportItem\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.code.d.ts\",\n },\n {\n name: \"SourceExport\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.code.d.ts\",\n },\n {\n name: \"FileExportsParams\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.code.d.ts\",\n },\n {\n name: \"ToBeDeleted\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.cleanup.d.ts\",\n },\n {\n name: \"ToCleanup\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.cleanup.d.ts\",\n },\n {\n name: \"CleanupParams\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.cleanup.d.ts\",\n },\n {\n name: \"ChangeWatchType\",\n kind: \"enum\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.changelog.d.ts\",\n },\n {\n name: \"ChangeWatch\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.changelog.d.ts\",\n },\n {\n name: \"ChangeEventHandler\",\n kind: \"TypeAliasDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.changelog.d.ts\",\n },\n {\n name: \"ChangeWatchHandler\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.changelog.d.ts\",\n },\n {\n name: \"BarrelGroup\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.barrel.d.ts\",\n },\n {\n name: \"BarrelResult\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.barrel.d.ts\",\n },\n {\n name: \"BarrelParams\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.barrel.d.ts\",\n },\n {\n name: \"BarrelPersistParams\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/types/types.barrel.d.ts\",\n },\n {\n name: \"UpdatePackages\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/pkg/UpdatePackages.d.ts\",\n },\n {\n name: \"SyncPkgVersion\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/pkg/SyncPkgVersion.d.ts\",\n },\n {\n name: \"Pkg\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/pkg/Pkg.d.ts\",\n },\n {\n name: \"LoggerHandler\",\n kind: \"TypeAliasDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/logger/Logger.d.ts\",\n },\n {\n name: \"Logger\",\n kind: \"InterfaceDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/logger/Logger.d.ts\",\n },\n {\n name: \"GitChanges\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/git/GitChanges.d.ts\",\n },\n {\n name: \"NpmPublisher\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/npmPublish/NpmPublisher.d.ts\",\n },\n {\n name: \"ExportsTsFile\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/exp/ExportsTsFile.d.ts\",\n },\n {\n name: \"ExportsJsonFile\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/exp/ExportsJsonFile.d.ts\",\n },\n {\n name: \"ExportsExtractor\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/exp/ExportsExtractor.d.ts\",\n },\n {\n name: \"IFixWorkspaceDeps\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/deps/FixWorkspaceDeps.d.ts\",\n },\n {\n name: \"FixWorkspaceDepsVersion\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/deps/FixWorkspaceDeps.d.ts\",\n },\n {\n name: \"FixWorkspaceDepsFile\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/deps/FixWorkspaceDeps.d.ts\",\n },\n {\n name: \"JsonStringifyFormat\",\n kind: \"enum\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/common/common.json.d.ts\",\n },\n {\n name: \"Cleanup\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/cleanup/Cleanup.d.ts\",\n },\n {\n name: \"Barrel\",\n kind: \"ClassDeclaration\",\n source:\n \"/home/runner/work/npm-build-cli/npm-build-cli/packages/api/dist/barrel/Barrel.d.ts\",\n },\n ],\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exp/index.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/exp/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC","sourcesContent":["// This file is auto-generated for build-cli. Do not edit manually.\nexport * from \"./ExportsExtractor.js\";\nexport * from \"./ExportsJsonFile.js\";\nexport * from \"./ExportsTsFile.js\";\nexport * from \"./exports.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdatePackages.d.ts","sourceRoot":"","sources":["../../src/pkg/UpdatePackages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAM9E;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAAU,QAAQ,oBAAoB,kBAGnE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IAQN,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;IAPrD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;gBACmC,OAAO,EAAE,MAAM;IAIrD;;;;;;;;;OASG;IACU,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;cAwBjB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAetC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAWnD,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;IAIxE,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;cAOpD,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GACvC,OAAO,CAAC,MAAM,EAAE,CAAC;cAQJ,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAMpD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;cAK5B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdatePackages.d.ts","sourceRoot":"","sources":["../../src/pkg/UpdatePackages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAM9E;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,GAAU,QAAQ,oBAAoB,kBAGnE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IAQN,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;IAPrD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;gBACmC,OAAO,EAAE,MAAM;IAIrD;;;;;;;;;OASG;IACU,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;cAwBjB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAetC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAWnD,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;IAIxE,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;cAOpD,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GACvC,OAAO,CAAC,MAAM,EAAE,CAAC;cAQJ,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAMpD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;cAK5B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;cAiD9B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAgDhD"}
|
|
@@ -123,26 +123,27 @@ export class UpdatePackages {
|
|
|
123
123
|
continue;
|
|
124
124
|
const key = pkgName.replace(/\+/g, "/");
|
|
125
125
|
if (!packageVersions.has(key))
|
|
126
|
-
packageVersions.set(key, []);
|
|
127
|
-
packageVersions.get(key)
|
|
126
|
+
packageVersions.set(key, { versions: [], dirs: [] });
|
|
127
|
+
const entry = packageVersions.get(key);
|
|
128
|
+
entry.versions.push(version.split("_")[0]); // Remove peer dep suffixes
|
|
129
|
+
entry.dirs.push(dir);
|
|
128
130
|
}
|
|
129
|
-
//
|
|
130
|
-
|
|
131
|
-
for (const [pkg, versions] of packageVersions) {
|
|
131
|
+
// Collect only directories for packages that have duplicates
|
|
132
|
+
const dirsToRemove = [];
|
|
133
|
+
for (const [pkg, { versions, dirs }] of packageVersions) {
|
|
132
134
|
const uniqueVersions = [...new Set(versions)];
|
|
133
135
|
if (uniqueVersions.length <= 1)
|
|
134
136
|
continue;
|
|
135
137
|
logInfo(`⚠️ Multiple versions found for ${pkg}:`, uniqueVersions.join(", "));
|
|
136
|
-
|
|
138
|
+
dirsToRemove.push(...dirs);
|
|
137
139
|
}
|
|
138
|
-
if (
|
|
139
|
-
logInfo("\n🔨
|
|
140
|
+
if (dirsToRemove.length > 0) {
|
|
141
|
+
logInfo("\n🔨 Removing duplicate version directories...");
|
|
140
142
|
logInfo(" This ensures TypeScript loads the correct types.");
|
|
141
|
-
|
|
142
|
-
await Promise.all(
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
]);
|
|
143
|
+
// Remove only the specific duplicate directories, not all of node_modules
|
|
144
|
+
await Promise.all(dirsToRemove.map((dir) => this.exec(`rm -rf '${dir}'`)));
|
|
145
|
+
// Fast reinstall — only needs to recreate symlinks for removed packages
|
|
146
|
+
await this.exec("pnpm install");
|
|
146
147
|
}
|
|
147
148
|
}
|
|
148
149
|
async verifyPackages() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdatePackages.js","sourceRoot":"","sources":["../../src/pkg/UpdatePackages.ts"],"names":[],"mappings":"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","sourcesContent":["import { PackageJson, UpdatePackagesParams } from \"../types/types.package.js\";\nimport { logInfo, logSuccess } from \"../logger/Logger.js\";\nimport { execAsync } from \"../common/common.fs.js\";\nimport micromatch from \"micromatch\";\nimport { initWorkspace, workspace } from \"../workspace/Workspace.js\";\n\n/**\n * Initializes the workspace and runs the package-update workflow.\n *\n * @remarks\n * This is a convenience entry point that constructs an {@link UpdatePackages} instance\n * and immediately invokes its {@link UpdatePackages.run} method.\n *\n * @param params - Configuration for the update, including the repo root and a glob pattern to select packages.\n * @returns A promise that resolves when all matching packages have been updated and verified.\n */\nexport const runUpdatePackages = async (params: UpdatePackagesParams) => {\n initWorkspace(params.repoRoot);\n return new UpdatePackages(params.pattern).run();\n};\n\n/**\n * Bulk-updates dependencies matching a glob pattern across all workspace packages.\n *\n * @remarks\n * The update pipeline performs five sequential steps:\n * 1. Discover matching dependencies across every workspace package.\n * 2. Run `pnpm update -r --latest` for the matched packages.\n * 3. Deduplicate the dependency tree with `pnpm dedupe`.\n * 4. Remove stale duplicate versions from `node_modules/.pnpm`.\n * 5. Verify that all workspaces converge on the same version for each package.\n */\nexport class UpdatePackages {\n protected patternWoSlash: string;\n\n /**\n * Creates a new UpdatePackages instance.\n *\n * @param pattern - A glob pattern used to match dependency names (e.g. `\"@angular/*\"`).\n */\n public constructor(protected readonly pattern: string) {\n this.patternWoSlash = pattern.replaceAll(\"/\", \"+\");\n }\n\n /**\n * Executes the full package-update pipeline.\n *\n * @remarks\n * Discovers matching packages, updates them, deduplicates, cleans old versions,\n * and verifies consistency. Exits the process with code 1 if version\n * inconsistencies are detected after the update.\n *\n * @returns A promise that resolves when the pipeline completes successfully.\n */\n public async run(): Promise<void> {\n logInfo(`🚀 Starting ${this.pattern} packages update process...\\n`);\n\n // Step 1: Find all packages\n const packages = await this.getPackages();\n logInfo(`📦 Found ${this.pattern} packages:`);\n for (const pkg of packages) logInfo(` - ${pkg}`);\n\n if (packages.size === 0)\n return logSuccess(`✅ No ${this.pattern} packages found.`);\n\n // Step 2: Update packages in all workspaces recursively\n await this.updatePackages(packages);\n\n // Step 3: Deduplicate dependencies\n await this.deduplicate();\n\n // Step 4: Remove old versions from node_modules\n await this.rmOldVersions();\n\n // Step 5: Verify all packages are at the same version\n await this.verifyPackages();\n }\n\n protected async exec(command: string): Promise<string> {\n console.log(`\\n▶ ${command}`);\n try {\n return (\n await execAsync(command, {\n cwd: workspace().repoRoot,\n encoding: \"utf-8\",\n })\n ).stdout;\n } catch (error) {\n console.error(`Error executing: ${command}`);\n throw error;\n }\n }\n\n protected async getPackages(): Promise<Set<string>> {\n const ws = workspace();\n await ws.read();\n const pkgs = [...ws.packages, ws.rootPackage];\n const packageNames: string[] = (\n await Promise.all(this.filterPackages(pkgs.map((p) => p.content)))\n ).flat();\n\n return new Set<string>(packageNames);\n }\n\n protected filterPackages(wsPackages: PackageJson[]): Promise<string[]>[] {\n return wsPackages.flatMap((wsPackage) => this.filterPackage(wsPackage));\n }\n\n protected filterPackage(wsPackage: PackageJson): Promise<string[]>[] {\n return [\n this.filterPackageDep(wsPackage.dependencies),\n this.filterPackageDep(wsPackage.devDependencies),\n ];\n }\n\n protected async filterPackageDep(\n deps: Record<string, string> | undefined,\n ): Promise<string[]> {\n return Promise.resolve(\n Object.keys(deps ?? []).filter((depName) =>\n micromatch.isMatch(depName, this.pattern),\n ),\n );\n }\n\n protected async updatePackages(packages: Set<string>): Promise<void> {\n logInfo(\"\\n📥 Updating packages across all workspaces...\");\n const packageList = Array.from(packages).join(\" \");\n await this.exec(`pnpm update -r --latest ${packageList}`);\n }\n\n protected async deduplicate(): Promise<void> {\n logInfo(\"\\n🔧 Deduplicating dependencies...\");\n await this.exec(\"pnpm dedupe\");\n }\n\n protected async rmOldVersions(): Promise<void> {\n logInfo(\"\\n🧹 Checking for old versions...\");\n const oldVersions = await this.exec(\n `find node_modules/.pnpm -type d -name \"${this.patternWoSlash}\" -depth 1 2>/dev/null || true`,\n );\n const versionDirs = oldVersions.trim().split(\"\\n\").filter(Boolean);\n\n // Group by package name to identify duplicates\n const packageVersions = new Map<string, string[]>();\n for (const dir of versionDirs) {\n const match = dir.match(/\\/(@?[a-z-+]+)@(.+)$/);\n if (!match) continue;\n const [, pkgName, version] = match;\n if (!micromatch.isMatch(pkgName, this.patternWoSlash)) continue;\n const key = pkgName.replace(/\\+/g, \"/\");\n if (!packageVersions.has(key)) packageVersions.set(key, []);\n packageVersions.get(key)!.push(version.split(\"_\")[0]); // Remove peer dep suffixes\n }\n\n // Check for duplicates\n let hasDuplicates = false;\n for (const [pkg, versions] of packageVersions) {\n const uniqueVersions = [...new Set(versions)];\n if (uniqueVersions.length <= 1) continue;\n logInfo(\n `⚠️ Multiple versions found for ${pkg}:`,\n uniqueVersions.join(\", \"),\n );\n hasDuplicates = true;\n }\n\n if (hasDuplicates) {\n logInfo(\"\\n🔨 Reinstalling to remove duplicate versions...\");\n logInfo(\" This ensures TypeScript loads the correct types.\");\n await this.exec(\"mv node_modules node_modules_tmp\");\n await Promise.all([\n this.exec(\"rm -rf node_modules_tmp\"),\n this.exec(\"pnpm install\"),\n ]);\n }\n }\n\n protected async verifyPackages(): Promise<void> {\n logSuccess(\"\\n✅ Verifying package versions...\");\n const listOutput = await this.exec(\n `pnpm list ${this.pattern} --depth=0 -r --json`,\n );\n const workspaces = JSON.parse(listOutput);\n\n const versionMap = new Map<string, Map<string, string>>();\n\n for (const workspace of workspaces) {\n const deps = workspace.dependencies ?? {};\n for (const [pkg, info] of Object.entries(deps)) {\n if (micromatch.isMatch(pkg, this.pattern)) {\n if (!versionMap.has(pkg)) versionMap.set(pkg, new Map());\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n versionMap.get(pkg)!.set(workspace.name, (info as any).version);\n }\n }\n }\n\n let allConsistent = true;\n for (const [pkg, versions] of versionMap) {\n const uniqueVersions = new Set(versions.values());\n if (uniqueVersions.size <= 1) {\n logSuccess(`✅ ${pkg}: ${[...uniqueVersions][0]}`);\n continue;\n }\n\n logInfo(`❌ Inconsistent versions for ${pkg}:`);\n for (const [workspace, version] of versions)\n logInfo(` - ${workspace}: ${version}`);\n\n allConsistent = false;\n }\n\n if (!allConsistent) {\n console.error(\n \"\\n❌ Version inconsistencies detected! Please review and fix manually.\",\n );\n process.exit(1);\n }\n\n logInfo(`\\n🎉 All ${this.pattern} packages updated successfully!`);\n logInfo(\n \"\\n💡 Tip: Restart your TypeScript server in VS Code to pick up the new types.\",\n );\n logInfo(' - Cmd+Shift+P → \"TypeScript: Restart TS Server\"');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"UpdatePackages.js","sourceRoot":"","sources":["../../src/pkg/UpdatePackages.ts"],"names":[],"mappings":"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","sourcesContent":["import { PackageJson, UpdatePackagesParams } from \"../types/types.package.js\";\nimport { logInfo, logSuccess } from \"../logger/Logger.js\";\nimport { execAsync } from \"../common/common.fs.js\";\nimport micromatch from \"micromatch\";\nimport { initWorkspace, workspace } from \"../workspace/Workspace.js\";\n\n/**\n * Initializes the workspace and runs the package-update workflow.\n *\n * @remarks\n * This is a convenience entry point that constructs an {@link UpdatePackages} instance\n * and immediately invokes its {@link UpdatePackages.run} method.\n *\n * @param params - Configuration for the update, including the repo root and a glob pattern to select packages.\n * @returns A promise that resolves when all matching packages have been updated and verified.\n */\nexport const runUpdatePackages = async (params: UpdatePackagesParams) => {\n initWorkspace(params.repoRoot);\n return new UpdatePackages(params.pattern).run();\n};\n\n/**\n * Bulk-updates dependencies matching a glob pattern across all workspace packages.\n *\n * @remarks\n * The update pipeline performs five sequential steps:\n * 1. Discover matching dependencies across every workspace package.\n * 2. Run `pnpm update -r --latest` for the matched packages.\n * 3. Deduplicate the dependency tree with `pnpm dedupe`.\n * 4. Remove stale duplicate versions from `node_modules/.pnpm`.\n * 5. Verify that all workspaces converge on the same version for each package.\n */\nexport class UpdatePackages {\n protected patternWoSlash: string;\n\n /**\n * Creates a new UpdatePackages instance.\n *\n * @param pattern - A glob pattern used to match dependency names (e.g. `\"@angular/*\"`).\n */\n public constructor(protected readonly pattern: string) {\n this.patternWoSlash = pattern.replaceAll(\"/\", \"+\");\n }\n\n /**\n * Executes the full package-update pipeline.\n *\n * @remarks\n * Discovers matching packages, updates them, deduplicates, cleans old versions,\n * and verifies consistency. Exits the process with code 1 if version\n * inconsistencies are detected after the update.\n *\n * @returns A promise that resolves when the pipeline completes successfully.\n */\n public async run(): Promise<void> {\n logInfo(`🚀 Starting ${this.pattern} packages update process...\\n`);\n\n // Step 1: Find all packages\n const packages = await this.getPackages();\n logInfo(`📦 Found ${this.pattern} packages:`);\n for (const pkg of packages) logInfo(` - ${pkg}`);\n\n if (packages.size === 0)\n return logSuccess(`✅ No ${this.pattern} packages found.`);\n\n // Step 2: Update packages in all workspaces recursively\n await this.updatePackages(packages);\n\n // Step 3: Deduplicate dependencies\n await this.deduplicate();\n\n // Step 4: Remove old versions from node_modules\n await this.rmOldVersions();\n\n // Step 5: Verify all packages are at the same version\n await this.verifyPackages();\n }\n\n protected async exec(command: string): Promise<string> {\n console.log(`\\n▶ ${command}`);\n try {\n return (\n await execAsync(command, {\n cwd: workspace().repoRoot,\n encoding: \"utf-8\",\n })\n ).stdout;\n } catch (error) {\n console.error(`Error executing: ${command}`);\n throw error;\n }\n }\n\n protected async getPackages(): Promise<Set<string>> {\n const ws = workspace();\n await ws.read();\n const pkgs = [...ws.packages, ws.rootPackage];\n const packageNames: string[] = (\n await Promise.all(this.filterPackages(pkgs.map((p) => p.content)))\n ).flat();\n\n return new Set<string>(packageNames);\n }\n\n protected filterPackages(wsPackages: PackageJson[]): Promise<string[]>[] {\n return wsPackages.flatMap((wsPackage) => this.filterPackage(wsPackage));\n }\n\n protected filterPackage(wsPackage: PackageJson): Promise<string[]>[] {\n return [\n this.filterPackageDep(wsPackage.dependencies),\n this.filterPackageDep(wsPackage.devDependencies),\n ];\n }\n\n protected async filterPackageDep(\n deps: Record<string, string> | undefined,\n ): Promise<string[]> {\n return Promise.resolve(\n Object.keys(deps ?? []).filter((depName) =>\n micromatch.isMatch(depName, this.pattern),\n ),\n );\n }\n\n protected async updatePackages(packages: Set<string>): Promise<void> {\n logInfo(\"\\n📥 Updating packages across all workspaces...\");\n const packageList = Array.from(packages).join(\" \");\n await this.exec(`pnpm update -r --latest ${packageList}`);\n }\n\n protected async deduplicate(): Promise<void> {\n logInfo(\"\\n🔧 Deduplicating dependencies...\");\n await this.exec(\"pnpm dedupe\");\n }\n\n protected async rmOldVersions(): Promise<void> {\n logInfo(\"\\n🧹 Checking for old versions...\");\n const oldVersions = await this.exec(\n `find node_modules/.pnpm -type d -name \"${this.patternWoSlash}\" -depth 1 2>/dev/null || true`,\n );\n const versionDirs = oldVersions.trim().split(\"\\n\").filter(Boolean);\n\n // Group by package name to identify duplicates\n const packageVersions = new Map<\n string,\n { versions: string[]; dirs: string[] }\n >();\n for (const dir of versionDirs) {\n const match = dir.match(/\\/(@?[a-z-+]+)@(.+)$/);\n if (!match) continue;\n const [, pkgName, version] = match;\n if (!micromatch.isMatch(pkgName, this.patternWoSlash)) continue;\n const key = pkgName.replace(/\\+/g, \"/\");\n if (!packageVersions.has(key))\n packageVersions.set(key, { versions: [], dirs: [] });\n const entry = packageVersions.get(key)!;\n entry.versions.push(version.split(\"_\")[0]); // Remove peer dep suffixes\n entry.dirs.push(dir);\n }\n\n // Collect only directories for packages that have duplicates\n const dirsToRemove: string[] = [];\n for (const [pkg, { versions, dirs }] of packageVersions) {\n const uniqueVersions = [...new Set(versions)];\n if (uniqueVersions.length <= 1) continue;\n logInfo(\n `⚠️ Multiple versions found for ${pkg}:`,\n uniqueVersions.join(\", \"),\n );\n dirsToRemove.push(...dirs);\n }\n\n if (dirsToRemove.length > 0) {\n logInfo(\"\\n🔨 Removing duplicate version directories...\");\n logInfo(\" This ensures TypeScript loads the correct types.\");\n // Remove only the specific duplicate directories, not all of node_modules\n await Promise.all(\n dirsToRemove.map((dir) => this.exec(`rm -rf '${dir}'`)),\n );\n // Fast reinstall — only needs to recreate symlinks for removed packages\n await this.exec(\"pnpm install\");\n }\n }\n\n protected async verifyPackages(): Promise<void> {\n logSuccess(\"\\n✅ Verifying package versions...\");\n const listOutput = await this.exec(\n `pnpm list ${this.pattern} --depth=0 -r --json`,\n );\n const workspaces = JSON.parse(listOutput);\n\n const versionMap = new Map<string, Map<string, string>>();\n\n for (const workspace of workspaces) {\n const deps = workspace.dependencies ?? {};\n for (const [pkg, info] of Object.entries(deps)) {\n if (micromatch.isMatch(pkg, this.pattern)) {\n if (!versionMap.has(pkg)) versionMap.set(pkg, new Map());\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n versionMap.get(pkg)!.set(workspace.name, (info as any).version);\n }\n }\n }\n\n let allConsistent = true;\n for (const [pkg, versions] of versionMap) {\n const uniqueVersions = new Set(versions.values());\n if (uniqueVersions.size <= 1) {\n logSuccess(`✅ ${pkg}: ${[...uniqueVersions][0]}`);\n continue;\n }\n\n logInfo(`❌ Inconsistent versions for ${pkg}:`);\n for (const [workspace, version] of versions)\n logInfo(` - ${workspace}: ${version}`);\n\n allConsistent = false;\n }\n\n if (!allConsistent) {\n console.error(\n \"\\n❌ Version inconsistencies detected! Please review and fix manually.\",\n );\n process.exit(1);\n }\n\n logInfo(`\\n🎉 All ${this.pattern} packages updated successfully!`);\n logInfo(\n \"\\n💡 Tip: Restart your TypeScript server in VS Code to pick up the new types.\",\n );\n logInfo(' - Cmd+Shift+P → \"TypeScript: Restart TS Server\"');\n }\n}\n"]}
|
package/dist/pkg/index.d.ts
CHANGED
package/dist/pkg/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pkg/index.ts"],"names":[],"mappings":"AACA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pkg/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
package/dist/pkg/index.js
CHANGED
package/dist/pkg/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pkg/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pkg/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC","sourcesContent":["// This file is auto-generated for build-cli. Do not edit manually.\nexport * from \"./Pkg.js\";\nexport * from \"./SyncPkgVersion.js\";\nexport * from \"./UpdatePackages.js\";\nexport * from \"./pkg.common.js\";\nexport * from \"./pkg.fs.js\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateOwnExports.d.ts","sourceRoot":"","sources":["../../src/scripts/generateOwnExports.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { initWorkspace } from "../workspace/Workspace.js";
|
|
2
|
+
import { join, resolve } from "node:path";
|
|
3
|
+
import { ExportsJsonFile } from "../exp/ExportsJsonFile.js";
|
|
4
|
+
import { ExportsExtractor } from "../exp/ExportsExtractor.js";
|
|
5
|
+
import { ExportsTsFile } from "../exp/ExportsTsFile.js";
|
|
6
|
+
const __dirname = import.meta.dirname;
|
|
7
|
+
const repoRoot = resolve(__dirname, "..");
|
|
8
|
+
const run = async () => {
|
|
9
|
+
initWorkspace(repoRoot);
|
|
10
|
+
const jsonPath = join(repoRoot, "exp", "exports.json");
|
|
11
|
+
const jsonFile = new ExportsJsonFile("@mxpicture/build-api", jsonPath);
|
|
12
|
+
const tsFile = ExportsTsFile.linkByJson(jsonFile);
|
|
13
|
+
const exp = new ExportsExtractor(jsonFile);
|
|
14
|
+
const result = await exp.run();
|
|
15
|
+
await Promise.all([jsonFile.write(), tsFile.write()]);
|
|
16
|
+
console.log("{");
|
|
17
|
+
console.log(` packageName: ${result.packageName}`);
|
|
18
|
+
console.log(` entrypoints: ${result.entrypoints.length}`);
|
|
19
|
+
console.log(` runtimeExports: ${result.runtimeExports.length}`);
|
|
20
|
+
console.log(` typeExports: ${result.typeExports.length}`);
|
|
21
|
+
console.log("}");
|
|
22
|
+
};
|
|
23
|
+
run().catch(console.log);
|
|
24
|
+
//# sourceMappingURL=generateOwnExports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateOwnExports.js","sourceRoot":"","sources":["../../src/scripts/generateOwnExports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAE1C,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACrB,aAAa,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;IAE/B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC","sourcesContent":["import { initWorkspace } from \"../workspace/Workspace.js\";\nimport { join, resolve } from \"node:path\";\nimport { ExportsJsonFile } from \"../exp/ExportsJsonFile.js\";\nimport { ExportsExtractor } from \"../exp/ExportsExtractor.js\";\nimport { ExportsTsFile } from \"../exp/ExportsTsFile.js\";\n\nconst __dirname = import.meta.dirname;\nconst repoRoot = resolve(__dirname, \"..\");\n\nconst run = async () => {\n initWorkspace(repoRoot);\n\n const jsonPath = join(repoRoot, \"exp\", \"exports.json\");\n\n const jsonFile = new ExportsJsonFile(\"@mxpicture/build-api\", jsonPath);\n const tsFile = ExportsTsFile.linkByJson(jsonFile);\n const exp = new ExportsExtractor(jsonFile);\n const result = await exp.run();\n\n await Promise.all([jsonFile.write(), tsFile.write()]);\n\n console.log(\"{\");\n console.log(` packageName: ${result.packageName}`);\n console.log(` entrypoints: ${result.entrypoints.length}`);\n console.log(` runtimeExports: ${result.runtimeExports.length}`);\n console.log(` typeExports: ${result.typeExports.length}`);\n console.log(\"}\");\n};\n\nrun().catch(console.log);\n"]}
|
|
@@ -23,8 +23,8 @@ export interface EntryPoint {
|
|
|
23
23
|
* Final API analysis result.
|
|
24
24
|
*/
|
|
25
25
|
export interface PackageAPI {
|
|
26
|
-
/**
|
|
27
|
-
|
|
26
|
+
/** Name of root package */
|
|
27
|
+
packageName: string;
|
|
28
28
|
/** All discovered entrypoints */
|
|
29
29
|
entrypoints: EntryPoint[];
|
|
30
30
|
/** Runtime exports discovered via module loading */
|
|
@@ -35,7 +35,7 @@ export interface PackageAPI {
|
|
|
35
35
|
/**
|
|
36
36
|
* Parameters for bulk-updating packages that match a pattern.
|
|
37
37
|
*/
|
|
38
|
-
export interface
|
|
38
|
+
export interface ExportsExtractorParams extends RunRepoRootParams {
|
|
39
39
|
package: string;
|
|
40
40
|
json?: string;
|
|
41
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.exports.d.ts","sourceRoot":"","sources":["../../src/types/types.exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.exports.d.ts","sourceRoot":"","sources":["../../src/types/types.exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,oDAAoD;IACpD,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,kDAAkD;IAClD,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.exports.js","sourceRoot":"","sources":["../../src/types/types.exports.ts"],"names":[],"mappings":"","sourcesContent":["import { RunRepoRootParams } from \"./types.run.js\";\n\n/**\n * Represents a discovered export in a package.\n */\nexport interface ExportNode {\n /** Export name */\n name: string;\n\n /** Type of export (function, object, class, etc.) */\n kind: string;\n\n /** Source entrypoint */\n source: string;\n}\n\n/**\n * Represents a resolved package entrypoint.\n */\nexport interface EntryPoint {\n /** Import specifier used to load the entrypoint */\n id: string;\n
|
|
1
|
+
{"version":3,"file":"types.exports.js","sourceRoot":"","sources":["../../src/types/types.exports.ts"],"names":[],"mappings":"","sourcesContent":["import { RunRepoRootParams } from \"./types.run.js\";\n\n/**\n * Represents a discovered export in a package.\n */\nexport interface ExportNode {\n /** Export name */\n name: string;\n\n /** Type of export (function, object, class, etc.) */\n kind: string;\n\n /** Source entrypoint */\n source: string;\n}\n\n/**\n * Represents a resolved package entrypoint.\n */\nexport interface EntryPoint {\n /** Import specifier used to load the entrypoint */\n id: string;\n /** Absolute path to resolved file */\n file?: string;\n}\n\n/**\n * Final API analysis result.\n */\nexport interface PackageAPI {\n /** Name of root package */\n packageName: string;\n /** All discovered entrypoints */\n entrypoints: EntryPoint[];\n /** Runtime exports discovered via module loading */\n runtimeExports: ExportNode[];\n /** Type exports discovered via `.d.ts` parsing */\n typeExports: ExportNode[];\n}\n\n/**\n * Parameters for bulk-updating packages that match a pattern.\n */\nexport interface ExportsExtractorParams extends RunRepoRootParams {\n package: string;\n json?: string;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mxpicture/build-api",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.60",
|
|
4
4
|
"description": "Build utilities API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "MXPicture",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"./code": "./dist/code/index.js",
|
|
16
16
|
"./common": "./dist/common/index.js",
|
|
17
17
|
"./deps": "./dist/deps/index.js",
|
|
18
|
+
"./exp": "./dist/exp/index.js",
|
|
18
19
|
"./git": "./dist/git/index.js",
|
|
19
20
|
"./logger": "./dist/logger/index.js",
|
|
20
21
|
"./npmPublish": "./dist/npmPublish/index.js",
|
|
@@ -34,7 +35,8 @@
|
|
|
34
35
|
"scripts": {
|
|
35
36
|
"lint": "eslint \"src/**/*.{ts,tsx}\" --ext .ts,.tsx",
|
|
36
37
|
"build": "tsc -b .",
|
|
37
|
-
"test": "vitest run"
|
|
38
|
+
"test": "vitest run",
|
|
39
|
+
"update-own-exports": "pnpm exec tsx src/scripts/generateOwnExports.ts"
|
|
38
40
|
},
|
|
39
41
|
"publishConfig": {
|
|
40
42
|
"access": "public"
|
|
@@ -49,6 +51,7 @@
|
|
|
49
51
|
"resolve.exports": "^2.0.3",
|
|
50
52
|
"simple-git": "^3.32.3",
|
|
51
53
|
"typescript": "^5.9.3",
|
|
52
|
-
"yaml": "^2.8.2"
|
|
54
|
+
"yaml": "^2.8.2",
|
|
55
|
+
"zod": "^4.3.6"
|
|
53
56
|
}
|
|
54
57
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExportExtractor.d.ts","sourceRoot":"","sources":["../../src/pkg/ExportExtractor.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,UAAU,EACX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAOxD,eAAO,MAAM,kBAAkB,GAAU,QAAQ,qBAAqB,kBAWrE,CAAC;AAEF,qBAAa,eAAe;aAOS,GAAG,EAAE,MAAM;IAN9C;;;;;OAKG;gBACgC,GAAG,EAAE,MAAM;IAE9C;;OAEG;IACU,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;IAkB1B,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzD;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAKjD;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,UAAU,EAAE;IAmCf;;OAEG;cACa,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,UAAU,EAAE,CAAC;IAuBxB;;OAEG;cACa,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQxE;;OAEG;cACa,qBAAqB,CACnC,WAAW,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,UAAU,EAAE,CAAC;IAiBxB;;OAEG;cACa,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CA0CtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExportExtractor.js","sourceRoot":"","sources":["../../src/pkg/ExportExtractor.ts"],"names":[],"mappings":"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","sourcesContent":["import { dirname, relative } from \"node:path\";\nimport ts from \"typescript\";\nimport { glob } from \"glob\";\nimport { createRequire } from \"node:module\";\nimport { resolve as resolveExports } from \"resolve.exports\";\nimport { readPackageJson } from \"./pkg.fs.js\";\nimport {\n EntryPoint,\n ExportExtractorParams,\n ExportNode,\n PackageAPI,\n} from \"../types/types.exports.js\";\nimport { initWorkspace } from \"../workspace/Workspace.js\";\nimport { PackageJson } from \"../types/types.package.js\";\nimport { createSourceFileMap } from \"../code/code.common.js\";\nimport { writeFile } from \"node:fs/promises\";\nimport { jsonStringify, JsonStringifyFormat } from \"../common/common.json.js\";\n\nconst require = createRequire(import.meta.url);\n\nexport const runExportExtractor = async (params: ExportExtractorParams) => {\n initWorkspace(params.repoRoot);\n\n const exp = new ExportExtractor(params.package);\n const result = await exp.run();\n if (params.json) {\n await exp.writeJson(params.json, result);\n } else {\n const content = await exp.toJson(result);\n console.log(content);\n }\n};\n\nexport class ExportExtractor {\n /**\n * Analyze an installed package and produce\n * a structured API representation.\n *\n * @param pkg package name\n */\n public constructor(public readonly pkg: string) {}\n\n /**\n * Analyze an installed package and build its API model.\n */\n public async run(): Promise<PackageAPI> {\n const root = this.resolvePackageRoot(this.pkg);\n const pkgJson = await readPackageJson(root);\n\n let entrypoints = this.resolveEntrypoints(this.pkg, pkgJson);\n entrypoints = await this.expandWildcardEntrypoints(root, entrypoints);\n\n const runtimeExports = await this.inspectRuntimeExports(entrypoints);\n const typeExports = await this.parseTypeExports(root);\n\n return {\n packageRoot: root,\n entrypoints,\n runtimeExports,\n typeExports,\n };\n }\n\n public async writeJson(filePath: string, content: PackageAPI): Promise<void> {\n return writeFile(filePath, await this.toJson(content));\n }\n\n public async toJson(content: PackageAPI): Promise<string> {\n return jsonStringify(content, JsonStringifyFormat.jsonStringify);\n }\n\n /**\n * Resolve the root directory of an installed package.\n */\n protected resolvePackageRoot(pkg: string): string {\n const pkgJson = require.resolve(`${pkg}/package.json`);\n return dirname(pkgJson);\n }\n\n /**\n * Resolve entrypoints using the Node exports algorithm.\n */\n protected resolveEntrypoints(\n pkg: string,\n pkgJson: PackageJson,\n ): EntryPoint[] {\n const entrypoints: EntryPoint[] = [];\n\n if (!pkgJson.exports) {\n entrypoints.push({ id: pkg });\n return entrypoints;\n }\n\n const keys = Object.keys(pkgJson.exports);\n\n for (const key of keys) {\n try {\n const resolved = resolveExports(pkgJson, key, {\n conditions: [\"node\", \"import\", \"require\", \"default\"],\n });\n\n if (!resolved) continue;\n\n const files = Array.isArray(resolved) ? resolved : [resolved];\n\n for (const file of files) {\n const specifier =\n key === \".\" ? pkg : `${pkg}/${key.replace(\"./\", \"\")}`;\n\n entrypoints.push({\n id: specifier,\n file,\n });\n }\n } catch {}\n }\n\n return entrypoints;\n }\n\n /**\n * Expand wildcard export patterns.\n */\n protected async expandWildcardEntrypoints(\n root: string,\n entrypoints: EntryPoint[],\n ): Promise<EntryPoint[]> {\n return (\n await Promise.allSettled(\n entrypoints.map(async (entry) => {\n if (!entry.file?.includes(\"*\")) return [entry];\n\n const pattern = entry.file;\n const files = await glob.glob(pattern, {\n cwd: root,\n absolute: true,\n });\n\n return files.map((file) => ({\n id: relative(root, file).replace(/\\.(js|mjs|cjs)$/, \"\"),\n file,\n }));\n }),\n )\n )\n .filter((r) => r.status === \"fulfilled\")\n .flatMap((r) => r.value);\n }\n\n /**\n * Dynamically import a module supporting ESM and CommonJS.\n */\n protected async loadModule(id: string): Promise<Record<string, unknown>> {\n try {\n return await import(id);\n } catch {\n return require(id);\n }\n }\n\n /**\n * Extract runtime exports from entrypoints.\n */\n protected async inspectRuntimeExports(\n entrypoints: EntryPoint[],\n ): Promise<ExportNode[]> {\n return (\n await Promise.allSettled(\n entrypoints.map(async (entry) => {\n const mod = await this.loadModule(entry.id);\n return Object.keys(mod).map((name) => ({\n name,\n kind: typeof mod[name],\n source: entry.id,\n }));\n }),\n )\n )\n .filter((r) => r.status === \"fulfilled\")\n .flatMap((r) => r.value);\n }\n\n /**\n * Parse TypeScript declaration files to extract exported types.\n */\n protected async parseTypeExports(root: string): Promise<ExportNode[]> {\n const nodes: ExportNode[] = [];\n\n const filePaths = await glob.glob(\"**/*.d.ts\", {\n cwd: root,\n absolute: true,\n });\n\n const srcMap = createSourceFileMap(filePaths);\n\n for (const filePath of filePaths) {\n const file = srcMap.get(filePath);\n if (!file) continue;\n\n ts.forEachChild(file.sourceFile, (node) => {\n if (\n ts.isInterfaceDeclaration(node) ||\n ts.isTypeAliasDeclaration(node) ||\n ts.isClassDeclaration(node) ||\n ts.isFunctionDeclaration(node)\n ) {\n if (!node.name) return;\n\n nodes.push({\n name: node.name.text,\n kind: ts.SyntaxKind[node.kind],\n source: filePath,\n });\n }\n\n if (ts.isEnumDeclaration(node)) {\n nodes.push({\n name: node.name.text,\n kind: \"enum\",\n source: filePath,\n });\n }\n });\n }\n\n return nodes;\n }\n}\n"]}
|