@transcend-io/cli 8.1.7 → 8.20.0
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/README.md +25 -15
- package/dist/bin/bash-complete.cjs +1 -1
- package/dist/bin/cli.cjs +1 -1
- package/dist/bin/deprecated-command.cjs +2 -2
- package/dist/{chunk-43ZI3DHB.cjs → chunk-2IKWKGRE.cjs} +2 -2
- package/dist/{chunk-43ZI3DHB.cjs.map → chunk-2IKWKGRE.cjs.map} +1 -1
- package/dist/{chunk-NBN4WQAR.cjs → chunk-CFAKXEZB.cjs} +51 -14
- package/dist/{chunk-NBN4WQAR.cjs.map → chunk-CFAKXEZB.cjs.map} +1 -1
- package/dist/{chunk-IAZXK7V6.cjs → chunk-EXKPAUEP.cjs} +2 -2
- package/dist/{chunk-IAZXK7V6.cjs.map → chunk-EXKPAUEP.cjs.map} +1 -1
- package/dist/{chunk-X5CKWMKP.cjs → chunk-G2PF2QFC.cjs} +2 -2
- package/dist/{chunk-X5CKWMKP.cjs.map → chunk-G2PF2QFC.cjs.map} +1 -1
- package/dist/{chunk-54CJVBSO.cjs → chunk-GN4PQZTW.cjs} +2 -2
- package/dist/{chunk-54CJVBSO.cjs.map → chunk-GN4PQZTW.cjs.map} +1 -1
- package/dist/{chunk-SR64CZV3.cjs → chunk-HZLUANIA.cjs} +2 -2
- package/dist/{chunk-SR64CZV3.cjs.map → chunk-HZLUANIA.cjs.map} +1 -1
- package/dist/{chunk-GHM266IT.cjs → chunk-R6TAK6HM.cjs} +4 -4
- package/dist/{chunk-GHM266IT.cjs.map → chunk-R6TAK6HM.cjs.map} +1 -1
- package/dist/{chunk-NSZ2MJKX.cjs → chunk-VDPP6XH4.cjs} +2 -2
- package/dist/{chunk-NSZ2MJKX.cjs.map → chunk-VDPP6XH4.cjs.map} +1 -1
- package/dist/{chunk-5FRRIGVX.cjs → chunk-W5G4MO4M.cjs} +20 -20
- package/dist/{chunk-5FRRIGVX.cjs.map → chunk-W5G4MO4M.cjs.map} +1 -1
- package/dist/{chunk-BC4TRKYT.cjs → chunk-WP4MWWEU.cjs} +2 -2
- package/dist/{chunk-BC4TRKYT.cjs.map → chunk-WP4MWWEU.cjs.map} +1 -1
- package/dist/{chunk-LD6JDYD6.cjs → chunk-WRFKBQI7.cjs} +3 -3
- package/dist/{chunk-LD6JDYD6.cjs.map → chunk-WRFKBQI7.cjs.map} +1 -1
- package/dist/{chunk-NYWGNV2B.cjs → chunk-XAMXO4ZU.cjs} +2 -2
- package/dist/{chunk-NYWGNV2B.cjs.map → chunk-XAMXO4ZU.cjs.map} +1 -1
- package/dist/{impl-S7ZTKQXD.cjs → impl-4OM2R3DU.cjs} +2 -2
- package/dist/{impl-S7ZTKQXD.cjs.map → impl-4OM2R3DU.cjs.map} +1 -1
- package/dist/{impl-KIRRQQL3.cjs → impl-4ZMX6NI7.cjs} +2 -2
- package/dist/{impl-KIRRQQL3.cjs.map → impl-4ZMX6NI7.cjs.map} +1 -1
- package/dist/{impl-CSWMPWOS.cjs → impl-7725PBIW.cjs} +2 -2
- package/dist/{impl-CSWMPWOS.cjs.map → impl-7725PBIW.cjs.map} +1 -1
- package/dist/{impl-ZUPAQOEC.cjs → impl-7HS5OXYP.cjs} +2 -2
- package/dist/{impl-ZUPAQOEC.cjs.map → impl-7HS5OXYP.cjs.map} +1 -1
- package/dist/{impl-UNRZALEP.cjs → impl-7NJTDC7N.cjs} +2 -2
- package/dist/{impl-UNRZALEP.cjs.map → impl-7NJTDC7N.cjs.map} +1 -1
- package/dist/{impl-N4YX2RP6.cjs → impl-A4ARAZB5.cjs} +2 -2
- package/dist/{impl-N4YX2RP6.cjs.map → impl-A4ARAZB5.cjs.map} +1 -1
- package/dist/{impl-XYCZDR3W.cjs → impl-B4AVWMTA.cjs} +2 -2
- package/dist/{impl-XYCZDR3W.cjs.map → impl-B4AVWMTA.cjs.map} +1 -1
- package/dist/{impl-HQ3FNU66.cjs → impl-BYP6MSYN.cjs} +2 -2
- package/dist/{impl-HQ3FNU66.cjs.map → impl-BYP6MSYN.cjs.map} +1 -1
- package/dist/{impl-PYAG6UGW.cjs → impl-D47N3KS2.cjs} +2 -2
- package/dist/{impl-PYAG6UGW.cjs.map → impl-D47N3KS2.cjs.map} +1 -1
- package/dist/{impl-GCBMVYAB.cjs → impl-DPAJCCCQ.cjs} +2 -2
- package/dist/{impl-GCBMVYAB.cjs.map → impl-DPAJCCCQ.cjs.map} +1 -1
- package/dist/{impl-HKPYOLVB.cjs → impl-EONKFIXB.cjs} +2 -2
- package/dist/{impl-HKPYOLVB.cjs.map → impl-EONKFIXB.cjs.map} +1 -1
- package/dist/{impl-FMXAHGI6.cjs → impl-F67Z4Z5E.cjs} +2 -2
- package/dist/{impl-FMXAHGI6.cjs.map → impl-F67Z4Z5E.cjs.map} +1 -1
- package/dist/{impl-CUH6LSTU.cjs → impl-FSORO3NH.cjs} +2 -2
- package/dist/{impl-CUH6LSTU.cjs.map → impl-FSORO3NH.cjs.map} +1 -1
- package/dist/{impl-U7FM7ZP2.cjs → impl-GM3LQMV6.cjs} +2 -2
- package/dist/{impl-U7FM7ZP2.cjs.map → impl-GM3LQMV6.cjs.map} +1 -1
- package/dist/{impl-QIZVMBZZ.cjs → impl-IDCUHY36.cjs} +2 -2
- package/dist/{impl-QIZVMBZZ.cjs.map → impl-IDCUHY36.cjs.map} +1 -1
- package/dist/impl-IYXSGCMU.cjs +2 -0
- package/dist/{impl-FYCAJPHI.cjs.map → impl-IYXSGCMU.cjs.map} +1 -1
- package/dist/{impl-OXDUMKRZ.cjs → impl-JJHHECCC.cjs} +2 -2
- package/dist/{impl-OXDUMKRZ.cjs.map → impl-JJHHECCC.cjs.map} +1 -1
- package/dist/{impl-LSJ3XG7R.cjs → impl-KCVLYM46.cjs} +2 -2
- package/dist/{impl-LSJ3XG7R.cjs.map → impl-KCVLYM46.cjs.map} +1 -1
- package/dist/{impl-M5A6TUSN.cjs → impl-KV2YRQHY.cjs} +2 -2
- package/dist/{impl-M5A6TUSN.cjs.map → impl-KV2YRQHY.cjs.map} +1 -1
- package/dist/{impl-77V3PSE5.cjs → impl-LHFUO3OY.cjs} +5 -5
- package/dist/{impl-77V3PSE5.cjs.map → impl-LHFUO3OY.cjs.map} +1 -1
- package/dist/{impl-Z4VDHQE5.cjs → impl-LRGRDGET.cjs} +2 -2
- package/dist/{impl-Z4VDHQE5.cjs.map → impl-LRGRDGET.cjs.map} +1 -1
- package/dist/{impl-EOFCKDNY.cjs → impl-N2K7XLAG.cjs} +2 -2
- package/dist/{impl-EOFCKDNY.cjs.map → impl-N2K7XLAG.cjs.map} +1 -1
- package/dist/{impl-4BTKHZWQ.cjs → impl-N2TGS42T.cjs} +2 -2
- package/dist/{impl-4BTKHZWQ.cjs.map → impl-N2TGS42T.cjs.map} +1 -1
- package/dist/{impl-WTXLBBJA.cjs → impl-NI5AKEAP.cjs} +6 -6
- package/dist/{impl-WTXLBBJA.cjs.map → impl-NI5AKEAP.cjs.map} +1 -1
- package/dist/{impl-KOJDDUTL.cjs → impl-NLJZGXP5.cjs} +2 -2
- package/dist/{impl-KOJDDUTL.cjs.map → impl-NLJZGXP5.cjs.map} +1 -1
- package/dist/{impl-F7IPT4GV.cjs → impl-NNJJETJZ.cjs} +4 -4
- package/dist/{impl-F7IPT4GV.cjs.map → impl-NNJJETJZ.cjs.map} +1 -1
- package/dist/{impl-V3WISYYM.cjs → impl-PEZVAY6Y.cjs} +2 -2
- package/dist/{impl-V3WISYYM.cjs.map → impl-PEZVAY6Y.cjs.map} +1 -1
- package/dist/{impl-EUV2IN26.cjs → impl-POLVK5PD.cjs} +2 -2
- package/dist/{impl-EUV2IN26.cjs.map → impl-POLVK5PD.cjs.map} +1 -1
- package/dist/{impl-L3AVZ2FV.cjs → impl-QJ6TMS77.cjs} +2 -2
- package/dist/{impl-L3AVZ2FV.cjs.map → impl-QJ6TMS77.cjs.map} +1 -1
- package/dist/{impl-QNKRUF6I.cjs → impl-QM6PZE6N.cjs} +5 -5
- package/dist/{impl-QNKRUF6I.cjs.map → impl-QM6PZE6N.cjs.map} +1 -1
- package/dist/{impl-YUOKSS5F.cjs → impl-TA5EIWJS.cjs} +2 -2
- package/dist/{impl-YUOKSS5F.cjs.map → impl-TA5EIWJS.cjs.map} +1 -1
- package/dist/{impl-JH4CD23Q.cjs → impl-TCQVLEKS.cjs} +3 -3
- package/dist/{impl-JH4CD23Q.cjs.map → impl-TCQVLEKS.cjs.map} +1 -1
- package/dist/{impl-YWHK5MBZ.cjs → impl-TMXKCYSF.cjs} +2 -2
- package/dist/{impl-YWHK5MBZ.cjs.map → impl-TMXKCYSF.cjs.map} +1 -1
- package/dist/{impl-WS7EKXI2.cjs → impl-TSRLBSVW.cjs} +2 -2
- package/dist/{impl-WS7EKXI2.cjs.map → impl-TSRLBSVW.cjs.map} +1 -1
- package/dist/impl-VEO2SBGG.cjs +2 -0
- package/dist/impl-VEO2SBGG.cjs.map +1 -0
- package/dist/{impl-RJO7YW2C.cjs → impl-VYR77UN4.cjs} +3 -3
- package/dist/{impl-RJO7YW2C.cjs.map → impl-VYR77UN4.cjs.map} +1 -1
- package/dist/{impl-SSG2M6UC.cjs → impl-YZBWTEQH.cjs} +2 -2
- package/dist/{impl-SSG2M6UC.cjs.map → impl-YZBWTEQH.cjs.map} +1 -1
- package/dist/{impl-ISWQGD2H.cjs → impl-ZLI6YRLT.cjs} +2 -2
- package/dist/{impl-ISWQGD2H.cjs.map → impl-ZLI6YRLT.cjs.map} +1 -1
- package/dist/{impl-O2EQ7N63.cjs → impl-ZN4UWQUU.cjs} +2 -2
- package/dist/{impl-O2EQ7N63.cjs.map → impl-ZN4UWQUU.cjs.map} +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +74 -3
- package/package.json +1 -1
- package/dist/impl-FYCAJPHI.cjs +0 -2
- package/dist/impl-YKVQPUKP.cjs +0 -2
- package/dist/impl-YKVQPUKP.cjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWKCTKYN4cjs = require('./chunk-WKCTKYN4.cjs');var
|
|
2
|
-
//# sourceMappingURL=impl-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWKCTKYN4cjs = require('./chunk-WKCTKYN4.cjs');var _chunkCFAKXEZBcjs = require('./chunk-CFAKXEZB.cjs');require('./chunk-LCDYXJN6.cjs');require('./chunk-ZUNVPK23.cjs');require('./chunk-2IKWKGRE.cjs');require('./chunk-Q7I37FJV.cjs');async function d({auth:o,actions:r,origins:i,silentModeBefore:n,createdAtBefore:s,createdAtAfter:a,transcendUrl:c,concurrency:p}){_chunkWKCTKYN4cjs.a.call(void 0, this.process.exit),await _chunkCFAKXEZBcjs.Af.call(void 0, {transcendUrl:c,requestActions:r,auth:o,requestOrigins:i,concurrency:p,silentModeBefore:n,createdAtBefore:s,createdAtAfter:a})}exports.approve = d;
|
|
2
|
+
//# sourceMappingURL=impl-POLVK5PD.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/cli/cli/dist/impl-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/cli/cli/dist/impl-POLVK5PD.cjs","../src/commands/request/approve/impl.ts"],"names":["approve","auth","actions","origins","silentModeBefore","createdAtBefore","createdAtAfter","transcendUrl","concurrency","doneInputValidation","approvePrivacyRequests"],"mappings":"AAAA,iIAAwC,wDAA0C,gCAA6B,gCAA6B,gCAA6B,gCAA6B,MCiBtM,SAAsBA,CAAAA,CAEpB,CACE,IAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CACF,CAAA,CACe,CACfC,iCAAAA,IAAoB,CAAK,OAAA,CAAQ,IAAI,CAAA,CAErC,MAAMC,kCAAAA,CACJ,YAAA,CAAAH,CAAAA,CACA,cAAA,CAAgBL,CAAAA,CAChB,IAAA,CAAAD,CAAAA,CACA,cAAA,CAAgBE,CAAAA,CAChB,WAAA,CAAAK,CAAAA,CACA,gBAAA,CAAAJ,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CACF,CAAC,CACH,CAAA,oBAAA","file":"/home/runner/work/cli/cli/dist/impl-POLVK5PD.cjs","sourcesContent":[null,"import type { LocalContext } from '../../../context';\n\nimport { RequestAction, RequestOrigin } from '@transcend-io/privacy-types';\nimport { approvePrivacyRequests } from '../../../lib/requests';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation';\n\nexport interface ApproveCommandFlags {\n auth: string;\n actions: RequestAction[];\n origins?: RequestOrigin[];\n silentModeBefore?: Date;\n createdAtBefore?: Date;\n createdAtAfter?: Date;\n transcendUrl: string;\n concurrency: number;\n}\n\nexport async function approve(\n this: LocalContext,\n {\n auth,\n actions,\n origins,\n silentModeBefore,\n createdAtBefore,\n createdAtAfter,\n transcendUrl,\n concurrency,\n }: ApproveCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n await approvePrivacyRequests({\n transcendUrl,\n requestActions: actions,\n auth,\n requestOrigins: origins,\n concurrency,\n silentModeBefore,\n createdAtBefore,\n createdAtAfter,\n });\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkHZLUANIAcjs = require('./chunk-HZLUANIA.cjs');require('./chunk-EXKPAUEP.cjs');require('./chunk-QEM6S2W7.cjs');var _chunkWKCTKYN4cjs = require('./chunk-WKCTKYN4.cjs');var _chunkCFAKXEZBcjs = require('./chunk-CFAKXEZB.cjs');require('./chunk-LCDYXJN6.cjs');var _chunkZUNVPK23cjs = require('./chunk-ZUNVPK23.cjs');var _chunk2IKWKGREcjs = require('./chunk-2IKWKGRE.cjs');require('./chunk-Q7I37FJV.cjs');var _querystring = require('query-string');var _colors = require('colors'); var _colors2 = _interopRequireDefault(_colors);var _fastglob = require('fast-glob'); var _fastglob2 = _interopRequireDefault(_fastglob);async function m({scanPath:t,fileGlobs:e,ignoreDirs:g,config:p}){let{ignoreDirs:f,supportedFiles:s,scanFunction:a}=p,n=e===""?s:s.concat(e.split(",")),l=[...g.split(","),...f].filter(o=>o.length>0);try{let o=await _fastglob2.default.call(void 0, `${t}/**/${n.join("|")}`,{ignore:l.map(i=>`${t}/**/${i}`),unique:!0,onlyFiles:!0});_chunkZUNVPK23cjs.a.info(`Scanning: ${o.length} files`);let I=o.map(i=>a(i)).flat().map(i=>i.softwareDevelopmentKits||[]).flat(),d=[...new Set(I.map(i=>i.name))];return _chunkZUNVPK23cjs.a.info(`Found: ${d.length} unique dependencies`),d.map(i=>({name:i,resourceId:`${t}/**/${i}`,useStrictClassifier:!0}))}catch(o){throw new Error(`Error scanning globs ${m} with error: ${o}`)}}async function P({scanPath:t,dataSiloId:e,auth:g,fileGlobs:p,ignoreDirs:f,transcendUrl:s}){_chunkWKCTKYN4cjs.a.call(void 0, this.process.exit);let a=_chunkCFAKXEZBcjs.vc.call(void 0, s,g),n=await _chunkCFAKXEZBcjs.Ac.call(void 0, a,e),l=_chunkHZLUANIAcjs.a[n.dataSilo.type];l||(_chunkZUNVPK23cjs.a.error(_colors2.default.red(`This plugin "${n.dataSilo.type}" is not supported for offline silo discovery.`)),this.process.exit(1));let o=await m({scanPath:t,fileGlobs:p,ignoreDirs:f,config:l});await _chunkCFAKXEZBcjs.kf.call(void 0, a,n.id,o);let c=new URL(_chunk2IKWKGREcjs.o);c.pathname="/data-map/data-inventory/silo-discovery/triage",c.search=_querystring.stringify.call(void 0, {filters:JSON.stringify({pluginIds:[n.id]})}),_chunkZUNVPK23cjs.a.info(_colors2.default.green(`Scan found ${o.length} potential data silos at ${t}! View at '${c.href}'
|
|
2
2
|
|
|
3
3
|
NOTE: it may take 2-3 minutes for scan results to appear in the UI.`))}exports.discoverSilos = P;
|
|
4
|
-
//# sourceMappingURL=impl-
|
|
4
|
+
//# sourceMappingURL=impl-QJ6TMS77.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/cli/cli/dist/impl-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/cli/cli/dist/impl-QJ6TMS77.cjs","../src/commands/inventory/discover-silos/impl.ts","../src/lib/code-scanning/findFilesToScan.ts"],"names":["findFilesToScan","scanPath","fileGlobs","ignoreDirs","config","IGNORE_DIRS","supportedFiles","scanFunction","globsToSupport","dirsToIgnore","dir","filesToScan","fastGlob"],"mappings":"AAAA,iOAAwC,gCAA6B,gCAA6B,wDAAyC,wDAA0D,gCAA6B,wDAAyC,wDAAyC,gCAA6B,2CCCvT,gFAEP,yFCHE,MAsBrB,SAAsBA,CAAAA,CAAgB,CACpC,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CACF,CAAA,CASuC,CACrC,GAAM,CAAE,UAAA,CAAYC,CAAAA,CAAa,cAAA,CAAAC,CAAAA,CAAgB,YAAA,CAAAC,CAAa,CAAA,CAAIH,CAAAA,CAC5DI,CAAAA,CACJN,CAAAA,GAAc,EAAA,CACVI,CAAAA,CACAA,CAAAA,CAAe,MAAA,CAAOJ,CAAAA,CAAU,KAAA,CAAM,GAAG,CAAC,CAAA,CAC1CO,CAAAA,CAAe,CAAC,GAAGN,CAAAA,CAAW,KAAA,CAAM,GAAG,CAAA,CAAG,GAAGE,CAAW,CAAA,CAAE,MAAA,CAC7DK,CAAAA,EAAQA,CAAAA,CAAI,MAAA,CAAS,CACxB,CAAA,CACA,GAAI,CACF,IAAMC,CAAAA,CAAwB,MAAMC,gCAAAA,CAClC,EAAA;ADuByB;AAI/B,oEAAA","file":"/home/runner/work/cli/cli/dist/impl-QJ6TMS77.cjs","sourcesContent":[null,"import type { LocalContext } from '../../../context';\nimport { stringify } from 'query-string';\nimport { logger } from '../../../logger';\nimport colors from 'colors';\nimport { ADMIN_DASH } from '../../../constants';\nimport {\n fetchActiveSiloDiscoPlugin,\n buildTranscendGraphQLClient,\n uploadSiloDiscoveryResults,\n} from '../../../lib/graphql';\nimport { findFilesToScan } from '../../../lib/code-scanning/findFilesToScan';\nimport { SILO_DISCOVERY_CONFIGS } from '../../../lib/code-scanning';\nimport { doneInputValidation } from '../../../lib/cli/done-input-validation';\n\nexport interface DiscoverSilosCommandFlags {\n scanPath: string;\n dataSiloId: string;\n auth: string;\n fileGlobs: string;\n ignoreDirs: string;\n transcendUrl: string;\n}\n\nexport async function discoverSilos(\n this: LocalContext,\n {\n scanPath,\n dataSiloId,\n auth,\n fileGlobs,\n ignoreDirs,\n transcendUrl,\n }: DiscoverSilosCommandFlags,\n): Promise<void> {\n doneInputValidation(this.process.exit);\n\n // Create a GraphQL client\n const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n const plugin = await fetchActiveSiloDiscoPlugin(client, dataSiloId);\n\n const config = SILO_DISCOVERY_CONFIGS[plugin.dataSilo.type];\n if (!config) {\n logger.error(\n colors.red(\n `This plugin \"${plugin.dataSilo.type}\" is not supported for offline silo discovery.`,\n ),\n );\n this.process.exit(1);\n }\n\n const results = await findFilesToScan({\n scanPath,\n fileGlobs,\n ignoreDirs,\n config,\n });\n\n await uploadSiloDiscoveryResults(client, plugin.id, results);\n\n const newUrl = new URL(ADMIN_DASH);\n newUrl.pathname = '/data-map/data-inventory/silo-discovery/triage';\n newUrl.search = stringify({\n filters: JSON.stringify({ pluginIds: [plugin.id] }),\n });\n\n // Indicate success\n logger.info(\n colors.green(\n `Scan found ${results.length} potential data silos at ${scanPath}! ` +\n `View at '${newUrl.href}' ` +\n '\\n\\n NOTE: it may take 2-3 minutes for scan results to appear in the UI.',\n ),\n );\n}\n","import fastGlob from 'fast-glob';\nimport { logger } from '../../logger';\nimport { CodeScanningConfig } from './types';\n\nexport interface SiloDiscoveryRawResults {\n /** The name of the potential data silo entry */\n name: string;\n /** A unique UUID (represents the same resource across different silo discovery runs) */\n resourceId: string;\n /** Any hosts associated with the entry */\n host?: string;\n /** Type of data silo */\n type?: string | undefined;\n}\n\n/**\n * Helper to scan for data silos in all package.json files that it can find in a directory\n *\n * @deprecated TODO: https://transcend.height.app/T-32325 - use code scanning instead\n * @param options - Options\n * @returns the list of integrations\n */\nexport async function findFilesToScan({\n scanPath,\n fileGlobs,\n ignoreDirs,\n config,\n}: {\n /** Where to look for package.json files */\n scanPath: string;\n /** Globs to look for */\n fileGlobs: string;\n /** The directories to ignore (excludes node_modules and serverless-build) */\n ignoreDirs: string;\n /** Silo Discovery configuration */\n config: CodeScanningConfig;\n}): Promise<SiloDiscoveryRawResults[]> {\n const { ignoreDirs: IGNORE_DIRS, supportedFiles, scanFunction } = config;\n const globsToSupport =\n fileGlobs === ''\n ? supportedFiles\n : supportedFiles.concat(fileGlobs.split(','));\n const dirsToIgnore = [...ignoreDirs.split(','), ...IGNORE_DIRS].filter(\n (dir) => dir.length > 0,\n );\n try {\n const filesToScan: string[] = await fastGlob(\n `${scanPath}/**/${globsToSupport.join('|')}`,\n {\n ignore: dirsToIgnore.map((dir: string) => `${scanPath}/**/${dir}`),\n unique: true,\n onlyFiles: true,\n },\n );\n logger.info(`Scanning: ${filesToScan.length} files`);\n const allPackages = filesToScan\n .map((filePath: string) => scanFunction(filePath))\n .flat();\n const allSdks = allPackages\n .map((appPackage) => appPackage.softwareDevelopmentKits || [])\n .flat();\n const uniqueDeps = new Set(allSdks.map((sdk) => sdk.name));\n const deps = [...uniqueDeps];\n logger.info(`Found: ${deps.length} unique dependencies`);\n return deps.map((dep) => ({\n name: dep,\n resourceId: `${scanPath}/**/${dep}`,\n useStrictClassifier: true,\n }));\n } catch (error) {\n throw new Error(\n `Error scanning globs ${findFilesToScan} with error: ${error}`,\n );\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkWKCTKYN4cjs = require('./chunk-WKCTKYN4.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkWKCTKYN4cjs = require('./chunk-WKCTKYN4.cjs');var _chunkCFAKXEZBcjs = require('./chunk-CFAKXEZB.cjs');require('./chunk-LCDYXJN6.cjs');var _chunkZUNVPK23cjs = require('./chunk-ZUNVPK23.cjs');var _chunk2IKWKGREcjs = require('./chunk-2IKWKGRE.cjs');require('./chunk-Q7I37FJV.cjs');var _colors = require('colors'); var _colors2 = _interopRequireDefault(_colors);var _path = require('path');var _fs = require('fs');function lt(e,t){e||(_chunkZUNVPK23cjs.a.error(_colors2.default.red("A --directory must be provided.")),t.process.exit(1));let r=[];try{r=_fs.readdirSync.call(void 0, e).filter(n=>n.endsWith(".csv")).map(n=>_path.join.call(void 0, e,n)).filter(n=>{try{return _fs.statSync.call(void 0, n).isFile()}catch (e2){return!1}})}catch(o){_chunkZUNVPK23cjs.a.error(_colors2.default.red(`Failed to read directory: ${e}`)),_chunkZUNVPK23cjs.a.error(_colors2.default.red(o.message)),t.process.exit(1)}return r.length===0&&(_chunkZUNVPK23cjs.a.error(_colors2.default.red(`No CSV files found in directory: ${e}`)),t.process.exit(1)),r}var _os = require('os');function ct(e,t){let r=Math.max(1,_nullishCoalesce(_optionalChain([_os.availableParallelism, 'optionalCall', _2 => _2()]), () => (1)));return{poolSize:typeof e=="number"&&e>0?Math.min(e,t):Math.min(r,t),cpuCount:r}}var _child_process = require('child_process');function ut(e){return`'${String(e).replace(/'/g,"'\\''")}'`}function pt(e,t,r=!1){if(r)return;let o=_os.platform.call(void 0, );try{if(o==="darwin"){let c=e.map(ut).join(" -f "),i=`
|
|
2
2
|
tell application "Terminal"
|
|
3
3
|
activate
|
|
4
4
|
do script "printf '\\e]0;${t}\\a'; tail -n +1 -f ${c}"
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
`)}
|
|
15
15
|
`),process.stdout.write(`
|
|
16
16
|
Press Esc/Ctrl+] to return to dashboard.
|
|
17
|
-
`)}var _readline = require('readline'); var Tt = _interopRequireWildcard(_readline); var X = _interopRequireWildcard(_readline);async function wt(e,t,r){await new Promise(o=>{try{let n=_fs.statSync.call(void 0, e),c=Math.max(0,n.size-t),i=_fs.createReadStream.call(void 0, e,{start:c,encoding:"utf8"});i.on("data",a=>r(a)),i.on("end",o),i.on("error",o)}catch (e9){o(void 0)}})}function bt(e,t,r){if(t.ctrl&&t.name==="c")return{type:"CTRL_C"};if(r==="dashboard")return t.name&&/^[0-9]$/.test(t.name)?{type:"ATTACH",id:Number(t.name)}:t.name==="tab"&&!t.shift?{type:"CYCLE",delta:1}:t.name==="tab"&&t.shift?{type:"CYCLE",delta:-1}:t.name==="q"?{type:"QUIT"}:null;if(t.name==="escape"||t.ctrl&&t.name==="]")return{type:"DETACH"};if(t.ctrl&&t.name==="d")return{type:"CTRL_D"};let o=_nullishCoalesce(_nullishCoalesce(t.sequence, () => (e)), () => (""));return o?{type:"FORWARD",sequence:o}:null}function xt(e){return[...e.keys()].sort((t,r)=>t-r)}function St(e,t,r){if(!e.length)return null;let o=_nullishCoalesce(t, () => (e[0])),n=e.indexOf(o);return n===-1&&(n=0),n=(n+r+e.length)%e.length,e[n]}function Pt(e){let{workers:t,onAttach:r,onDetach:o,onCtrlC:n,getLogPaths:c,replayBytes:i=200*1024,replayWhich:a=["out","err"],onEnterAttachScreen:p,ports:h}=e,m=_nullishCoalesce(_optionalChain([h, 'optionalAccess', _23 => _23.stdin]), () => (process.stdin)),d=_nullishCoalesce(_optionalChain([h, 'optionalAccess', _24 => _24.stdout]), () => (process.stdout)),l=_nullishCoalesce(_optionalChain([h, 'optionalAccess', _25 => _25.stderr]), () => (process.stderr)),s=(...x)=>{if(
|
|
17
|
+
`)}var _readline = require('readline'); var Tt = _interopRequireWildcard(_readline); var X = _interopRequireWildcard(_readline);async function wt(e,t,r){await new Promise(o=>{try{let n=_fs.statSync.call(void 0, e),c=Math.max(0,n.size-t),i=_fs.createReadStream.call(void 0, e,{start:c,encoding:"utf8"});i.on("data",a=>r(a)),i.on("end",o),i.on("error",o)}catch (e9){o(void 0)}})}function bt(e,t,r){if(t.ctrl&&t.name==="c")return{type:"CTRL_C"};if(r==="dashboard")return t.name&&/^[0-9]$/.test(t.name)?{type:"ATTACH",id:Number(t.name)}:t.name==="tab"&&!t.shift?{type:"CYCLE",delta:1}:t.name==="tab"&&t.shift?{type:"CYCLE",delta:-1}:t.name==="q"?{type:"QUIT"}:null;if(t.name==="escape"||t.ctrl&&t.name==="]")return{type:"DETACH"};if(t.ctrl&&t.name==="d")return{type:"CTRL_D"};let o=_nullishCoalesce(_nullishCoalesce(t.sequence, () => (e)), () => (""));return o?{type:"FORWARD",sequence:o}:null}function xt(e){return[...e.keys()].sort((t,r)=>t-r)}function St(e,t,r){if(!e.length)return null;let o=_nullishCoalesce(t, () => (e[0])),n=e.indexOf(o);return n===-1&&(n=0),n=(n+r+e.length)%e.length,e[n]}function Pt(e){let{workers:t,onAttach:r,onDetach:o,onCtrlC:n,getLogPaths:c,replayBytes:i=200*1024,replayWhich:a=["out","err"],onEnterAttachScreen:p,ports:h}=e,m=_nullishCoalesce(_optionalChain([h, 'optionalAccess', _23 => _23.stdin]), () => (process.stdin)),d=_nullishCoalesce(_optionalChain([h, 'optionalAccess', _24 => _24.stdout]), () => (process.stdout)),l=_nullishCoalesce(_optionalChain([h, 'optionalAccess', _25 => _25.stderr]), () => (process.stderr)),s=(...x)=>{if(_chunk2IKWKGREcjs.z)try{(_nullishCoalesce(_optionalChain([h, 'optionalAccess', _26 => _26.stderr]), () => (process.stderr))).write(`[keys] ${x.map(String).join(" ")}
|
|
18
18
|
`)}catch (e10){}};if(!m.isTTY)return()=>{};Tt.emitKeypressEvents(m),_optionalChain([m, 'access', _27 => _27.setRawMode, 'optionalCall', _28 => _28(!0)]);let u="dashboard",g=null,T=null,C=null;async function E(x){if(!c)return;let f=c(x);if(!f)return;let y=[];for(let b of a)b==="out"&&y.push(f.outPath),b==="err"&&y.push(f.errPath),b==="structured"&&y.push(f.structuredPath);if(y.length){d.write(`
|
|
19
19
|
------------ replay ------------
|
|
20
20
|
`);for(let b of y)d.write(`
|
|
@@ -24,7 +24,7 @@ Press Esc/Ctrl+] to return to dashboard.
|
|
|
24
24
|
|
|
25
25
|
`)}}let R=async x=>{s("attach()",`id=${x}`);let f=t.get(x);if(!f)return;u==="attached"&&P(),u="attached",g=x,_optionalChain([p, 'optionalCall', _29 => _29(x)]),_optionalChain([r, 'optionalCall', _30 => _30(x)]),await E(x),T=b=>d.write(b),C=b=>l.write(b),_optionalChain([f, 'access', _31 => _31.stdout, 'optionalAccess', _32 => _32.on, 'call', _33 => _33("data",T)]),_optionalChain([f, 'access', _34 => _34.stderr, 'optionalAccess', _35 => _35.on, 'call', _36 => _36("data",C)]);let y=()=>{g===x&&P()};f.once("exit",y)},P=()=>{if(s("detach()",`id=${g}`),g==null)return;let x=g,f=t.get(x);f&&(T&&_optionalChain([f, 'access', _37 => _37.stdout, 'optionalAccess', _38 => _38.off, 'call', _39 => _39("data",T)]),C&&_optionalChain([f, 'access', _40 => _40.stderr, 'optionalAccess', _41 => _41.off, 'call', _42 => _42("data",C)])),T=null,C=null,g=null,u="dashboard",_optionalChain([o, 'optionalCall', _43 => _43()])},S=(x,f)=>{s("keypress",JSON.stringify({str:x,name:f.name,seq:f.sequence,ctrl:f.ctrl,meta:f.meta,shift:f.shift,mode:u}));let y=bt(x,f,u);if(s("mapped",JSON.stringify(y)),!!y)switch(y.type){case"CTRL_C":{if(s("CTRL_C"),u==="attached"&&g!=null){let b=t.get(g);try{_optionalChain([b, 'optionalAccess', _44 => _44.kill, 'call', _45 => _45("SIGINT")])}catch (e11){}P();return}_optionalChain([n, 'optionalCall', _46 => _46()]);return}case"ATTACH":{if(s("ATTACH",`id=${y.id}`,`has=${t.has(y.id)}`),u!=="dashboard")return;t.has(y.id)&&R(y.id);return}case"CYCLE":{if(s("CYCLE",`delta=${y.delta}`),u!=="dashboard")return;let b=St(xt(t),g,y.delta);b!=null&&R(b);return}case"QUIT":{if(u!=="dashboard")return;_optionalChain([n, 'optionalCall', _47 => _47()]);return}case"DETACH":{s("DETACH"),u==="attached"&&P();return}case"CTRL_D":{if(u==="attached"&&g!=null){let b=t.get(g);try{_optionalChain([b, 'optionalAccess', _48 => _48.stdin, 'optionalAccess', _49 => _49.end, 'call', _50 => _50()])}catch (e12){}}return}case"FORWARD":if(u==="attached"&&g!=null){let b=t.get(g);try{_optionalChain([b, 'optionalAccess', _51 => _51.stdin, 'optionalAccess', _52 => _52.write, 'call', _53 => _53(y.sequence)])}catch (e13){}}}},M=x=>{if(u==="attached"&&g!=null){let f=t.get(g);try{_optionalChain([f, 'optionalAccess', _54 => _54.stdin, 'optionalAccess', _55 => _55.write, 'call', _56 => _56(x)])}catch (e14){}}},A=()=>{m.off("keypress",S),m.off("data",M),_optionalChain([m, 'access', _57 => _57.setRawMode, 'optionalCall', _58 => _58(!1)]),d.write("\x1B[?25h")};return m.on("keypress",S),m.on("data",M),A}var _events = require('events');var _url = require('url');var Ct="",ie=(e,t)=>{let r=Math.min(e-1,9),o=e<=1?"0":`0-${r}`,n=e>10?" (Tab/Shift+Tab for \u226510)":"";return t?_colors2.default.dim("Run complete \u2014 digits to view logs \u2022 Tab/Shift+Tab cycle \u2022 Esc/Ctrl+] detach \u2022 q to quit"):_colors2.default.dim(`Hotkeys: [${o}] attach${n} \u2022 e=errors \u2022 w=warnings \u2022 i=info \u2022 l=logs \u2022 Tab/Shift+Tab \u2022 Esc/Ctrl+] detach \u2022 Ctrl+C exit`)};function vt(e,t,r=!1){let o=[...t.renderHeader(e),"",...t.renderWorkers(e),...r?[]:["",ie(e.poolSize,e.final)],...t.renderExtras?[""].concat(t.renderExtras(e)):[]].join(`
|
|
26
26
|
`);!e.final&&o===Ct||(Ct=o,e.final?process.stdout.write("\x1B[?25h"):(process.stdout.write("\x1B[?25l"),X.cursorTo(process.stdout,0,0),X.clearScreenDown(process.stdout)),process.stdout.write(`${o}
|
|
27
|
-
`))}function Z(e,t,r){let o=t.get(e);if(F(o))try{let n=V(o);if(n!=null)return n}catch (e15){}return r.get(e)}function I(e){return typeof e=="number"?e.toLocaleString():"0"}function Lt(e,t=40){let r=Math.max(0,Math.min(100,Math.floor(e))),o=Math.floor(r/100*t);return"\u2588".repeat(o)+"\u2591".repeat(t-o)}function le(e){let t=[...e.workerState.values()].filter(n=>n.busy).length,r=e.filesCompleted+e.filesFailed,o=e.filesTotal===0?100:Math.floor(r/Math.max(1,e.filesTotal)*100);return{done:r,inProgress:t,pct:o}}function $t(e,t=[]){let{title:r,poolSize:o,cpuCount:n,filesTotal:c,filesCompleted:i,filesFailed:a,throughput:p}=e,{inProgress:h,pct:m}=le(e),d=[`${_colors2.default.bold(r)} \u2014 ${o} workers ${_colors2.default.dim(`(CPU avail: ${n})`)}`,`${_colors2.default.dim("Files")} ${I(c)} ${_colors2.default.dim("Completed")} ${I(i)} ${_colors2.default.dim("Failed")} ${a?_colors2.default.red(I(a)):I(a)} ${_colors2.default.dim("In-flight")} ${I(h)}`,`[${Lt(m)}] ${m}%`];if(p){let l=Math.round(p.r10s*3600).toLocaleString(),s=Math.round(p.r60s*3600).toLocaleString(),u=_optionalChain([e, 'access', _59 => _59.throughput, 'optionalAccess', _60 => _60.successSoFar])!=null?` Newly uploaded: ${I(e.throughput.successSoFar)}`:"";d.push(_colors2.default.cyan(`Throughput: ${l}/hr (1h: ${s}/hr)${u}`))}return t.length?d.concat(t):d}function Rt(e,t=r=>r?_path.basename.call(void 0, r):"-"){return[...e.workerState.entries()].map(([o,n])=>{let c=n.lastLevel==="error"?_colors2.default.red("ERROR "):n.lastLevel==="warn"?_colors2.default.yellow("WARN "):n.busy?_colors2.default.green("WORKING"):_colors2.default.dim("IDLE "),i=t(n.file),a=n.startedAt?`${Math.floor((Date.now()-n.startedAt)/1e3)}s`:"-",p=_nullishCoalesce(_optionalChain([n, 'access', _61 => _61.progress, 'optionalAccess', _62 => _62.processed]), () => (0)),h=_nullishCoalesce(_optionalChain([n, 'access', _63 => _63.progress, 'optionalAccess', _64 => _64.total]), () => (0)),m=h>0?Math.floor(p/h*100):0,d=h>0?Lt(m,18):" ".repeat(18),l=h>0?`${p.toLocaleString()}/${h.toLocaleString()} (${m}%)`:_colors2.default.dim("\u2014");return` [w${o}] ${c} | ${i} | ${a} | [${d}] ${l}`})}async function Et(e){let{title:t,baseDir:r,poolSize:o,cpuCount:n,render:c,childModulePath:i,hooks:a,filesTotal:p,childFlag:h,viewerMode:m=!1}=e,d=_nullishCoalesce(e.openLogWindows, () => (!m)),l=_nullishCoalesce(e.isSilent, () => (!0)),s=Date.now(),u=mt(r),g=new Map,T=new Map,C=new Map,E=new
|
|
27
|
+
`))}function Z(e,t,r){let o=t.get(e);if(F(o))try{let n=V(o);if(n!=null)return n}catch (e15){}return r.get(e)}function I(e){return typeof e=="number"?e.toLocaleString():"0"}function Lt(e,t=40){let r=Math.max(0,Math.min(100,Math.floor(e))),o=Math.floor(r/100*t);return"\u2588".repeat(o)+"\u2591".repeat(t-o)}function le(e){let t=[...e.workerState.values()].filter(n=>n.busy).length,r=e.filesCompleted+e.filesFailed,o=e.filesTotal===0?100:Math.floor(r/Math.max(1,e.filesTotal)*100);return{done:r,inProgress:t,pct:o}}function $t(e,t=[]){let{title:r,poolSize:o,cpuCount:n,filesTotal:c,filesCompleted:i,filesFailed:a,throughput:p}=e,{inProgress:h,pct:m}=le(e),d=[`${_colors2.default.bold(r)} \u2014 ${o} workers ${_colors2.default.dim(`(CPU avail: ${n})`)}`,`${_colors2.default.dim("Files")} ${I(c)} ${_colors2.default.dim("Completed")} ${I(i)} ${_colors2.default.dim("Failed")} ${a?_colors2.default.red(I(a)):I(a)} ${_colors2.default.dim("In-flight")} ${I(h)}`,`[${Lt(m)}] ${m}%`];if(p){let l=Math.round(p.r10s*3600).toLocaleString(),s=Math.round(p.r60s*3600).toLocaleString(),u=_optionalChain([e, 'access', _59 => _59.throughput, 'optionalAccess', _60 => _60.successSoFar])!=null?` Newly uploaded: ${I(e.throughput.successSoFar)}`:"";d.push(_colors2.default.cyan(`Throughput: ${l}/hr (1h: ${s}/hr)${u}`))}return t.length?d.concat(t):d}function Rt(e,t=r=>r?_path.basename.call(void 0, r):"-"){return[...e.workerState.entries()].map(([o,n])=>{let c=n.lastLevel==="error"?_colors2.default.red("ERROR "):n.lastLevel==="warn"?_colors2.default.yellow("WARN "):n.busy?_colors2.default.green("WORKING"):_colors2.default.dim("IDLE "),i=t(n.file),a=n.startedAt?`${Math.floor((Date.now()-n.startedAt)/1e3)}s`:"-",p=_nullishCoalesce(_optionalChain([n, 'access', _61 => _61.progress, 'optionalAccess', _62 => _62.processed]), () => (0)),h=_nullishCoalesce(_optionalChain([n, 'access', _63 => _63.progress, 'optionalAccess', _64 => _64.total]), () => (0)),m=h>0?Math.floor(p/h*100):0,d=h>0?Lt(m,18):" ".repeat(18),l=h>0?`${p.toLocaleString()}/${h.toLocaleString()} (${m}%)`:_colors2.default.dim("\u2014");return` [w${o}] ${c} | ${i} | ${a} | [${d}] ${l}`})}async function Et(e){let{title:t,baseDir:r,poolSize:o,cpuCount:n,render:c,childModulePath:i,hooks:a,filesTotal:p,childFlag:h,viewerMode:m=!1}=e,d=_nullishCoalesce(e.openLogWindows, () => (!m)),l=_nullishCoalesce(e.isSilent, () => (!0)),s=Date.now(),u=mt(r),g=new Map,T=new Map,C=new Map,E=new _chunkCFAKXEZBcjs.Zf,P=_nullishCoalesce(_optionalChain([a, 'access', _65 => _65.initTotals, 'optionalCall', _66 => _66()]), () => ({})),S=0,M=0,A=0,x=null,f=!1,y=!1,b=null,L=(w=!1)=>{y||c({title:t,poolSize:o,cpuCount:n,filesTotal:p,filesCompleted:M,filesFailed:A,workerState:T,totals:P,final:w,exportStatus:_optionalChain([a, 'access', _67 => _67.exportStatus, 'optionalCall', _68 => _68()]),throughput:{successSoFar:M,r10s:E.rate(1e4),r60s:E.rate(6e4)}})},B=w=>{let $=a.nextTask();if(!$)return!1;let _=g.get(w),v=a.taskLabel($),O=_optionalChain([a, 'access', _69 => _69.initSlotProgress, 'optionalCall', _70 => _70($)]);return T.set(w,{busy:!0,file:v,startedAt:Date.now(),lastLevel:"ok",progress:O}),Q(_,{type:"task",payload:$}),L(),!0};for(let w=0;w<o;w+=1){let $=gt({id:w,modulePath:i,logDir:u,openLogWindows:d,isSilent:l,childFlag:h});g.set(w,$),T.set(w,{busy:!1,file:null,startedAt:null,lastLevel:"ok"}),C.set(w,V($)),S+=1;let _=N(v=>{let O=U(v);if(!O)return;let G=T.get(w);G.lastLevel!==O&&(T.set(w,{...G,lastLevel:O}),L())});_optionalChain([$, 'access', _71 => _71.stderr, 'optionalAccess', _72 => _72.on, 'call', _73 => _73("data",_)]),$.on("message",v=>{if(!(!v||typeof v!="object")){if(v.type==="ready"){f||(f=!0,x=setInterval(()=>L(!1),350)),B(w);return}if(v.type==="progress"){P=a.onProgress(P,v.payload);let O=T.get(w);T.set(w,{...O,progress:v.payload}),L();return}if(v.type==="result"){let O=T.get(w),{totals:G,ok:ot}=a.onResult(P,v.payload);P=G,ot?(M+=1,E.add(1)):A+=1,T.set(w,{...O,busy:!1,file:null,progress:void 0,lastLevel:ot?"ok":"error"}),!B(w)&&F($)&&Q($,{type:"shutdown"}),L()}}}),$.on("exit",()=>{S-=1,S===0&&(x&&clearInterval(x),L(!0))})}let H=()=>{},K=()=>{try{_optionalChain([process, 'access', _74 => _74.stdin, 'access', _75 => _75.setRawMode, 'optionalCall', _76 => _76(!1)])}catch (e16){}try{process.stdin.pause()}catch (e17){}},et=()=>{if(x&&clearInterval(x),_optionalChain([H, 'optionalCall', _77 => _77()]),b)try{process.stdin.off("data",b)}catch (e18){}K(),process.stdout.write(`
|
|
28
28
|
Stopping workers...
|
|
29
29
|
`);for(let[,w]of g){F(w)&&Q(w,{type:"shutdown"});try{_optionalChain([w, 'optionalAccess', _78 => _78.kill, 'call', _79 => _79("SIGTERM")])}catch (e19){}}process.exit(130)},rt=w=>{y=!0,process.stdout.write("\x1B[2J\x1B[H"),process.stdout.write(`Attached to worker ${w}. (Esc/Ctrl+] detach \u2022 Ctrl+D EOF \u2022 Ctrl+C SIGINT)
|
|
30
30
|
`)},jt=()=>{y=!1,L()};if(process.once("SIGINT",et),!m){if(process.stdin.isTTY){try{process.stdin.setRawMode(!0)}catch (e20){process.stdout.write(_colors2.default.yellow(`Warning: Unable to enable raw mode for interactive key handling.
|
|
@@ -34,5 +34,5 @@ Stopping workers...
|
|
|
34
34
|
|
|
35
35
|
`),(async()=>{try{await yt(t,l,s)}catch (e22){h=!1,o(!1),r()}})())},d=(l,s)=>{if(n)try{let u=n.exportCombinedLogs(t,l);a(`
|
|
36
36
|
Wrote combined ${s} logs to: ${u}`),p(l,u)}catch (e23){a(`
|
|
37
|
-
Failed to write combined ${s} logs`)}};return l=>{let s=l.toString("utf8");if(s==="e"){m(["err"],"error");return}if(s==="w"){m(["warn","err"],"warn");return}if(s==="i"){m(["info"],"all");return}if(s==="l"){m(["out","err","structured"],"all");return}if(s==="E"){d("error","error");return}if(s==="W"){d("warn","warn");return}if(s==="I"){d("info","info");return}if(s==="A"){d("all","ALL");return}let u=_optionalChain([i, 'optionalAccess', _84 => _84[s]]);if(u){u({noteExport:p,say:a});return}(s==="\x1B"||s==="")&&(h=!1,o(!1),r())}}var _promises = require('fs/promises');var _promises3 = require('stream/promises');var _stream = require('stream');var _csvparse = require('csv-parse');var _fastcsv = require('fast-csv'); var Bt = _interopRequireWildcard(_fastcsv);function tt(e,t){let r=_fs.createWriteStream.call(void 0, e),o=Bt.format({headers:t,writeHeaders:!0,objectMode:!0});return o.pipe(r),{async write(n){o.write(n)||await _events.once.call(void 0, o,"drain")},async end(){let n=Promise.all([_events.once.call(void 0, r,"finish")]);o.end(),await n}}}function xe(e){return String(e).padStart(4,"0")}function Se(e){return Buffer.byteLength(Object.values(e).map(t=>t==null?"":String(t)).join(","),"utf8")}async function Dt(e){let{filePath:t,outputDir:r,clearOutputDir:o,chunkSizeMB:n,onProgress:c,reportEveryMs:i=500}=e,{size:a}=await _promises.stat.call(void 0, t),p=0;_chunkZUNVPK23cjs.a.info(_colors2.default.magenta(`Chunking ${t} into ~${n}MB files...`));let h=Math.floor(n*1024*1024),m=_path.basename.call(void 0, t,".csv"),d=r||_path.dirname.call(void 0, t);if(_chunkZUNVPK23cjs.a.info(_colors2.default.magenta(`Output directory: ${d}`)),await _promises.mkdir.call(void 0, d,{recursive:!0}),o){_chunkZUNVPK23cjs.a.warn(_colors2.default.yellow(`Clearing output directory: ${d}`));let f=await _promises.readdir.call(void 0, d);await Promise.all(f.filter(y=>y.startsWith(`${m}_chunk_`)&&y.endsWith(".csv")).map(y=>_promises.unlink.call(void 0, _path.join.call(void 0, d,y))))}let l=null,s=null,u=0,g=1,T=0,C=new (0, _csvparse.Parser)({columns:!1,skip_empty_lines:!0}),E=0,R=0,P=()=>{let f=R>0?E/R:0,y=f>0?Math.max(u,Math.ceil(a/f)):void 0;c(u,y),p=Date.now()};P();let S=null,M=()=>_path.join.call(void 0, d,`${m}_chunk_${xe(g)}.csv`),A=new (0, _stream.Transform)({objectMode:!0,async transform(f,y,b){try{if(!l){l=f.slice(0),s=l.length,S=tt(M(),l),b();return}s!==null&&f.length!==s&&_chunkZUNVPK23cjs.a.warn(_colors2.default.yellow(`Row has ${f.length} cols; expected ${s}`)),u+=1,u%25e4===0&&c(u);let L=Object.fromEntries(l.map((H,K)=>[H,f[K]])),B=Se(L);E+=B,R+=1,Date.now()-p>=i&&P(),S&&T>0&&T+B>h&&(await S.end(),g+=1,T=0,_chunkZUNVPK23cjs.a.info(_colors2.default.green(`Rolling to chunk ${g} after ${u.toLocaleString()} rows.`)),S=tt(M(),l)),S||(S=tt(M(),l)),await S.write(L),T+=B,b()}catch(L){b(L)}},async flush(f){try{S&&(await S.end(),S=null),P(),f()}catch(y){f(y)}}}),x=_fs.createReadStream.call(void 0, t);await _promises3.pipeline.call(void 0, x,C,A),c(u),_chunkZUNVPK23cjs.a.info(_colors2.default.green(`Chunked ${t} into ${g} file(s); processed ${u.toLocaleString()} rows.`))}async function Ft(){let e=Number(process.env.WORKER_ID||"0");_chunkZUNVPK23cjs.a.info(`[w${e}] ready pid=${process.pid}`),_optionalChain([process, 'access', _85 => _85.send, 'optionalCall', _86 => _86({type:"ready"})]),process.on("message",async t=>{if(!t||typeof t!="object"||(t.type==="shutdown"&&process.exit(0),t.type!=="task"))return;let{filePath:r,options:o}=t.payload,{outputDir:n,clearOutputDir:c,chunkSizeMB:i}=o;try{await Dt({filePath:r,outputDir:n,clearOutputDir:c,chunkSizeMB:i,onProgress:(a,p)=>_optionalChain([process, 'access', _87 => _87.send, 'optionalCall', _88 => _88({type:"progress",payload:{filePath:r,processed:a,total:p}})])}),_optionalChain([process, 'access', _89 => _89.send, 'optionalCall', _90 => _90({type:"result",payload:{ok:!0,filePath:r}})])}catch(a){let p=
|
|
38
|
-
//# sourceMappingURL=impl-
|
|
37
|
+
Failed to write combined ${s} logs`)}};return l=>{let s=l.toString("utf8");if(s==="e"){m(["err"],"error");return}if(s==="w"){m(["warn","err"],"warn");return}if(s==="i"){m(["info"],"all");return}if(s==="l"){m(["out","err","structured"],"all");return}if(s==="E"){d("error","error");return}if(s==="W"){d("warn","warn");return}if(s==="I"){d("info","info");return}if(s==="A"){d("all","ALL");return}let u=_optionalChain([i, 'optionalAccess', _84 => _84[s]]);if(u){u({noteExport:p,say:a});return}(s==="\x1B"||s==="")&&(h=!1,o(!1),r())}}var _promises = require('fs/promises');var _promises3 = require('stream/promises');var _stream = require('stream');var _csvparse = require('csv-parse');var _fastcsv = require('fast-csv'); var Bt = _interopRequireWildcard(_fastcsv);function tt(e,t){let r=_fs.createWriteStream.call(void 0, e),o=Bt.format({headers:t,writeHeaders:!0,objectMode:!0});return o.pipe(r),{async write(n){o.write(n)||await _events.once.call(void 0, o,"drain")},async end(){let n=Promise.all([_events.once.call(void 0, r,"finish")]);o.end(),await n}}}function xe(e){return String(e).padStart(4,"0")}function Se(e){return Buffer.byteLength(Object.values(e).map(t=>t==null?"":String(t)).join(","),"utf8")}async function Dt(e){let{filePath:t,outputDir:r,clearOutputDir:o,chunkSizeMB:n,onProgress:c,reportEveryMs:i=500}=e,{size:a}=await _promises.stat.call(void 0, t),p=0;_chunkZUNVPK23cjs.a.info(_colors2.default.magenta(`Chunking ${t} into ~${n}MB files...`));let h=Math.floor(n*1024*1024),m=_path.basename.call(void 0, t,".csv"),d=r||_path.dirname.call(void 0, t);if(_chunkZUNVPK23cjs.a.info(_colors2.default.magenta(`Output directory: ${d}`)),await _promises.mkdir.call(void 0, d,{recursive:!0}),o){_chunkZUNVPK23cjs.a.warn(_colors2.default.yellow(`Clearing output directory: ${d}`));let f=await _promises.readdir.call(void 0, d);await Promise.all(f.filter(y=>y.startsWith(`${m}_chunk_`)&&y.endsWith(".csv")).map(y=>_promises.unlink.call(void 0, _path.join.call(void 0, d,y))))}let l=null,s=null,u=0,g=1,T=0,C=new (0, _csvparse.Parser)({columns:!1,skip_empty_lines:!0}),E=0,R=0,P=()=>{let f=R>0?E/R:0,y=f>0?Math.max(u,Math.ceil(a/f)):void 0;c(u,y),p=Date.now()};P();let S=null,M=()=>_path.join.call(void 0, d,`${m}_chunk_${xe(g)}.csv`),A=new (0, _stream.Transform)({objectMode:!0,async transform(f,y,b){try{if(!l){l=f.slice(0),s=l.length,S=tt(M(),l),b();return}s!==null&&f.length!==s&&_chunkZUNVPK23cjs.a.warn(_colors2.default.yellow(`Row has ${f.length} cols; expected ${s}`)),u+=1,u%25e4===0&&c(u);let L=Object.fromEntries(l.map((H,K)=>[H,f[K]])),B=Se(L);E+=B,R+=1,Date.now()-p>=i&&P(),S&&T>0&&T+B>h&&(await S.end(),g+=1,T=0,_chunkZUNVPK23cjs.a.info(_colors2.default.green(`Rolling to chunk ${g} after ${u.toLocaleString()} rows.`)),S=tt(M(),l)),S||(S=tt(M(),l)),await S.write(L),T+=B,b()}catch(L){b(L)}},async flush(f){try{S&&(await S.end(),S=null),P(),f()}catch(y){f(y)}}}),x=_fs.createReadStream.call(void 0, t);await _promises3.pipeline.call(void 0, x,C,A),c(u),_chunkZUNVPK23cjs.a.info(_colors2.default.green(`Chunked ${t} into ${g} file(s); processed ${u.toLocaleString()} rows.`))}async function Ft(){let e=Number(process.env.WORKER_ID||"0");_chunkZUNVPK23cjs.a.info(`[w${e}] ready pid=${process.pid}`),_optionalChain([process, 'access', _85 => _85.send, 'optionalCall', _86 => _86({type:"ready"})]),process.on("message",async t=>{if(!t||typeof t!="object"||(t.type==="shutdown"&&process.exit(0),t.type!=="task"))return;let{filePath:r,options:o}=t.payload,{outputDir:n,clearOutputDir:c,chunkSizeMB:i}=o;try{await Dt({filePath:r,outputDir:n,clearOutputDir:c,chunkSizeMB:i,onProgress:(a,p)=>_optionalChain([process, 'access', _87 => _87.send, 'optionalCall', _88 => _88({type:"progress",payload:{filePath:r,processed:a,total:p}})])}),_optionalChain([process, 'access', _89 => _89.send, 'optionalCall', _90 => _90({type:"result",payload:{ok:!0,filePath:r}})])}catch(a){let p=_chunkCFAKXEZBcjs.Uf.call(void 0, a);_chunkZUNVPK23cjs.a.error(`[w${e}] ERROR ${r}: ${p}`),_optionalChain([process, 'access', _91 => _91.send, 'optionalCall', _92 => _92({type:"result",payload:{ok:!1,filePath:r,error:p}})])}}),await new Promise(()=>{})}function Te(e){return $t(e)}function Pe(e){return Rt(e)}var It={renderHeader:Te,renderWorkers:Pe};function Ce(){return typeof __filename<"u"?__filename:process.argv[1]}async function Do(e){_chunkWKCTKYN4cjs.a.call(void 0, this.process.exit);let{directory:t,outputDir:r,clearOutputDir:o,chunkSizeMB:n,concurrency:c,viewerMode:i}=e,a=lt(t,this),{poolSize:p,cpuCount:h}=ct(c,a.length);_chunkZUNVPK23cjs.a.info(_colors2.default.green(`Chunking ${a.length} CSV file(s) with pool size ${p} (CPU=${h})`));let m=a.map(l=>({filePath:l,options:{outputDir:r,clearOutputDir:o,chunkSizeMB:n}})),d={nextTask:()=>m.shift(),taskLabel:l=>l.filePath,initTotals:()=>({}),initSlotProgress:()=>{},onProgress:l=>l,onResult:(l,s)=>({totals:l,ok:!!s.ok}),postProcess:async()=>{}};await Et({title:"Chunk CSV",baseDir:t||r||process.cwd(),childFlag:Y,childModulePath:Ce(),poolSize:p,cpuCount:h,filesTotal:a.length,hooks:d,viewerMode:i,render:l=>vt(l,It,i),extraKeyHandler:({logsBySlot:l,repaint:s,setPaused:u})=>Mt({logsBySlot:l,repaint:s,setPaused:u})})}process.argv.includes(Y)&&Ft().catch(e=>{_chunkZUNVPK23cjs.a.error(e),process.exit(1)});exports.chunkCsv = Do;
|
|
38
|
+
//# sourceMappingURL=impl-QM6PZE6N.cjs.map
|