@take-out/cli 0.0.39
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/LICENSE +21 -0
- package/README.md +274 -0
- package/cli.mjs +3 -0
- package/dist/cjs/cli.cjs +71 -0
- package/dist/cjs/cli.js +70 -0
- package/dist/cjs/cli.js.map +6 -0
- package/dist/cjs/cli.native.js +79 -0
- package/dist/cjs/cli.native.js.map +6 -0
- package/dist/cjs/commands/changed.cjs +212 -0
- package/dist/cjs/commands/changed.js +214 -0
- package/dist/cjs/commands/changed.js.map +6 -0
- package/dist/cjs/commands/changed.native.js +289 -0
- package/dist/cjs/commands/changed.native.js.map +6 -0
- package/dist/cjs/commands/docs.cjs +388 -0
- package/dist/cjs/commands/docs.js +313 -0
- package/dist/cjs/commands/docs.js.map +6 -0
- package/dist/cjs/commands/docs.native.js +476 -0
- package/dist/cjs/commands/docs.native.js.map +6 -0
- package/dist/cjs/commands/env-setup.cjs +90 -0
- package/dist/cjs/commands/env-setup.js +78 -0
- package/dist/cjs/commands/env-setup.js.map +6 -0
- package/dist/cjs/commands/env-setup.native.js +85 -0
- package/dist/cjs/commands/env-setup.native.js.map +6 -0
- package/dist/cjs/commands/onboard.cjs +479 -0
- package/dist/cjs/commands/onboard.js +631 -0
- package/dist/cjs/commands/onboard.js.map +6 -0
- package/dist/cjs/commands/onboard.native.js +608 -0
- package/dist/cjs/commands/onboard.native.js.map +6 -0
- package/dist/cjs/commands/run.cjs +148 -0
- package/dist/cjs/commands/run.js +116 -0
- package/dist/cjs/commands/run.js.map +6 -0
- package/dist/cjs/commands/run.native.js +140 -0
- package/dist/cjs/commands/run.native.js.map +6 -0
- package/dist/cjs/commands/script.cjs +379 -0
- package/dist/cjs/commands/script.js +339 -0
- package/dist/cjs/commands/script.js.map +6 -0
- package/dist/cjs/commands/script.native.js +449 -0
- package/dist/cjs/commands/script.native.js.map +6 -0
- package/dist/cjs/commands/sync.cjs +190 -0
- package/dist/cjs/commands/sync.js +168 -0
- package/dist/cjs/commands/sync.js.map +6 -0
- package/dist/cjs/commands/sync.native.js +211 -0
- package/dist/cjs/commands/sync.native.js.map +6 -0
- package/dist/cjs/constants/ascii.cjs +36 -0
- package/dist/cjs/constants/ascii.js +30 -0
- package/dist/cjs/constants/ascii.js.map +6 -0
- package/dist/cjs/constants/ascii.native.js +36 -0
- package/dist/cjs/constants/ascii.native.js.map +6 -0
- package/dist/cjs/index.cjs +64 -0
- package/dist/cjs/index.js +55 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +94 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.js +14 -0
- package/dist/cjs/types.js.map +6 -0
- package/dist/cjs/types.native.js +15 -0
- package/dist/cjs/types.native.js.map +6 -0
- package/dist/cjs/utils/env-categories.cjs +272 -0
- package/dist/cjs/utils/env-categories.js +296 -0
- package/dist/cjs/utils/env-categories.js.map +6 -0
- package/dist/cjs/utils/env-categories.native.js +317 -0
- package/dist/cjs/utils/env-categories.native.js.map +6 -0
- package/dist/cjs/utils/env-setup.cjs +181 -0
- package/dist/cjs/utils/env-setup.js +190 -0
- package/dist/cjs/utils/env-setup.js.map +6 -0
- package/dist/cjs/utils/env-setup.native.js +264 -0
- package/dist/cjs/utils/env-setup.native.js.map +6 -0
- package/dist/cjs/utils/env.cjs +118 -0
- package/dist/cjs/utils/env.js +97 -0
- package/dist/cjs/utils/env.js.map +6 -0
- package/dist/cjs/utils/env.native.js +128 -0
- package/dist/cjs/utils/env.native.js.map +6 -0
- package/dist/cjs/utils/files.cjs +215 -0
- package/dist/cjs/utils/files.js +164 -0
- package/dist/cjs/utils/files.js.map +6 -0
- package/dist/cjs/utils/files.native.js +266 -0
- package/dist/cjs/utils/files.native.js.map +6 -0
- package/dist/cjs/utils/parallel-runner.cjs +99 -0
- package/dist/cjs/utils/parallel-runner.js +84 -0
- package/dist/cjs/utils/parallel-runner.js.map +6 -0
- package/dist/cjs/utils/parallel-runner.native.js +123 -0
- package/dist/cjs/utils/parallel-runner.native.js.map +6 -0
- package/dist/cjs/utils/ports.cjs +101 -0
- package/dist/cjs/utils/ports.js +81 -0
- package/dist/cjs/utils/ports.js.map +6 -0
- package/dist/cjs/utils/ports.native.js +130 -0
- package/dist/cjs/utils/ports.native.js.map +6 -0
- package/dist/cjs/utils/prerequisites.cjs +119 -0
- package/dist/cjs/utils/prerequisites.js +107 -0
- package/dist/cjs/utils/prerequisites.js.map +6 -0
- package/dist/cjs/utils/prerequisites.native.js +127 -0
- package/dist/cjs/utils/prerequisites.native.js.map +6 -0
- package/dist/cjs/utils/prompts.cjs +161 -0
- package/dist/cjs/utils/prompts.js +162 -0
- package/dist/cjs/utils/prompts.js.map +6 -0
- package/dist/cjs/utils/prompts.native.js +179 -0
- package/dist/cjs/utils/prompts.native.js.map +6 -0
- package/dist/cjs/utils/script-listing.cjs +113 -0
- package/dist/cjs/utils/script-listing.js +108 -0
- package/dist/cjs/utils/script-listing.js.map +6 -0
- package/dist/cjs/utils/script-listing.native.js +174 -0
- package/dist/cjs/utils/script-listing.native.js.map +6 -0
- package/dist/cjs/utils/sync.cjs +85 -0
- package/dist/cjs/utils/sync.js +70 -0
- package/dist/cjs/utils/sync.js.map +6 -0
- package/dist/cjs/utils/sync.native.js +84 -0
- package/dist/cjs/utils/sync.native.js.map +6 -0
- package/dist/cjs/utils/welcome.cjs +50 -0
- package/dist/cjs/utils/welcome.js +42 -0
- package/dist/cjs/utils/welcome.js.map +6 -0
- package/dist/cjs/utils/welcome.native.js +47 -0
- package/dist/cjs/utils/welcome.native.js.map +6 -0
- package/dist/esm/cli.js +79 -0
- package/dist/esm/cli.js.map +6 -0
- package/dist/esm/cli.mjs +71 -0
- package/dist/esm/cli.mjs.map +1 -0
- package/dist/esm/cli.native.js +69 -0
- package/dist/esm/cli.native.js.map +1 -0
- package/dist/esm/commands/changed.js +194 -0
- package/dist/esm/commands/changed.js.map +6 -0
- package/dist/esm/commands/changed.mjs +178 -0
- package/dist/esm/commands/changed.mjs.map +1 -0
- package/dist/esm/commands/changed.native.js +273 -0
- package/dist/esm/commands/changed.native.js.map +1 -0
- package/dist/esm/commands/docs.js +306 -0
- package/dist/esm/commands/docs.js.map +6 -0
- package/dist/esm/commands/docs.mjs +353 -0
- package/dist/esm/commands/docs.mjs.map +1 -0
- package/dist/esm/commands/docs.native.js +516 -0
- package/dist/esm/commands/docs.native.js.map +1 -0
- package/dist/esm/commands/env-setup.js +56 -0
- package/dist/esm/commands/env-setup.js.map +6 -0
- package/dist/esm/commands/env-setup.mjs +56 -0
- package/dist/esm/commands/env-setup.mjs.map +1 -0
- package/dist/esm/commands/env-setup.native.js +59 -0
- package/dist/esm/commands/env-setup.native.js.map +1 -0
- package/dist/esm/commands/onboard.js +645 -0
- package/dist/esm/commands/onboard.js.map +6 -0
- package/dist/esm/commands/onboard.mjs +445 -0
- package/dist/esm/commands/onboard.mjs.map +1 -0
- package/dist/esm/commands/onboard.native.js +584 -0
- package/dist/esm/commands/onboard.native.js.map +1 -0
- package/dist/esm/commands/run.js +95 -0
- package/dist/esm/commands/run.js.map +6 -0
- package/dist/esm/commands/run.mjs +114 -0
- package/dist/esm/commands/run.mjs.map +1 -0
- package/dist/esm/commands/run.native.js +133 -0
- package/dist/esm/commands/run.native.js.map +1 -0
- package/dist/esm/commands/script.js +338 -0
- package/dist/esm/commands/script.js.map +6 -0
- package/dist/esm/commands/script.mjs +336 -0
- package/dist/esm/commands/script.mjs.map +1 -0
- package/dist/esm/commands/script.native.js +445 -0
- package/dist/esm/commands/script.native.js.map +1 -0
- package/dist/esm/commands/sync.js +158 -0
- package/dist/esm/commands/sync.js.map +6 -0
- package/dist/esm/commands/sync.mjs +155 -0
- package/dist/esm/commands/sync.mjs.map +1 -0
- package/dist/esm/commands/sync.native.js +173 -0
- package/dist/esm/commands/sync.native.js.map +1 -0
- package/dist/esm/constants/ascii.js +14 -0
- package/dist/esm/constants/ascii.js.map +6 -0
- package/dist/esm/constants/ascii.mjs +12 -0
- package/dist/esm/constants/ascii.mjs.map +1 -0
- package/dist/esm/constants/ascii.native.js +12 -0
- package/dist/esm/constants/ascii.native.js.map +1 -0
- package/dist/esm/index.js +83 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +7 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +7 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +6 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +2 -0
- package/dist/esm/types.native.js.map +1 -0
- package/dist/esm/utils/env-categories.js +272 -0
- package/dist/esm/utils/env-categories.js.map +6 -0
- package/dist/esm/utils/env-categories.mjs +233 -0
- package/dist/esm/utils/env-categories.mjs.map +1 -0
- package/dist/esm/utils/env-categories.native.js +246 -0
- package/dist/esm/utils/env-categories.native.js.map +1 -0
- package/dist/esm/utils/env-setup.js +173 -0
- package/dist/esm/utils/env-setup.js.map +6 -0
- package/dist/esm/utils/env-setup.mjs +146 -0
- package/dist/esm/utils/env-setup.mjs.map +1 -0
- package/dist/esm/utils/env-setup.native.js +243 -0
- package/dist/esm/utils/env-setup.native.js.map +1 -0
- package/dist/esm/utils/env.js +83 -0
- package/dist/esm/utils/env.js.map +6 -0
- package/dist/esm/utils/env.mjs +90 -0
- package/dist/esm/utils/env.mjs.map +1 -0
- package/dist/esm/utils/env.native.js +99 -0
- package/dist/esm/utils/env.native.js.map +1 -0
- package/dist/esm/utils/files.js +150 -0
- package/dist/esm/utils/files.js.map +6 -0
- package/dist/esm/utils/files.mjs +187 -0
- package/dist/esm/utils/files.mjs.map +1 -0
- package/dist/esm/utils/files.native.js +247 -0
- package/dist/esm/utils/files.native.js.map +1 -0
- package/dist/esm/utils/parallel-runner.js +69 -0
- package/dist/esm/utils/parallel-runner.js.map +6 -0
- package/dist/esm/utils/parallel-runner.mjs +76 -0
- package/dist/esm/utils/parallel-runner.mjs.map +1 -0
- package/dist/esm/utils/parallel-runner.native.js +109 -0
- package/dist/esm/utils/parallel-runner.native.js.map +1 -0
- package/dist/esm/utils/ports.js +65 -0
- package/dist/esm/utils/ports.js.map +6 -0
- package/dist/esm/utils/ports.mjs +74 -0
- package/dist/esm/utils/ports.mjs.map +1 -0
- package/dist/esm/utils/ports.native.js +93 -0
- package/dist/esm/utils/ports.native.js.map +1 -0
- package/dist/esm/utils/prerequisites.js +91 -0
- package/dist/esm/utils/prerequisites.js.map +6 -0
- package/dist/esm/utils/prerequisites.mjs +91 -0
- package/dist/esm/utils/prerequisites.mjs.map +1 -0
- package/dist/esm/utils/prerequisites.native.js +97 -0
- package/dist/esm/utils/prerequisites.native.js.map +1 -0
- package/dist/esm/utils/prompts.js +139 -0
- package/dist/esm/utils/prompts.js.map +6 -0
- package/dist/esm/utils/prompts.mjs +112 -0
- package/dist/esm/utils/prompts.mjs.map +1 -0
- package/dist/esm/utils/prompts.native.js +115 -0
- package/dist/esm/utils/prompts.native.js.map +1 -0
- package/dist/esm/utils/script-listing.js +91 -0
- package/dist/esm/utils/script-listing.js.map +6 -0
- package/dist/esm/utils/script-listing.mjs +76 -0
- package/dist/esm/utils/script-listing.mjs.map +1 -0
- package/dist/esm/utils/script-listing.native.js +151 -0
- package/dist/esm/utils/script-listing.native.js.map +1 -0
- package/dist/esm/utils/sync.js +50 -0
- package/dist/esm/utils/sync.js.map +6 -0
- package/dist/esm/utils/sync.mjs +48 -0
- package/dist/esm/utils/sync.mjs.map +1 -0
- package/dist/esm/utils/sync.native.js +53 -0
- package/dist/esm/utils/sync.native.js.map +1 -0
- package/dist/esm/utils/welcome.js +21 -0
- package/dist/esm/utils/welcome.js.map +6 -0
- package/dist/esm/utils/welcome.mjs +15 -0
- package/dist/esm/utils/welcome.mjs.map +1 -0
- package/dist/esm/utils/welcome.native.js +18 -0
- package/dist/esm/utils/welcome.native.js.map +1 -0
- package/docs/aggregates.md +579 -0
- package/docs/cloudflare-dev-tunnel.md +41 -0
- package/docs/database.md +203 -0
- package/docs/docs.md +8 -0
- package/docs/emitters.md +562 -0
- package/docs/hot-updater.md +223 -0
- package/docs/native-hot-update.md +252 -0
- package/docs/one-components.md +234 -0
- package/docs/one-hooks.md +570 -0
- package/docs/one-routes.md +660 -0
- package/docs/package-json.md +115 -0
- package/docs/react-native-navigation-flow.md +184 -0
- package/docs/scripts.md +147 -0
- package/docs/sync-prompt.md +208 -0
- package/docs/tamagui.md +478 -0
- package/docs/testing-integration.md +564 -0
- package/docs/triggers.md +450 -0
- package/docs/zero.md +719 -0
- package/package.json +76 -0
- package/scripts/seed.ts +209 -0
- package/src/cli.ts +147 -0
- package/src/commands/changed.ts +313 -0
- package/src/commands/docs.ts +582 -0
- package/src/commands/env-setup.ts +69 -0
- package/src/commands/onboard.ts +1391 -0
- package/src/commands/run.ts +173 -0
- package/src/commands/script.ts +587 -0
- package/src/commands/sync.ts +305 -0
- package/src/constants/ascii.ts +17 -0
- package/src/index.ts +63 -0
- package/src/types.ts +59 -0
- package/src/utils/env-categories.ts +245 -0
- package/src/utils/env-setup.ts +338 -0
- package/src/utils/env.ts +127 -0
- package/src/utils/files.ts +302 -0
- package/src/utils/parallel-runner.ts +129 -0
- package/src/utils/ports.ts +77 -0
- package/src/utils/prerequisites.ts +137 -0
- package/src/utils/prompts.ts +197 -0
- package/src/utils/script-listing.ts +214 -0
- package/src/utils/sync.ts +101 -0
- package/src/withOpSqliteStatic.cjs +51 -0
- package/types/cli.d.ts +7 -0
- package/types/cli.d.ts.map +1 -0
- package/types/commands/changed.d.ts +14 -0
- package/types/commands/changed.d.ts.map +1 -0
- package/types/commands/docs.d.ts +5 -0
- package/types/commands/docs.d.ts.map +1 -0
- package/types/commands/env-setup.d.ts +25 -0
- package/types/commands/env-setup.d.ts.map +1 -0
- package/types/commands/onboard.d.ts +16 -0
- package/types/commands/onboard.d.ts.map +1 -0
- package/types/commands/run.d.ts +8 -0
- package/types/commands/run.d.ts.map +1 -0
- package/types/commands/script.d.ts +28 -0
- package/types/commands/script.d.ts.map +1 -0
- package/types/commands/sync.d.ts +5 -0
- package/types/commands/sync.d.ts.map +1 -0
- package/types/constants/ascii.d.ts +6 -0
- package/types/constants/ascii.d.ts.map +1 -0
- package/types/index.d.ts +12 -0
- package/types/index.d.ts.map +1 -0
- package/types/types.d.ts +54 -0
- package/types/types.d.ts.map +1 -0
- package/types/utils/env-categories.d.ts +8 -0
- package/types/utils/env-categories.d.ts.map +1 -0
- package/types/utils/env-setup.d.ts +10 -0
- package/types/utils/env-setup.d.ts.map +1 -0
- package/types/utils/env.d.ts +19 -0
- package/types/utils/env.d.ts.map +1 -0
- package/types/utils/files.d.ts +47 -0
- package/types/utils/files.d.ts.map +1 -0
- package/types/utils/parallel-runner.d.ts +15 -0
- package/types/utils/parallel-runner.d.ts.map +1 -0
- package/types/utils/ports.d.ts +16 -0
- package/types/utils/ports.d.ts.map +1 -0
- package/types/utils/prerequisites.d.ts +11 -0
- package/types/utils/prerequisites.d.ts.map +1 -0
- package/types/utils/prompts.d.ts +30 -0
- package/types/utils/prompts.d.ts.map +1 -0
- package/types/utils/script-listing.d.ts +7 -0
- package/types/utils/script-listing.d.ts.map +1 -0
- package/types/utils/sync.d.ts +16 -0
- package/types/utils/sync.d.ts.map +1 -0
- package/types/utils/welcome.d.ts +6 -0
- package/types/utils/welcome.d.ts.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["existsSync","readdirSync","statSync","readFileSync","writeFileSync","mkdirSync","homedir","join","relative","dirname","basename","fileURLToPath","defineCommand","pc","listAllScripts","listCategoryScripts","compareFiles","getFileSize","syncFileWithConfirmation","formatScriptList","listAllScripts2","listCategoryScripts2","CACHE_DIR","CACHE_FILE","findScriptsPackageRoot","resolved","import","meta","resolve","packageJsonPath","URL","packageRoot","srcPath","getLocalScriptsDir","process","cwd","extractMetadata","filePath","lines","split","slice","metadata","line","descMatch","match","description","trim","argsMatch","args","map","a","stat","mtime","mtimeMs","loadCache","JSON","parse","saveCache","cache","recursive","stringify","getScriptMetadata","discoverScripts","dir","baseDir","depth","maxDepth","scripts","Map","entries","entry","fullPath","isDirectory","subScripts","name","path","set","endsWith","scriptName","replace","findScript","normalizedName","localDir","ext","localPath","builtInDir","builtInPath","runScript","scriptPath","console","info","dim","$","err","error","red","exit","newCommand","type","required","run","template","green","getAllScriptFiles","files","push","ejectCommand","yes","default","targetScriptsDir","sourceScriptsDir","bold","cyan","yellow","sourceFiles","length","filesToSync","stats","new","modified","identical","file","sourcePath","targetPath","status","sourceSize","targetSize","sortOrder","sort","b","syncedCount","targetDir","content","runSubCommand","rawArgs","scriptArgs","indexOf","scriptCommand","subCommands","eject","createShorthandCommand","_","cmd"],"sources":["../../../src/commands/script.ts"],"sourcesContent":[null],"mappings":"AAIA,SACEA,UAAA,EACAC,WAAA,EACAC,QAAA,EACAC,YAAA,EACAC,aAAA,EACAC,SAAA,QACK;AACP,SAASC,OAAA,QAAe;AACxB,SAASC,IAAA,EAAMC,QAAA,EAAUC,OAAA,EAASC,QAAA,QAAyB;AAC3D,SAASC,aAAA,QAAqB;AAE9B,SAASC,aAAA,QAAqB;AAC9B,OAAOC,EAAA,MAAQ;AAEf,SAASC,cAAA,EAAgBC,mBAAA,QAA2B;AACpD,SAEEC,YAAA,EACAC,WAAA,EACAC,wBAAA,QACK;AA8LP,SACEC,gBAAA,EACAL,cAAA,IAAAM,eAAA,EACAL,mBAAA,IAAAM,oBAAA,QACK;AA/LP,MAAMC,SAAA,GAAYf,IAAA,CAAKD,OAAA,CAAQ,GAAG,UAAU;EACtCiB,UAAA,GAAahB,IAAA,CAAKe,SAAA,EAAW,mBAAmB;AAatD,SAASE,uBAAA,EAAwC;EAC/C,IAAI;IACF,MAAMC,QAAA,GAAWC,MAAA,CAAAC,IAAA,CAAYC,OAAA,CAAQ,gCAAgC;MAE/DC,eAAA,GAAkBlB,aAAA,CAAc,IAAImB,GAAA,CAAIL,QAAQ,CAAC;MACjDM,WAAA,GAAcxB,IAAA,CAAKsB,eAAA,EAAiB,IAAI;MACxCG,OAAA,GAAUzB,IAAA,CAAKwB,WAAA,EAAa,KAAK;IAEvC,IAAI/B,UAAA,CAAWgC,OAAO,GACpB,OAAOA,OAAA;EAEX,QAAc,CAEd;EAEA,OAAO;AACT;AAGO,SAASC,mBAAA,EAA6B;EAC3C,OAAO1B,IAAA,CAAK2B,OAAA,CAAQC,GAAA,CAAI,GAAG,SAAS;AACtC;AAGA,SAASC,gBAAgBC,QAAA,EAAkC;EACzD,IAAI;IAEF,MAAMC,KAAA,GADUnC,YAAA,CAAakC,QAAA,EAAU,OAAO,EACxBE,KAAA,CAAM;AAAA,CAAI,EAAEC,KAAA,CAAM,GAAG,EAAE;MAEvCC,QAAA,GAA2B,CAAC;IAElC,WAAWC,IAAA,IAAQJ,KAAA,EAAO;MAExB,MAAMK,SAAA,GAAYD,IAAA,CAAKE,KAAA,CAAM,qBAAqB;MAC9CD,SAAA,IAAaA,SAAA,CAAU,CAAC,MAC1BF,QAAA,CAASI,WAAA,GAAcF,SAAA,CAAU,CAAC,EAAEG,IAAA,CAAK;MAI3C,MAAMC,SAAA,GAAYL,IAAA,CAAKE,KAAA,CAAM,cAAc;MACvCG,SAAA,IAAaA,SAAA,CAAU,CAAC,MAC1BN,QAAA,CAASO,IAAA,GAAOD,SAAA,CAAU,CAAC,EAAER,KAAA,CAAM,GAAG,EAAEU,GAAA,CAAKC,CAAA,IAAMA,CAAA,CAAEJ,IAAA,CAAK,CAAC;IAE/D;IAGA,MAAMK,IAAA,GAAOjD,QAAA,CAASmC,QAAQ;IAC9B,OAAAI,QAAA,CAASW,KAAA,GAAQD,IAAA,CAAKE,OAAA,EAEfZ,QAAA;EACT,QAAc;IACZ,OAAO,CAAC;EACV;AACF;AAGA,SAASa,UAAA,EAAyB;EAChC,IAAI;IACF,IAAItD,UAAA,CAAWuB,UAAU,GACvB,OAAOgC,IAAA,CAAKC,KAAA,CAAMrD,YAAA,CAAaoB,UAAA,EAAY,OAAO,CAAC;EAEvD,QAAc,CAEd;EACA,OAAO,CAAC;AACV;AAGA,SAASkC,UAAUC,KAAA,EAAoB;EACrC,IAAI;IACG1D,UAAA,CAAWsB,SAAS,KACvBjB,SAAA,CAAUiB,SAAA,EAAW;MAAEqC,SAAA,EAAW;IAAK,CAAC,GAE1CvD,aAAA,CAAcmB,UAAA,EAAYgC,IAAA,CAAKK,SAAA,CAAUF,KAAA,EAAO,MAAM,CAAC,CAAC;EAC1D,QAAc,CAEd;AACF;AAGO,SAASG,kBAAkBxB,QAAA,EAAkC;EAClE,MAAMqB,KAAA,GAAQJ,SAAA,CAAU;IAClBH,IAAA,GAAOjD,QAAA,CAASmC,QAAQ;EAG9B,IAAIqB,KAAA,CAAMrB,QAAQ,KAAKqB,KAAA,CAAMrB,QAAQ,EAAEe,KAAA,KAAUD,IAAA,CAAKE,OAAA,EACpD,OAAOK,KAAA,CAAMrB,QAAQ;EAIvB,MAAMI,QAAA,GAAWL,eAAA,CAAgBC,QAAQ;EAGzC,OAAAqB,KAAA,CAAMrB,QAAQ,IAAII,QAAA,EAClBgB,SAAA,CAAUC,KAAK,GAERjB,QAAA;AACT;AAGO,SAASqB,gBACdC,GAAA,EACAC,OAAA,GAAkBD,GAAA,EAClBE,KAAA,GAAgB,GAChBC,QAAA,GAAmB,GACE;EACrB,MAAMC,OAAA,GAAU,mBAAIC,GAAA,CAAoB;EAExC,IAAI,CAACpE,UAAA,CAAW+D,GAAG,GACjB,OAAOI,OAAA;EAGT,IAAI;IACF,MAAME,OAAA,GAAUpE,WAAA,CAAY8D,GAAG;IAE/B,WAAWO,KAAA,IAASD,OAAA,EAAS;MAC3B,MAAME,QAAA,GAAWhE,IAAA,CAAKwD,GAAA,EAAKO,KAAK;MAGhC,IAFapE,QAAA,CAASqE,QAAQ,EAErBC,WAAA,CAAY,GAAG;QAEtB,IAAIF,KAAA,KAAU,aAAaL,KAAA,IAASC,QAAA,EAClC;QAGF,MAAMO,UAAA,GAAaX,eAAA,CAAgBS,QAAA,EAAUP,OAAA,EAASC,KAAA,GAAQ,GAAGC,QAAQ;QACzE,WAAW,CAACQ,IAAA,EAAMC,IAAI,KAAKF,UAAA,EACzBN,OAAA,CAAQS,GAAA,CAAIF,IAAA,EAAMC,IAAI;MAE1B,WAAWL,KAAA,CAAMO,QAAA,CAAS,KAAK,KAAKP,KAAA,CAAMO,QAAA,CAAS,KAAK,GAAG;QAGzD,MAAMC,UAAA,GADetE,QAAA,CAASwD,OAAA,EAASO,QAAQ,EAAEhC,KAAA,CAAM,IAAI,EAAEhC,IAAA,CAAK,GAAG,EACrCwE,OAAA,CAAQ,cAAc,EAAE;QACxDZ,OAAA,CAAQS,GAAA,CAAIE,UAAA,EAAYP,QAAQ;MAClC;IACF;EACF,QAAc,CAEd;EAEA,OAAOJ,OAAA;AACT;AAGO,SAASa,WAAWN,IAAA,EAA6B;EAEtD,MAAMO,cAAA,GAAiBP,IAAA,CAAKK,OAAA,CAAQ,MAAM,GAAG;IAGvCG,QAAA,GAAWjD,kBAAA,CAAmB;EAGpC,WAAWkD,GAAA,IAAO,CAAC,OAAO,OAAO,EAAE,GAAG;IACpC,MAAMC,SAAA,GAAY7E,IAAA,CAAK2E,QAAA,EAAU,GAAGD,cAAc,GAAGE,GAAG,EAAE;IAC1D,IAAInF,UAAA,CAAWoF,SAAS,GACtB,OAAOA,SAAA;EAEX;EAGA,MAAMC,UAAA,GAAa7D,sBAAA,CAAuB;EAC1C,IAAI6D,UAAA,EACF,WAAWF,GAAA,IAAO,CAAC,OAAO,OAAO,EAAE,GAAG;IACpC,MAAMG,WAAA,GAAc/E,IAAA,CAAK8E,UAAA,EAAY,GAAGJ,cAAc,GAAGE,GAAG,EAAE;IAC9D,IAAInF,UAAA,CAAWsF,WAAW,GACxB,OAAOA,WAAA;EAEX;EAGF,OAAO;AACT;AASA,eAAeC,UAAUC,UAAA,EAAoBxC,IAAA,EAA+B;EAC1EyC,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAG8E,GAAA,CAAI,YAAYnF,QAAA,CAAS0B,OAAA,CAAQC,GAAA,CAAI,GAAGqD,UAAU,CAAC,EAAE,CAAC,GACtEC,OAAA,CAAQC,IAAA,CAAK;EAEb,IAAI;IACF,MAAM;MAAEE;IAAE,IAAI,MAAM,OAAO,KAAK;IAChC,MAAMA,CAAA,OAAQJ,UAAU,IAAIxC,IAAI;EAClC,SAAS6C,GAAA,EAAK;IACZJ,OAAA,CAAQK,KAAA,CAAMjF,EAAA,CAAGkF,GAAA,CAAI,gCAA2BF,GAAG,EAAE,CAAC,GACtD3D,OAAA,CAAQ8D,IAAA,CAAK,CAAC;EAChB;AACF;AAGA,MAAMC,UAAA,GAAarF,aAAA,CAAc;EAC/Be,IAAA,EAAM;IACJ+C,IAAA,EAAM;IACN7B,WAAA,EAAa;EACf;EACAG,IAAA,EAAM;IACJ2B,IAAA,EAAM;MACJuB,IAAA,EAAM;MACNrD,WAAA,EAAa;MACbsD,QAAA,EAAU;IACZ;EACF;EACA,MAAMC,IAAI;IAAEpD;EAAK,GAAG;IAClB,MAAMwC,UAAA,GAAaxC,IAAA,CAAK2B,IAAA;MAClBO,QAAA,GAAWjD,kBAAA,CAAmB;MAG9BsC,QAAA,GAAWhE,IAAA,CAAK2E,QAAA,EAAU,GAAGM,UAAU,KAAK;MAC5CzB,GAAA,GAAMtD,OAAA,CAAQ8D,QAAQ;IAGvBvE,UAAA,CAAW+D,GAAG,KACjB1D,SAAA,CAAU0D,GAAA,EAAK;MAAEJ,SAAA,EAAW;IAAK,CAAC,GAIhC3D,UAAA,CAAWuE,QAAQ,MACrBkB,OAAA,CAAQK,KAAA,CACNjF,EAAA,CAAGkF,GAAA,CAAI,iCAA4BvF,QAAA,CAAS0B,OAAA,CAAQC,GAAA,CAAI,GAAGoC,QAAQ,CAAC,EAAE,CACxE,GACArC,OAAA,CAAQ8D,IAAA,CAAK,CAAC;IAIhB,MAAMK,QAAA,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAuBK3F,QAAA,CAAS8E,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAgB1CpF,aAAA,CAAcmE,QAAA,EAAU8B,QAAQ,GAChCZ,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAGyF,KAAA,CAAM,8BAAyB9F,QAAA,CAAS0B,OAAA,CAAQC,GAAA,CAAI,GAAGoC,QAAQ,CAAC,EAAE,CAAC,GACnFkB,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAG8E,GAAA,CAAI,8CAA8C,CAAC;EACrE;AACF,CAAC;AAGD,SAASY,kBAAkBxC,GAAA,EAAaC,OAAA,GAAkBD,GAAA,EAAe;EACvE,MAAMyC,KAAA,GAAkB,EAAC;EAEzB,IAAI,CAACxG,UAAA,CAAW+D,GAAG,GACjB,OAAOyC,KAAA;EAGT,IAAI;IACF,MAAMnC,OAAA,GAAUpE,WAAA,CAAY8D,GAAG;IAE/B,WAAWO,KAAA,IAASD,OAAA,EAAS;MAC3B,MAAME,QAAA,GAAWhE,IAAA,CAAKwD,GAAA,EAAKO,KAAK;MACnBpE,QAAA,CAASqE,QAAQ,EAErBC,WAAA,CAAY,IACnBgC,KAAA,CAAMC,IAAA,CAAK,GAAGF,iBAAA,CAAkBhC,QAAA,EAAUP,OAAO,CAAC,KAElDM,KAAA,CAAMO,QAAA,CAAS,KAAK,KACpBP,KAAA,CAAMO,QAAA,CAAS,KAAK,KACpBP,KAAA,CAAMO,QAAA,CAAS,MAAM,MAGrB2B,KAAA,CAAMC,IAAA,CAAKjG,QAAA,CAASwD,OAAA,EAASO,QAAQ,EAAEhC,KAAA,CAAM,IAAI,EAAEhC,IAAA,CAAK,GAAG,CAAC;IAEhE;EACF,QAAc,CAEd;EAEA,OAAOiG,KAAA;AACT;AAGA,MAAME,YAAA,GAAe9F,aAAA,CAAc;IACjCe,IAAA,EAAM;MACJ+C,IAAA,EAAM;MACN7B,WAAA,EAAa;IACf;IACAG,IAAA,EAAM;MACJ2D,GAAA,EAAK;QACHT,IAAA,EAAM;QACNrD,WAAA,EAAa;QACb+D,OAAA,EAAS;MACX;IACF;IACA,MAAMR,IAAI;MAAEpD;IAAK,GAAG;MAClB,MAAMb,GAAA,GAAMD,OAAA,CAAQC,GAAA,CAAI;QAClB0E,gBAAA,GAAmBtG,IAAA,CAAK4B,GAAA,EAAK,SAAS;QACtC2E,gBAAA,GAAmBtF,sBAAA,CAAuB;MAEhDiE,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAGkG,IAAA,CAAKlG,EAAA,CAAGmG,IAAA,CAAK,6BAAmB,CAAC,CAAC,GAClDvB,OAAA,CAAQC,IAAA,CAAK,GAERoB,gBAAA,KACHrB,OAAA,CAAQK,KAAA,CACNjF,EAAA,CAAGkF,GAAA,CACD,gFACF,CACF,GACAN,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAG8E,GAAA,CAAI,4CAA4C,CAAC,GACjEzD,OAAA,CAAQ8D,IAAA,CAAK,CAAC,IAGhBP,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAG8E,GAAA,CAAI,WAAWmB,gBAAgB,EAAE,CAAC,GAClDrB,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAG8E,GAAA,CAAI,WAAWkB,gBAAgB,EAAE,CAAC,GAClDpB,OAAA,CAAQC,IAAA,CAAK,GAGR1F,UAAA,CAAW6G,gBAAgB,MAC9BpB,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAGoG,MAAA,CAAO,gEAA2D,CAAC,GACnF5G,SAAA,CAAUwG,gBAAA,EAAkB;QAAElD,SAAA,EAAW;MAAK,CAAC;MAIjD,MAAMuD,WAAA,GAAcX,iBAAA,CAAkBO,gBAAgB;MAEtD,IAAII,WAAA,CAAYC,MAAA,KAAW,GAAG;QAC5B1B,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAGoG,MAAA,CAAO,mDAAmD,CAAC;QAC3E;MACF;MAGA,MAAMG,WAAA,GAA4B,EAAC;QAC7BC,KAAA,GAAQ;UACZC,GAAA,EAAK;UACLC,QAAA,EAAU;UACVC,SAAA,EAAW;QACb;MAEA,WAAWC,IAAA,IAAQP,WAAA,EAAa;QAC9B,MAAMQ,UAAA,GAAanH,IAAA,CAAKuG,gBAAA,EAAkBW,IAAI;UACxCE,UAAA,GAAapH,IAAA,CAAKsG,gBAAA,EAAkBY,IAAI;UACxCG,MAAA,GAAS5G,YAAA,CAAa0G,UAAA,EAAYC,UAAU;QAElDN,KAAA,CAAMO,MAAM,KAEZR,WAAA,CAAYX,IAAA,CAAK;UACf/B,IAAA,EAAM+C,IAAA;UACNC,UAAA;UACAC,UAAA;UACAC,MAAA;UACAC,UAAA,EAAY5G,WAAA,CAAYyG,UAAU;UAClCI,UAAA,EAAY7G,WAAA,CAAY0G,UAAU;QACpC,CAAC;MACH;MAQA,IANAlC,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAGkG,IAAA,CAAK,UAAU,CAAC,GAChCtB,OAAA,CAAQC,IAAA,CAAK,KAAK7E,EAAA,CAAGyF,KAAA,CAAM,GAAGe,KAAA,CAAMC,GAAG,MAAM,CAAC,EAAE,GAChD7B,OAAA,CAAQC,IAAA,CAAK,KAAK7E,EAAA,CAAGoG,MAAA,CAAO,GAAGI,KAAA,CAAME,QAAQ,WAAW,CAAC,EAAE,GAC3D9B,OAAA,CAAQC,IAAA,CAAK,KAAK7E,EAAA,CAAG8E,GAAA,CAAI,GAAG0B,KAAA,CAAMG,SAAS,YAAY,CAAC,EAAE,GAC1D/B,OAAA,CAAQC,IAAA,CAAK,GAET2B,KAAA,CAAMC,GAAA,KAAQ,KAAKD,KAAA,CAAME,QAAA,KAAa,GAAG;QAC3C9B,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAGyF,KAAA,CAAM,4CAAuC,CAAC;QAC9D;MACF;MAGA,MAAMyB,SAAA,GAAY;QAAET,GAAA,EAAK;QAAGC,QAAA,EAAU;QAAGC,SAAA,EAAW;MAAE;MACtDJ,WAAA,CAAYY,IAAA,CAAK,CAAC9E,CAAA,EAAG+E,CAAA,KAAMF,SAAA,CAAU7E,CAAA,CAAE0E,MAAM,IAAIG,SAAA,CAAUE,CAAA,CAAEL,MAAM,CAAC;MAGpE,IAAIM,WAAA,GAAc;MAElB,WAAWT,IAAA,IAAQL,WAAA,EACjB,IAAIpE,IAAA,CAAK2D,GAAA,IAAOc,IAAA,CAAKG,MAAA,KAAW,aAAa;QAE3C,MAAMO,SAAA,GAAY1H,OAAA,CAAQgH,IAAA,CAAKE,UAAU;QACpC3H,UAAA,CAAWmI,SAAS,KACvB9H,SAAA,CAAU8H,SAAA,EAAW;UAAExE,SAAA,EAAW;QAAK,CAAC;QAE1C,MAAMyE,OAAA,GAAUjI,YAAA,CAAasH,IAAA,CAAKC,UAAU;QAC5CtH,aAAA,CAAcqH,IAAA,CAAKE,UAAA,EAAYS,OAAO,GACtC3C,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAGyF,KAAA,CAAM,YAAOmB,IAAA,CAAK/C,IAAI,EAAE,CAAC,GACzCwD,WAAA;MACF,OACoB,OAAMhH,wBAAA,CAAyBuG,IAAI,MAEnDS,WAAA;MAKNzC,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAGkG,IAAA,CAAKlG,EAAA,CAAGyF,KAAA,CAAM,oBAAe4B,WAAW,kBAAkB,CAAC,CAAC,GAC5EzC,OAAA,CAAQC,IAAA,CAAK;IACf;EACF,CAAC;EAGK2C,aAAA,GAAgBzH,aAAA,CAAc;IAClCe,IAAA,EAAM;MACJ+C,IAAA,EAAM;MACN7B,WAAA,EAAa;IACf;IACAG,IAAA,EAAM;MACJ0B,IAAA,EAAM;QACJwB,IAAA,EAAM;QACNrD,WAAA,EAAa;QACbsD,QAAA,EAAU;MACZ;IACF;IACA,MAAMC,IAAI;MAAEpD,IAAA;MAAMsF;IAAQ,GAAG;MAE3B,MAAM9C,UAAA,GAAaR,UAAA,CAAWhC,IAAA,CAAK0B,IAAI;MAElCc,UAAA,KACHC,OAAA,CAAQK,KAAA,CAAMjF,EAAA,CAAGkF,GAAA,CAAI,4BAAuB/C,IAAA,CAAK0B,IAAI,EAAE,CAAC,GACxDe,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAG8E,GAAA,CAAI,2CAA2C,CAAC,GAChEzD,OAAA,CAAQ8D,IAAA,CAAK,CAAC;MAIhB,MAAMuC,UAAA,GAAaD,OAAA,CAAQ9F,KAAA,CAAM8F,OAAA,CAAQE,OAAA,CAAQxF,IAAA,CAAK0B,IAAI,IAAI,CAAC;MAE/D,MAAMa,SAAA,CAAUC,UAAA,EAAY+C,UAAU;IACxC;EACF,CAAC;EAGYE,aAAA,GAAgB7H,aAAA,CAAc;IACzCe,IAAA,EAAM;MACJ+C,IAAA,EAAM;MACN7B,WAAA,EAAa;IACf;IACAG,IAAA,EAAM;MACJ0B,IAAA,EAAM;QACJwB,IAAA,EAAM;QACNrD,WAAA,EAAa;QACbsD,QAAA,EAAU;MACZ;IACF;IACAuC,WAAA,EAAa;MACXpB,GAAA,EAAKrB,UAAA;MACLG,GAAA,EAAKiC,aAAA;MACLM,KAAA,EAAOjC;IACT;IACA,MAAMN,IAAI;MAAEpD,IAAA;MAAMsF;IAAQ,GAAG;MAG3B,MAAMxD,UAAA,GAAa9B,IAAA,CAAK0B,IAAA,IAAQ4D,OAAA,CAAQ,CAAC;MAGzC,IAAI,CAACxD,UAAA,EAAY;QACfhE,cAAA,CAAe,EAAK;QACpB;MACF;MAGA,IAAIC,mBAAA,CAAoB+D,UAAU,GAChC;MAIF,MAAMU,UAAA,GAAaR,UAAA,CAAWF,UAAU;MAEnCU,UAAA,KACHC,OAAA,CAAQK,KAAA,CAAMjF,EAAA,CAAGkF,GAAA,CAAI,4BAAuBjB,UAAU,EAAE,CAAC,GACzDW,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAK7E,EAAA,CAAG8E,GAAA,CAAI,2CAA2C,CAAC,GAChEzD,OAAA,CAAQ8D,IAAA,CAAK,CAAC;MAIhB,MAAMuC,UAAA,GAAaD,OAAA,CAAQ9F,KAAA,CAAM8F,OAAA,CAAQE,OAAA,CAAQ1D,UAAU,IAAI,CAAC;MAEhE,MAAMS,SAAA,CAAUC,UAAA,EAAY+C,UAAU;IACxC;EACF,CAAC;AAGM,SAASK,uBAAuBlE,IAAA,EAAc;EACnD,OAAO9D,aAAA,CAAc;IACnBe,IAAA,EAAM;MACJ+C,IAAA;MACA7B,WAAA,EAAa;IACf;IACAG,IAAA,EAAM;MACJA,IAAA,EAAM;QACJkD,IAAA,EAAM;QACNrD,WAAA,EAAa;QACbsD,QAAA,EAAU;MACZ;IACF;IACA,MAAMC,IAAI;MAAEkC;IAAQ,GAAG;MAErB,MAAMxD,UAAA,GAAawD,OAAA,CAAQnB,MAAA,GAAS,IAAI,GAAGzC,IAAI,IAAI4D,OAAA,CAAQ,CAAC,CAAC,KAAK5D,IAAA;QAC5D6D,UAAA,GACJD,OAAA,CAAQnB,MAAA,GAAS,IACb,CAAC,UAAUrC,UAAA,EAAY,GAAGwD,OAAA,CAAQ9F,KAAA,CAAM,CAAC,CAAC,IAC1C,CAAC,UAAUkC,IAAI;QAGf;UAAE0B;QAAI,IAAIqC,aAAA;MACZrC,GAAA,KACF,MAAMA,GAAA,CAAI;QACRpD,IAAA,EAAM;UACJ0B,IAAA,EAAMI,UAAA;UACN+D,CAAA,EAAGP,OAAA,CAAQ9F,KAAA,CAAM,CAAC;QACpB;QACA8F,OAAA,EAASC,UAAA;QACTO,GAAA,EAAKL;MACP,CAAQ;IAEZ;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
import { existsSync, readdirSync, statSync, readFileSync, writeFileSync, mkdirSync } from "fs";
|
|
2
|
+
import { homedir } from "os";
|
|
3
|
+
import { join, relative, dirname, basename } from "path";
|
|
4
|
+
import { fileURLToPath } from "url";
|
|
5
|
+
import { defineCommand } from "citty";
|
|
6
|
+
import pc from "picocolors";
|
|
7
|
+
import { listAllScripts, listCategoryScripts } from "../utils/script-listing.native.js";
|
|
8
|
+
import { compareFiles, getFileSize, syncFileWithConfirmation } from "../utils/sync.native.js";
|
|
9
|
+
import { formatScriptList, listAllScripts as listAllScripts2, listCategoryScripts as listCategoryScripts2 } from "../utils/script-listing.native.js";
|
|
10
|
+
var CACHE_DIR = join(homedir(), ".takeout"),
|
|
11
|
+
CACHE_FILE = join(CACHE_DIR, "script-cache.json");
|
|
12
|
+
function findScriptsPackageRoot() {
|
|
13
|
+
try {
|
|
14
|
+
var resolved = import.meta.resolve("@take-out/scripts/package.json"),
|
|
15
|
+
packageJsonPath = fileURLToPath(new URL(resolved)),
|
|
16
|
+
packageRoot = join(packageJsonPath, ".."),
|
|
17
|
+
srcPath = join(packageRoot, "src");
|
|
18
|
+
if (existsSync(srcPath)) return srcPath;
|
|
19
|
+
} catch {}
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
function getLocalScriptsDir() {
|
|
23
|
+
return join(process.cwd(), "scripts");
|
|
24
|
+
}
|
|
25
|
+
function extractMetadata(filePath) {
|
|
26
|
+
try {
|
|
27
|
+
var content = readFileSync(filePath, "utf-8"),
|
|
28
|
+
lines = content.split(`
|
|
29
|
+
`).slice(0, 20),
|
|
30
|
+
metadata = {},
|
|
31
|
+
_iteratorNormalCompletion = !0,
|
|
32
|
+
_didIteratorError = !1,
|
|
33
|
+
_iteratorError = void 0;
|
|
34
|
+
try {
|
|
35
|
+
for (var _iterator = lines[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
36
|
+
var line = _step.value,
|
|
37
|
+
descMatch = line.match(/@description\s+(.+)/);
|
|
38
|
+
descMatch && descMatch[1] && (metadata.description = descMatch[1].trim());
|
|
39
|
+
var argsMatch = line.match(/@args\s+(.+)/);
|
|
40
|
+
argsMatch && argsMatch[1] && (metadata.args = argsMatch[1].split(",").map(function (a) {
|
|
41
|
+
return a.trim();
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
} catch (err) {
|
|
45
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
46
|
+
} finally {
|
|
47
|
+
try {
|
|
48
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
49
|
+
} finally {
|
|
50
|
+
if (_didIteratorError) throw _iteratorError;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
var stat = statSync(filePath);
|
|
54
|
+
return metadata.mtime = stat.mtimeMs, metadata;
|
|
55
|
+
} catch {
|
|
56
|
+
return {};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function loadCache() {
|
|
60
|
+
try {
|
|
61
|
+
if (existsSync(CACHE_FILE)) return JSON.parse(readFileSync(CACHE_FILE, "utf-8"));
|
|
62
|
+
} catch {}
|
|
63
|
+
return {};
|
|
64
|
+
}
|
|
65
|
+
function saveCache(cache) {
|
|
66
|
+
try {
|
|
67
|
+
existsSync(CACHE_DIR) || mkdirSync(CACHE_DIR, {
|
|
68
|
+
recursive: !0
|
|
69
|
+
}), writeFileSync(CACHE_FILE, JSON.stringify(cache, null, 2));
|
|
70
|
+
} catch {}
|
|
71
|
+
}
|
|
72
|
+
function getScriptMetadata(filePath) {
|
|
73
|
+
var cache = loadCache(),
|
|
74
|
+
stat = statSync(filePath);
|
|
75
|
+
if (cache[filePath] && cache[filePath].mtime === stat.mtimeMs) return cache[filePath];
|
|
76
|
+
var metadata = extractMetadata(filePath);
|
|
77
|
+
return cache[filePath] = metadata, saveCache(cache), metadata;
|
|
78
|
+
}
|
|
79
|
+
function discoverScripts(dir) {
|
|
80
|
+
var baseDir = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : dir,
|
|
81
|
+
depth = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0,
|
|
82
|
+
maxDepth = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 1,
|
|
83
|
+
scripts = /* @__PURE__ */new Map();
|
|
84
|
+
if (!existsSync(dir)) return scripts;
|
|
85
|
+
try {
|
|
86
|
+
var entries = readdirSync(dir),
|
|
87
|
+
_iteratorNormalCompletion = !0,
|
|
88
|
+
_didIteratorError = !1,
|
|
89
|
+
_iteratorError = void 0;
|
|
90
|
+
try {
|
|
91
|
+
for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
92
|
+
var entry = _step.value,
|
|
93
|
+
fullPath = join(dir, entry),
|
|
94
|
+
stat = statSync(fullPath);
|
|
95
|
+
if (stat.isDirectory()) {
|
|
96
|
+
if (entry === "helpers" || depth >= maxDepth) continue;
|
|
97
|
+
var subScripts = discoverScripts(fullPath, baseDir, depth + 1, maxDepth),
|
|
98
|
+
_iteratorNormalCompletion1 = !0,
|
|
99
|
+
_didIteratorError1 = !1,
|
|
100
|
+
_iteratorError1 = void 0;
|
|
101
|
+
try {
|
|
102
|
+
for (var _iterator1 = subScripts[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
103
|
+
var [name, path] = _step1.value;
|
|
104
|
+
scripts.set(name, path);
|
|
105
|
+
}
|
|
106
|
+
} catch (err) {
|
|
107
|
+
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
108
|
+
} finally {
|
|
109
|
+
try {
|
|
110
|
+
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
111
|
+
} finally {
|
|
112
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
} else if (entry.endsWith(".ts") || entry.endsWith(".js")) {
|
|
116
|
+
var relativePath = relative(baseDir, fullPath).split("\\").join("/"),
|
|
117
|
+
scriptName = relativePath.replace(/\.(ts|js)$/, "");
|
|
118
|
+
scripts.set(scriptName, fullPath);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
} catch (err) {
|
|
122
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
123
|
+
} finally {
|
|
124
|
+
try {
|
|
125
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
126
|
+
} finally {
|
|
127
|
+
if (_didIteratorError) throw _iteratorError;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
} catch {}
|
|
131
|
+
return scripts;
|
|
132
|
+
}
|
|
133
|
+
function findScript(name) {
|
|
134
|
+
for (var normalizedName = name.replace(/:/g, "/"), localDir = getLocalScriptsDir(), _i = 0, _iter = [".ts", ".js", ""]; _i < _iter.length; _i++) {
|
|
135
|
+
var ext = _iter[_i],
|
|
136
|
+
localPath = join(localDir, `${normalizedName}${ext}`);
|
|
137
|
+
if (existsSync(localPath)) return localPath;
|
|
138
|
+
}
|
|
139
|
+
var builtInDir = findScriptsPackageRoot();
|
|
140
|
+
if (builtInDir) for (var _i1 = 0, _iter1 = [".ts", ".js", ""]; _i1 < _iter1.length; _i1++) {
|
|
141
|
+
var ext1 = _iter1[_i1],
|
|
142
|
+
builtInPath = join(builtInDir, `${normalizedName}${ext1}`);
|
|
143
|
+
if (existsSync(builtInPath)) return builtInPath;
|
|
144
|
+
}
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
async function runScript(scriptPath, args) {
|
|
148
|
+
console.info(pc.dim(`Running: ${relative(process.cwd(), scriptPath)}`)), console.info();
|
|
149
|
+
try {
|
|
150
|
+
var {
|
|
151
|
+
$
|
|
152
|
+
} = await import("bun");
|
|
153
|
+
await $`bun ${scriptPath} ${args}`;
|
|
154
|
+
} catch (err) {
|
|
155
|
+
console.error(pc.red(`\u2717 Error running script: ${err}`)), process.exit(1);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
var newCommand = defineCommand({
|
|
159
|
+
meta: {
|
|
160
|
+
name: "new",
|
|
161
|
+
description: "Create a new script from template"
|
|
162
|
+
},
|
|
163
|
+
args: {
|
|
164
|
+
path: {
|
|
165
|
+
type: "positional",
|
|
166
|
+
description: "Path for the new script (e.g., ci/test)",
|
|
167
|
+
required: !0
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
async run(param) {
|
|
171
|
+
var {
|
|
172
|
+
args
|
|
173
|
+
} = param,
|
|
174
|
+
scriptPath = args.path,
|
|
175
|
+
localDir = getLocalScriptsDir(),
|
|
176
|
+
fullPath = join(localDir, `${scriptPath}.ts`),
|
|
177
|
+
dir = dirname(fullPath);
|
|
178
|
+
existsSync(dir) || mkdirSync(dir, {
|
|
179
|
+
recursive: !0
|
|
180
|
+
}), existsSync(fullPath) && (console.error(pc.red(`\u2717 Script already exists: ${relative(process.cwd(), fullPath)}`)), process.exit(1));
|
|
181
|
+
var template = `#!/usr/bin/env bun
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* @description TODO: Add description
|
|
185
|
+
* @args --verbose, --dry-run
|
|
186
|
+
*/
|
|
187
|
+
|
|
188
|
+
import { parseArgs } from 'node:util'
|
|
189
|
+
|
|
190
|
+
const { values } = parseArgs({
|
|
191
|
+
args: process.argv.slice(2),
|
|
192
|
+
options: {
|
|
193
|
+
verbose: {
|
|
194
|
+
type: 'boolean',
|
|
195
|
+
short: 'v',
|
|
196
|
+
},
|
|
197
|
+
'dry-run': {
|
|
198
|
+
type: 'boolean',
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
})
|
|
202
|
+
|
|
203
|
+
async function main() {
|
|
204
|
+
console.info('Running ${basename(scriptPath)}...')
|
|
205
|
+
|
|
206
|
+
if (values.verbose) {
|
|
207
|
+
console.info('Verbose mode enabled')
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
if (values['dry-run']) {
|
|
211
|
+
console.info('Dry run mode - no changes will be made')
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// TODO: Implement your script logic here
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
main().catch(console.error)
|
|
218
|
+
`;
|
|
219
|
+
writeFileSync(fullPath, template), console.info(pc.green(`\u2713 Created new script: ${relative(process.cwd(), fullPath)}`)), console.info(), console.info(pc.dim("Edit the script and update the TODO sections"));
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
function getAllScriptFiles(dir) {
|
|
223
|
+
var baseDir = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : dir,
|
|
224
|
+
files = [];
|
|
225
|
+
if (!existsSync(dir)) return files;
|
|
226
|
+
try {
|
|
227
|
+
var entries = readdirSync(dir),
|
|
228
|
+
_iteratorNormalCompletion = !0,
|
|
229
|
+
_didIteratorError = !1,
|
|
230
|
+
_iteratorError = void 0;
|
|
231
|
+
try {
|
|
232
|
+
for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
233
|
+
var entry = _step.value,
|
|
234
|
+
fullPath = join(dir, entry),
|
|
235
|
+
stat = statSync(fullPath);
|
|
236
|
+
stat.isDirectory() ? files.push(...getAllScriptFiles(fullPath, baseDir)) : (entry.endsWith(".ts") || entry.endsWith(".js") || entry.endsWith(".cjs")) && files.push(relative(baseDir, fullPath).split("\\").join("/"));
|
|
237
|
+
}
|
|
238
|
+
} catch (err) {
|
|
239
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
240
|
+
} finally {
|
|
241
|
+
try {
|
|
242
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
243
|
+
} finally {
|
|
244
|
+
if (_didIteratorError) throw _iteratorError;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
} catch {}
|
|
248
|
+
return files;
|
|
249
|
+
}
|
|
250
|
+
var ejectCommand = defineCommand({
|
|
251
|
+
meta: {
|
|
252
|
+
name: "eject",
|
|
253
|
+
description: "Eject built-in scripts into your project"
|
|
254
|
+
},
|
|
255
|
+
args: {
|
|
256
|
+
yes: {
|
|
257
|
+
type: "boolean",
|
|
258
|
+
description: "Skip confirmations and eject all files",
|
|
259
|
+
default: !1
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
async run(param) {
|
|
263
|
+
var {
|
|
264
|
+
args
|
|
265
|
+
} = param,
|
|
266
|
+
cwd = process.cwd(),
|
|
267
|
+
targetScriptsDir = join(cwd, "scripts"),
|
|
268
|
+
sourceScriptsDir = findScriptsPackageRoot();
|
|
269
|
+
console.info(), console.info(pc.bold(pc.cyan("\u2699\uFE0F Eject Scripts"))), console.info(), sourceScriptsDir || (console.error(pc.red("\u2717 Built-in scripts package (@take-out/scripts) not found or not installed")), console.info(), console.info(pc.dim("Install with: bun add -d @take-out/scripts")), process.exit(1)), console.info(pc.dim(`Source: ${sourceScriptsDir}`)), console.info(pc.dim(`Target: ${targetScriptsDir}`)), console.info(), existsSync(targetScriptsDir) || (console.info(pc.yellow("\u26A0 Target scripts directory does not exist, will create it")), mkdirSync(targetScriptsDir, {
|
|
270
|
+
recursive: !0
|
|
271
|
+
}));
|
|
272
|
+
var sourceFiles = getAllScriptFiles(sourceScriptsDir);
|
|
273
|
+
if (sourceFiles.length === 0) {
|
|
274
|
+
console.info(pc.yellow("No script files found in built-in scripts package"));
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
var filesToSync = [],
|
|
278
|
+
stats = {
|
|
279
|
+
new: 0,
|
|
280
|
+
modified: 0,
|
|
281
|
+
identical: 0
|
|
282
|
+
},
|
|
283
|
+
_iteratorNormalCompletion = !0,
|
|
284
|
+
_didIteratorError = !1,
|
|
285
|
+
_iteratorError = void 0;
|
|
286
|
+
try {
|
|
287
|
+
for (var _iterator = sourceFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
288
|
+
var file = _step.value,
|
|
289
|
+
sourcePath = join(sourceScriptsDir, file),
|
|
290
|
+
targetPath = join(targetScriptsDir, file),
|
|
291
|
+
status = compareFiles(sourcePath, targetPath);
|
|
292
|
+
stats[status]++, filesToSync.push({
|
|
293
|
+
name: file,
|
|
294
|
+
sourcePath,
|
|
295
|
+
targetPath,
|
|
296
|
+
status,
|
|
297
|
+
sourceSize: getFileSize(sourcePath),
|
|
298
|
+
targetSize: getFileSize(targetPath)
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
} catch (err) {
|
|
302
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
303
|
+
} finally {
|
|
304
|
+
try {
|
|
305
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
306
|
+
} finally {
|
|
307
|
+
if (_didIteratorError) throw _iteratorError;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
if (console.info(pc.bold("Summary:")), console.info(` ${pc.green(`${stats.new} new`)}`), console.info(` ${pc.yellow(`${stats.modified} modified`)}`), console.info(` ${pc.dim(`${stats.identical} identical`)}`), console.info(), stats.new === 0 && stats.modified === 0) {
|
|
311
|
+
console.info(pc.green("\u2713 All scripts are already up to date!"));
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
var sortOrder = {
|
|
315
|
+
new: 0,
|
|
316
|
+
modified: 1,
|
|
317
|
+
identical: 2
|
|
318
|
+
};
|
|
319
|
+
filesToSync.sort(function (a, b) {
|
|
320
|
+
return sortOrder[a.status] - sortOrder[b.status];
|
|
321
|
+
});
|
|
322
|
+
var syncedCount = 0,
|
|
323
|
+
_iteratorNormalCompletion1 = !0,
|
|
324
|
+
_didIteratorError1 = !1,
|
|
325
|
+
_iteratorError1 = void 0;
|
|
326
|
+
try {
|
|
327
|
+
for (var _iterator1 = filesToSync[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
328
|
+
var file1 = _step1.value;
|
|
329
|
+
if (args.yes && file1.status !== "identical") {
|
|
330
|
+
var targetDir = dirname(file1.targetPath);
|
|
331
|
+
existsSync(targetDir) || mkdirSync(targetDir, {
|
|
332
|
+
recursive: !0
|
|
333
|
+
});
|
|
334
|
+
var content = readFileSync(file1.sourcePath);
|
|
335
|
+
writeFileSync(file1.targetPath, content), console.info(pc.green(` \u2713 ${file1.name}`)), syncedCount++;
|
|
336
|
+
} else {
|
|
337
|
+
var wasSynced = await syncFileWithConfirmation(file1);
|
|
338
|
+
wasSynced && syncedCount++;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
} catch (err) {
|
|
342
|
+
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
343
|
+
} finally {
|
|
344
|
+
try {
|
|
345
|
+
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
346
|
+
} finally {
|
|
347
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
console.info(), console.info(pc.bold(pc.green(`\u2713 Complete: ${syncedCount} file(s) ejected`))), console.info();
|
|
351
|
+
}
|
|
352
|
+
}),
|
|
353
|
+
runSubCommand = defineCommand({
|
|
354
|
+
meta: {
|
|
355
|
+
name: "run",
|
|
356
|
+
description: "Run a script (for backwards compatibility)"
|
|
357
|
+
},
|
|
358
|
+
args: {
|
|
359
|
+
name: {
|
|
360
|
+
type: "positional",
|
|
361
|
+
description: "Script name",
|
|
362
|
+
required: !0
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
async run(param) {
|
|
366
|
+
var {
|
|
367
|
+
args,
|
|
368
|
+
rawArgs
|
|
369
|
+
} = param,
|
|
370
|
+
scriptPath = findScript(args.name);
|
|
371
|
+
scriptPath || (console.error(pc.red(`\u2717 Script not found: ${args.name}`)), console.info(), console.info(pc.dim("Run 'tko script' to see available scripts")), process.exit(1));
|
|
372
|
+
var scriptArgs = rawArgs.slice(rawArgs.indexOf(args.name) + 1);
|
|
373
|
+
await runScript(scriptPath, scriptArgs);
|
|
374
|
+
}
|
|
375
|
+
}),
|
|
376
|
+
scriptCommand = defineCommand({
|
|
377
|
+
meta: {
|
|
378
|
+
name: "script",
|
|
379
|
+
description: "Hybrid script runner with filesystem discovery"
|
|
380
|
+
},
|
|
381
|
+
args: {
|
|
382
|
+
name: {
|
|
383
|
+
type: "positional",
|
|
384
|
+
description: "Script name or category to run/list",
|
|
385
|
+
required: !1
|
|
386
|
+
}
|
|
387
|
+
},
|
|
388
|
+
subCommands: {
|
|
389
|
+
new: newCommand,
|
|
390
|
+
run: runSubCommand,
|
|
391
|
+
eject: ejectCommand
|
|
392
|
+
},
|
|
393
|
+
async run(param) {
|
|
394
|
+
var {
|
|
395
|
+
args,
|
|
396
|
+
rawArgs
|
|
397
|
+
} = param,
|
|
398
|
+
scriptName = args.name || rawArgs[1];
|
|
399
|
+
if (!scriptName) {
|
|
400
|
+
listAllScripts(!1);
|
|
401
|
+
return;
|
|
402
|
+
}
|
|
403
|
+
if (!listCategoryScripts(scriptName)) {
|
|
404
|
+
var scriptPath = findScript(scriptName);
|
|
405
|
+
scriptPath || (console.error(pc.red(`\u2717 Script not found: ${scriptName}`)), console.info(), console.info(pc.dim("Run 'tko script' to see available scripts")), process.exit(1));
|
|
406
|
+
var scriptArgs = rawArgs.slice(rawArgs.indexOf(scriptName) + 1);
|
|
407
|
+
await runScript(scriptPath, scriptArgs);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
function createShorthandCommand(name) {
|
|
412
|
+
return defineCommand({
|
|
413
|
+
meta: {
|
|
414
|
+
name,
|
|
415
|
+
description: "Run script directly"
|
|
416
|
+
},
|
|
417
|
+
args: {
|
|
418
|
+
args: {
|
|
419
|
+
type: "positional",
|
|
420
|
+
description: "Script and arguments",
|
|
421
|
+
required: !1
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
async run(param) {
|
|
425
|
+
var {
|
|
426
|
+
rawArgs
|
|
427
|
+
} = param,
|
|
428
|
+
scriptName = rawArgs.length > 0 ? `${name}/${rawArgs[0]}` : name,
|
|
429
|
+
scriptArgs = rawArgs.length > 0 ? ["script", scriptName, ...rawArgs.slice(1)] : ["script", name],
|
|
430
|
+
{
|
|
431
|
+
run
|
|
432
|
+
} = scriptCommand;
|
|
433
|
+
run && (await run({
|
|
434
|
+
args: {
|
|
435
|
+
name: scriptName,
|
|
436
|
+
_: rawArgs.slice(1)
|
|
437
|
+
},
|
|
438
|
+
rawArgs: scriptArgs,
|
|
439
|
+
cmd: scriptCommand
|
|
440
|
+
}));
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
export { createShorthandCommand, discoverScripts, findScript, formatScriptList, getLocalScriptsDir, getScriptMetadata, listAllScripts2 as listAllScripts, listCategoryScripts2 as listCategoryScripts, scriptCommand };
|
|
445
|
+
//# sourceMappingURL=script.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["existsSync","readdirSync","statSync","readFileSync","writeFileSync","mkdirSync","homedir","join","relative","dirname","basename","fileURLToPath","defineCommand","pc","listAllScripts","listCategoryScripts","compareFiles","getFileSize","syncFileWithConfirmation","formatScriptList","listAllScripts2","listCategoryScripts2","CACHE_DIR","CACHE_FILE","findScriptsPackageRoot","resolved","import","meta","resolve","packageJsonPath","URL","packageRoot","srcPath","getLocalScriptsDir","process","cwd","extractMetadata","filePath","content","lines","split","slice","metadata","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","line","value","descMatch","match","description","trim","argsMatch","args","map","a","err","return","stat","mtime","mtimeMs","loadCache","JSON","parse","saveCache","cache","recursive","stringify","getScriptMetadata","discoverScripts","dir","baseDir","arguments","length","depth","maxDepth","scripts","Map","entries","entry","fullPath","isDirectory","subScripts","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","name","path","set","endsWith","relativePath","scriptName","replace","findScript","normalizedName","localDir","_i","_iter","ext","localPath","builtInDir","_i1","_iter1","ext1","builtInPath","runScript","scriptPath","console","info","dim","$","error","red","exit","newCommand","type","required","run","param","template","green","getAllScriptFiles","files","push","ejectCommand","yes","default","targetScriptsDir","sourceScriptsDir","bold","cyan","yellow","sourceFiles","filesToSync","stats","new","modified","identical","file","sourcePath","targetPath","status","sourceSize","targetSize","sortOrder","sort","b","syncedCount","file1","targetDir","wasSynced","runSubCommand"],"sources":["../../../src/commands/script.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { execSync, spawn, spawnSync } from "node:child_process";
|
|
2
|
+
import { existsSync, mkdtempSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { dirname, join, parse } from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { defineCommand } from "citty";
|
|
7
|
+
import pc from "picocolors";
|
|
8
|
+
import {
|
|
9
|
+
confirmContinue,
|
|
10
|
+
promptSelect,
|
|
11
|
+
showError,
|
|
12
|
+
showInfo,
|
|
13
|
+
showStep,
|
|
14
|
+
showSuccess
|
|
15
|
+
} from "../utils/prompts";
|
|
16
|
+
const UPSTREAM_REPO = "tamagui/takeout3", UPSTREAM_REMOTE = "takeout-upstream", TAKEOUT_FILE = ".takeout";
|
|
17
|
+
function getSyncPrompt() {
|
|
18
|
+
try {
|
|
19
|
+
let packageRoot = dirname(fileURLToPath(import.meta.url));
|
|
20
|
+
for (; packageRoot !== parse(packageRoot).root; ) {
|
|
21
|
+
const pkgPath = join(packageRoot, "package.json");
|
|
22
|
+
if (existsSync(pkgPath) && JSON.parse(readFileSync(pkgPath, "utf-8")).name === "@take-out/cli")
|
|
23
|
+
break;
|
|
24
|
+
packageRoot = dirname(packageRoot);
|
|
25
|
+
}
|
|
26
|
+
const promptPath = join(packageRoot, "docs", "sync-prompt.md");
|
|
27
|
+
return readFileSync(promptPath, "utf-8");
|
|
28
|
+
} catch (error) {
|
|
29
|
+
throw new Error(
|
|
30
|
+
`Could not load sync prompt: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function checkToolAvailable(command) {
|
|
35
|
+
try {
|
|
36
|
+
const checkCmd = process.platform === "win32" ? "where" : "which";
|
|
37
|
+
return spawnSync(checkCmd, [command]).status === 0;
|
|
38
|
+
} catch {
|
|
39
|
+
return !1;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function ensureUpstreamRemote() {
|
|
43
|
+
try {
|
|
44
|
+
return execSync("git remote", { encoding: "utf-8" }).includes(UPSTREAM_REMOTE) || execSync(`git remote add ${UPSTREAM_REMOTE} git@github.com:${UPSTREAM_REPO}.git`, {
|
|
45
|
+
stdio: "pipe"
|
|
46
|
+
}), execSync(`git fetch ${UPSTREAM_REMOTE} --quiet`, { stdio: "pipe" }), !0;
|
|
47
|
+
} catch {
|
|
48
|
+
return !1;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function getUpstreamHeadSha() {
|
|
52
|
+
try {
|
|
53
|
+
return execSync(`git rev-parse ${UPSTREAM_REMOTE}/main`, { encoding: "utf-8" }).trim();
|
|
54
|
+
} catch {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function writeTakeoutConfig(sha) {
|
|
59
|
+
const configPath = join(process.cwd(), TAKEOUT_FILE), date = (/* @__PURE__ */ new Date()).toISOString().split("T")[0], content = `# takeout sync tracking file
|
|
60
|
+
# this file tracks the last synced commit from upstream takeout
|
|
61
|
+
sha=${sha}
|
|
62
|
+
date=${date}
|
|
63
|
+
`;
|
|
64
|
+
writeFileSync(configPath, content);
|
|
65
|
+
}
|
|
66
|
+
const syncCommand = defineCommand({
|
|
67
|
+
meta: {
|
|
68
|
+
name: "sync",
|
|
69
|
+
description: "Sync your fork with the latest Takeout repository"
|
|
70
|
+
},
|
|
71
|
+
async run() {
|
|
72
|
+
showStep("Takeout Repository Sync"), console.info(), showInfo("Takeout sync uses AI to intelligently merge upstream changes"), console.info(), console.info(pc.gray("How it works:")), console.info(pc.gray(" \u2022 Analyzes commits from upstream Takeout repository")), console.info(pc.gray(" \u2022 Determines which changes are relevant to your fork")), console.info(pc.gray(" \u2022 Applies changes while preserving your customizations")), console.info(pc.gray(" \u2022 Handles package ejection automatically")), console.info(pc.gray(" \u2022 Asks for your input when decisions are needed")), console.info();
|
|
73
|
+
const hasClaudeCode = checkToolAvailable("claude"), hasCursor = checkToolAvailable("cursor-agent"), hasAider = checkToolAvailable("aider"), options = [];
|
|
74
|
+
hasClaudeCode && options.push({
|
|
75
|
+
value: "claude-code",
|
|
76
|
+
label: "Claude Code (recommended)",
|
|
77
|
+
hint: "Run sync automatically with Claude Code CLI"
|
|
78
|
+
}), hasCursor && options.push({
|
|
79
|
+
value: "cursor",
|
|
80
|
+
label: "Cursor Agent",
|
|
81
|
+
hint: "Run sync automatically with Cursor CLI"
|
|
82
|
+
}), hasAider && options.push({
|
|
83
|
+
value: "aider",
|
|
84
|
+
label: "Aider",
|
|
85
|
+
hint: "Run sync automatically with Aider CLI"
|
|
86
|
+
}), options.push({
|
|
87
|
+
value: "show-prompt",
|
|
88
|
+
label: "Show prompt (copy & paste manually)",
|
|
89
|
+
hint: "Display the full prompt to use with any LLM"
|
|
90
|
+
});
|
|
91
|
+
const choice = await promptSelect("How would you like to sync?", options);
|
|
92
|
+
if (choice === "cancel") {
|
|
93
|
+
console.info(), showInfo("Sync cancelled");
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (console.info(), console.info(pc.dim("Fetching upstream repository...")), !ensureUpstreamRemote()) {
|
|
97
|
+
showError("Failed to fetch upstream repository");
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const upstreamSha = getUpstreamHeadSha();
|
|
101
|
+
if (!upstreamSha) {
|
|
102
|
+
showError("Failed to get upstream HEAD SHA");
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
console.info(pc.dim(`Target SHA: ${upstreamSha.slice(0, 7)}`)), console.info();
|
|
106
|
+
try {
|
|
107
|
+
const prompt = getSyncPrompt();
|
|
108
|
+
if (choice === "show-prompt")
|
|
109
|
+
console.info(pc.dim("=".repeat(80))), console.info(prompt), console.info(pc.dim("=".repeat(80))), console.info(), showInfo("Copy the prompt above and paste it into your preferred LLM"), console.info(), console.info(pc.gray("Recommended LLMs:")), console.info(pc.gray(" \u2022 Claude Code (best for complex instructions)")), console.info(pc.gray(" \u2022 ChatGPT")), console.info(pc.gray(" \u2022 Cursor")), console.info(pc.gray(" \u2022 Aider")), console.info();
|
|
110
|
+
else if (choice === "claude-code") {
|
|
111
|
+
if (showInfo("Starting Claude Code with sync prompt..."), console.info(), console.info(
|
|
112
|
+
pc.dim(
|
|
113
|
+
"Note: Claude Code will run in headless mode and make changes automatically."
|
|
114
|
+
)
|
|
115
|
+
), console.info(pc.dim("You will be asked to confirm important decisions.")), console.info(), !await confirmContinue("Continue with Claude Code?", !0)) {
|
|
116
|
+
showInfo("Sync cancelled");
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const tempDir = mkdtempSync(join(tmpdir(), "takeout-sync-")), promptFile = join(tempDir, "prompt.md");
|
|
120
|
+
writeFileSync(promptFile, prompt);
|
|
121
|
+
const claude = spawn("claude", ["-p", "-"], {
|
|
122
|
+
stdio: ["pipe", "inherit", "inherit"]
|
|
123
|
+
});
|
|
124
|
+
claude.stdin?.write(prompt), claude.stdin?.end(), claude.on("close", (code) => {
|
|
125
|
+
console.info(), code === 0 ? (writeTakeoutConfig(upstreamSha), showSuccess("Sync completed successfully!"), console.info(pc.dim(`Updated .takeout to ${upstreamSha.slice(0, 7)}`))) : showError(`Claude Code exited with code ${code}`);
|
|
126
|
+
});
|
|
127
|
+
} else if (choice === "cursor") {
|
|
128
|
+
if (showInfo("Starting Cursor Agent with sync prompt..."), console.info(), !await confirmContinue("Continue with Cursor?", !0)) {
|
|
129
|
+
showInfo("Sync cancelled");
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const cursor = spawn("cursor-agent", ["-p", "-"], {
|
|
133
|
+
stdio: ["pipe", "inherit", "inherit"]
|
|
134
|
+
});
|
|
135
|
+
cursor.stdin?.write(prompt), cursor.stdin?.end(), cursor.on("close", (code) => {
|
|
136
|
+
console.info(), code === 0 ? (writeTakeoutConfig(upstreamSha), showSuccess("Sync completed successfully!"), console.info(pc.dim(`Updated .takeout to ${upstreamSha.slice(0, 7)}`))) : showError(`Cursor Agent exited with code ${code}`);
|
|
137
|
+
});
|
|
138
|
+
} else if (choice === "aider") {
|
|
139
|
+
if (showInfo("Starting Aider with sync prompt..."), console.info(), !await confirmContinue("Continue with Aider?", !0)) {
|
|
140
|
+
showInfo("Sync cancelled");
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const tempDir = mkdtempSync(join(tmpdir(), "takeout-sync-")), promptFile = join(tempDir, "prompt.md");
|
|
144
|
+
writeFileSync(promptFile, prompt), spawn("aider", ["--message-file", promptFile, "--no-stream"], {
|
|
145
|
+
stdio: "inherit"
|
|
146
|
+
}).on("close", (code) => {
|
|
147
|
+
console.info(), code === 0 ? (writeTakeoutConfig(upstreamSha), showSuccess("Sync completed successfully!"), console.info(pc.dim(`Updated .takeout to ${upstreamSha.slice(0, 7)}`))) : showError(`Aider exited with code ${code}`);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
} catch (error) {
|
|
151
|
+
showError(error instanceof Error ? error.message : "Unknown error");
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
export {
|
|
156
|
+
syncCommand
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=sync.js.map
|