@nshiab/setup-data-project 1.0.7
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 +25 -0
- package/esm/_dnt.shims.d.ts +6 -0
- package/esm/_dnt.shims.d.ts.map +1 -0
- package/esm/_dnt.shims.js +61 -0
- package/esm/helpers/createFolderStructure.d.ts +2 -0
- package/esm/helpers/createFolderStructure.d.ts.map +1 -0
- package/esm/helpers/createFolderStructure.js +49 -0
- package/esm/helpers/ensureAgents.d.ts +2 -0
- package/esm/helpers/ensureAgents.d.ts.map +1 -0
- package/esm/helpers/ensureAgents.js +92 -0
- package/esm/helpers/ensureEnvFile.d.ts +2 -0
- package/esm/helpers/ensureEnvFile.d.ts.map +1 -0
- package/esm/helpers/ensureEnvFile.js +14 -0
- package/esm/helpers/ensureGitignore.d.ts +2 -0
- package/esm/helpers/ensureGitignore.d.ts.map +1 -0
- package/esm/helpers/ensureGitignore.js +29 -0
- package/esm/helpers/ensureReadme.d.ts +2 -0
- package/esm/helpers/ensureReadme.d.ts.map +1 -0
- package/esm/helpers/ensureReadme.js +37 -0
- package/esm/helpers/getInstalledPackages.d.ts +2 -0
- package/esm/helpers/getInstalledPackages.d.ts.map +1 -0
- package/esm/helpers/getInstalledPackages.js +29 -0
- package/esm/helpers/getProjectTasks.d.ts +5 -0
- package/esm/helpers/getProjectTasks.d.ts.map +1 -0
- package/esm/helpers/getProjectTasks.js +12 -0
- package/esm/helpers/getRuntime.d.ts +5 -0
- package/esm/helpers/getRuntime.d.ts.map +1 -0
- package/esm/helpers/getRuntime.js +17 -0
- package/esm/helpers/gitignoreEntries.d.ts +2 -0
- package/esm/helpers/gitignoreEntries.d.ts.map +1 -0
- package/esm/helpers/gitignoreEntries.js +9 -0
- package/esm/helpers/handleFileConflict.d.ts +5 -0
- package/esm/helpers/handleFileConflict.d.ts.map +1 -0
- package/esm/helpers/handleFileConflict.js +51 -0
- package/esm/helpers/installPackagesAndFetchDocs.d.ts +8 -0
- package/esm/helpers/installPackagesAndFetchDocs.d.ts.map +1 -0
- package/esm/helpers/installPackagesAndFetchDocs.js +61 -0
- package/esm/helpers/packageOptions.d.ts +5 -0
- package/esm/helpers/packageOptions.d.ts.map +1 -0
- package/esm/helpers/packageOptions.js +5 -0
- package/esm/helpers/packageRegistry.d.ts +7 -0
- package/esm/helpers/packageRegistry.d.ts.map +1 -0
- package/esm/helpers/packageRegistry.js +62 -0
- package/esm/helpers/updateProjectConfig.d.ts +2 -0
- package/esm/helpers/updateProjectConfig.d.ts.map +1 -0
- package/esm/helpers/updateProjectConfig.js +36 -0
- package/esm/main.d.ts +3 -0
- package/esm/main.d.ts.map +1 -0
- package/esm/main.js +93 -0
- package/esm/package.json +3 -0
- package/npm/LICENSE +21 -0
- package/npm/README.md +25 -0
- package/npm/esm/_dnt.shims.d.ts +8 -0
- package/npm/esm/_dnt.shims.d.ts.map +1 -0
- package/npm/esm/_dnt.shims.js +62 -0
- package/npm/esm/_dnt_2.shims.d.ts +6 -0
- package/npm/esm/_dnt_2.shims.d.ts.map +1 -0
- package/npm/esm/_dnt_2.shims.js +61 -0
- package/npm/esm/helpers/createFolderStructure.d.ts +2 -0
- package/npm/esm/helpers/createFolderStructure.d.ts.map +1 -0
- package/npm/esm/helpers/createFolderStructure.js +49 -0
- package/npm/esm/helpers/ensureAgents.d.ts +2 -0
- package/npm/esm/helpers/ensureAgents.d.ts.map +1 -0
- package/npm/esm/helpers/ensureAgents.js +92 -0
- package/npm/esm/helpers/ensureEnvFile.d.ts +2 -0
- package/npm/esm/helpers/ensureEnvFile.d.ts.map +1 -0
- package/npm/esm/helpers/ensureEnvFile.js +14 -0
- package/npm/esm/helpers/ensureGitignore.d.ts +2 -0
- package/npm/esm/helpers/ensureGitignore.d.ts.map +1 -0
- package/npm/esm/helpers/ensureGitignore.js +29 -0
- package/npm/esm/helpers/ensureReadme.d.ts +2 -0
- package/npm/esm/helpers/ensureReadme.d.ts.map +1 -0
- package/npm/esm/helpers/ensureReadme.js +37 -0
- package/npm/esm/helpers/getInstalledPackages.d.ts +2 -0
- package/npm/esm/helpers/getInstalledPackages.d.ts.map +1 -0
- package/npm/esm/helpers/getInstalledPackages.js +29 -0
- package/npm/esm/helpers/getProjectTasks.d.ts +5 -0
- package/npm/esm/helpers/getProjectTasks.d.ts.map +1 -0
- package/npm/esm/helpers/getProjectTasks.js +12 -0
- package/npm/esm/helpers/getRuntime.d.ts +5 -0
- package/npm/esm/helpers/getRuntime.d.ts.map +1 -0
- package/npm/esm/helpers/getRuntime.js +17 -0
- package/npm/esm/helpers/gitignoreEntries.d.ts +2 -0
- package/npm/esm/helpers/gitignoreEntries.d.ts.map +1 -0
- package/npm/esm/helpers/gitignoreEntries.js +9 -0
- package/npm/esm/helpers/handleFileConflict.d.ts +5 -0
- package/npm/esm/helpers/handleFileConflict.d.ts.map +1 -0
- package/npm/esm/helpers/handleFileConflict.js +51 -0
- package/npm/esm/helpers/installPackagesAndFetchDocs.d.ts +8 -0
- package/npm/esm/helpers/installPackagesAndFetchDocs.d.ts.map +1 -0
- package/npm/esm/helpers/installPackagesAndFetchDocs.js +61 -0
- package/npm/esm/helpers/packageOptions.d.ts +5 -0
- package/npm/esm/helpers/packageOptions.d.ts.map +1 -0
- package/npm/esm/helpers/packageOptions.js +5 -0
- package/npm/esm/helpers/packageRegistry.d.ts +7 -0
- package/npm/esm/helpers/packageRegistry.d.ts.map +1 -0
- package/npm/esm/helpers/packageRegistry.js +62 -0
- package/npm/esm/helpers/updateProjectConfig.d.ts +2 -0
- package/npm/esm/helpers/updateProjectConfig.d.ts.map +1 -0
- package/npm/esm/helpers/updateProjectConfig.js +36 -0
- package/npm/esm/main.d.ts +3 -0
- package/npm/esm/main.d.ts.map +1 -0
- package/npm/esm/main.js +93 -0
- package/npm/esm/package.json +3 -0
- package/npm/node_modules/.package-lock.json +123 -0
- package/npm/node_modules/@clack/core/CHANGELOG.md +348 -0
- package/npm/node_modules/@clack/core/LICENSE +9 -0
- package/npm/node_modules/@clack/core/README.md +22 -0
- package/npm/node_modules/@clack/core/dist/index.d.mts +363 -0
- package/npm/node_modules/@clack/core/dist/index.mjs +17 -0
- package/npm/node_modules/@clack/core/dist/index.mjs.map +1 -0
- package/npm/node_modules/@clack/core/package.json +63 -0
- package/npm/node_modules/@clack/prompts/CHANGELOG.md +591 -0
- package/npm/node_modules/@clack/prompts/LICENSE +9 -0
- package/npm/node_modules/@clack/prompts/README.md +375 -0
- package/npm/node_modules/@clack/prompts/dist/index.d.mts +396 -0
- package/npm/node_modules/@clack/prompts/dist/index.mjs +144 -0
- package/npm/node_modules/@clack/prompts/dist/index.mjs.map +1 -0
- package/npm/node_modules/@clack/prompts/package.json +68 -0
- package/npm/node_modules/@deno/shim-deno/LICENSE +20 -0
- package/npm/node_modules/@deno/shim-deno/README.md +30 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/Conn.js +56 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/Listener.js +92 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/consts.js +4 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/errorMap.js +44 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/fs_flags.js +91 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/iterutil.js +37 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/random_id.js +8 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/streams.js +122 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/test.d.ts +1 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/test.js +5 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/internal/version.js +5 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/classes/FsFile.js +143 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/classes/PermissionStatus.js +19 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/classes/Permissions.js +26 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/classes.js +10 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/enums/SeekMode.js +9 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/enums.js +5 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/addSignalListener.js +18 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/chdir.js +22 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/chmod.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/chmodSync.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/chown.js +30 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/chownSync.js +30 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/close.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/connect.js +37 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/connectTls.js +31 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/consoleSize.js +17 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/copy.js +27 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/copyFile.js +45 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/copyFileSync.js +45 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/create.js +9 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/createSync.js +14 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/cwd.js +5 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/execPath.js +10 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/exit.js +8 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fdatasync.js +8 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fdatasyncSync.js +6 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fstat.js +44 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fstatSync.js +19 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fsync.js +10 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fsyncSync.js +9 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/ftruncate.js +8 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/ftruncateSync.js +6 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/gid.js +10 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/hostname.js +32 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/inspect.js +30 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/kill.js +16 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/link.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/linkSync.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/listen.js +51 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/listenTls.js +49 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/loadavg.js +32 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/lstat.js +42 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/lstatSync.js +42 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/makeTempDir.js +11 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/makeTempDirSync.js +11 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/makeTempFile.js +14 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/makeTempFileSync.js +14 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/memoryUsage.js +5 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/mkdir.js +22 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/mkdirSync.js +45 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/open.js +33 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/openSync.js +31 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/osRelease.js +9 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/osUptime.js +9 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/read.js +19 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readDir.js +26 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readDirSync.js +26 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readFile.js +19 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readFileSync.js +19 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readLink.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readLinkSync.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readSync.js +34 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readTextFile.js +18 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readTextFileSync.js +41 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/realPath.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/realPathSync.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/remove.js +22 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/removeSignalListener.js +12 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/removeSync.js +45 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/rename.js +9 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/renameSync.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/resolveDns.js +41 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/run.js +276 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/shutdown.js +9 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/stat.js +68 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/statSync.js +42 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/symlink.js +30 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/symlinkSync.js +30 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/test.js +5 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/truncate.js +45 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/truncateSync.js +45 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/uid.js +10 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/watchFs.js +27 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/write.js +35 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/writeFile.js +46 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/writeFileSync.js +45 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/writeSync.js +29 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/writeTextFile.js +52 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/writeTextFileSync.js +44 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions.js +234 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/main.js +21 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/types.js +3 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/args.js +5 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/build.js +38 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/customInspect.js +4 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/env.js +47 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/errors.js +63 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/mainModule.js +8 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/metrics.js +21 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/noColor.js +5 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/permissions.js +6 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/pid.js +5 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/ppid.js +5 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/resources.js +12 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/std.js +132 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/version.js +10 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables.js +53 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno/unstable/main.js +62 -0
- package/npm/node_modules/@deno/shim-deno/dist/deno.js +17 -0
- package/npm/node_modules/@deno/shim-deno/dist/index.d.ts +4762 -0
- package/npm/node_modules/@deno/shim-deno/dist/index.js +27 -0
- package/npm/node_modules/@deno/shim-deno/package.json +50 -0
- package/npm/node_modules/@deno/shim-deno-test/LICENSE +20 -0
- package/npm/node_modules/@deno/shim-deno-test/README.md +28 -0
- package/npm/node_modules/@deno/shim-deno-test/dist/definitions.d.ts +3 -0
- package/npm/node_modules/@deno/shim-deno-test/dist/definitions.js +5 -0
- package/npm/node_modules/@deno/shim-deno-test/dist/deno.types.gen.d.ts +626 -0
- package/npm/node_modules/@deno/shim-deno-test/dist/deno.types.gen.js +2 -0
- package/npm/node_modules/@deno/shim-deno-test/dist/index.d.ts +3 -0
- package/npm/node_modules/@deno/shim-deno-test/dist/index.js +21 -0
- package/npm/node_modules/@deno/shim-deno-test/dist/test.d.ts +3 -0
- package/npm/node_modules/@deno/shim-deno-test/dist/test.js +87 -0
- package/npm/node_modules/@deno/shim-deno-test/package.json +34 -0
- package/npm/node_modules/@types/node/LICENSE +21 -0
- package/npm/node_modules/@types/node/README.md +15 -0
- package/npm/node_modules/@types/node/assert/strict.d.ts +8 -0
- package/npm/node_modules/@types/node/assert.d.ts +1062 -0
- package/npm/node_modules/@types/node/async_hooks.d.ts +605 -0
- package/npm/node_modules/@types/node/buffer.buffer.d.ts +471 -0
- package/npm/node_modules/@types/node/buffer.d.ts +1936 -0
- package/npm/node_modules/@types/node/child_process.d.ts +1475 -0
- package/npm/node_modules/@types/node/cluster.d.ts +577 -0
- package/npm/node_modules/@types/node/compatibility/disposable.d.ts +16 -0
- package/npm/node_modules/@types/node/compatibility/index.d.ts +9 -0
- package/npm/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
- package/npm/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/npm/node_modules/@types/node/console.d.ts +452 -0
- package/npm/node_modules/@types/node/constants.d.ts +21 -0
- package/npm/node_modules/@types/node/crypto.d.ts +4590 -0
- package/npm/node_modules/@types/node/dgram.d.ts +597 -0
- package/npm/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
- package/npm/node_modules/@types/node/dns/promises.d.ts +479 -0
- package/npm/node_modules/@types/node/dns.d.ts +871 -0
- package/npm/node_modules/@types/node/domain.d.ts +170 -0
- package/npm/node_modules/@types/node/events.d.ts +977 -0
- package/npm/node_modules/@types/node/fs/promises.d.ts +1270 -0
- package/npm/node_modules/@types/node/fs.d.ts +4375 -0
- package/npm/node_modules/@types/node/globals.d.ts +172 -0
- package/npm/node_modules/@types/node/globals.typedarray.d.ts +38 -0
- package/npm/node_modules/@types/node/http.d.ts +2049 -0
- package/npm/node_modules/@types/node/http2.d.ts +2631 -0
- package/npm/node_modules/@types/node/https.d.ts +578 -0
- package/npm/node_modules/@types/node/index.d.ts +93 -0
- package/npm/node_modules/@types/node/inspector.generated.d.ts +3966 -0
- package/npm/node_modules/@types/node/module.d.ts +539 -0
- package/npm/node_modules/@types/node/net.d.ts +1031 -0
- package/npm/node_modules/@types/node/os.d.ts +506 -0
- package/npm/node_modules/@types/node/package.json +140 -0
- package/npm/node_modules/@types/node/path.d.ts +200 -0
- package/npm/node_modules/@types/node/perf_hooks.d.ts +961 -0
- package/npm/node_modules/@types/node/process.d.ts +1961 -0
- package/npm/node_modules/@types/node/punycode.d.ts +117 -0
- package/npm/node_modules/@types/node/querystring.d.ts +152 -0
- package/npm/node_modules/@types/node/readline/promises.d.ts +162 -0
- package/npm/node_modules/@types/node/readline.d.ts +589 -0
- package/npm/node_modules/@types/node/repl.d.ts +430 -0
- package/npm/node_modules/@types/node/sea.d.ts +153 -0
- package/npm/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/npm/node_modules/@types/node/stream/promises.d.ts +90 -0
- package/npm/node_modules/@types/node/stream/web.d.ts +533 -0
- package/npm/node_modules/@types/node/stream.d.ts +1698 -0
- package/npm/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/npm/node_modules/@types/node/test.d.ts +1787 -0
- package/npm/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/npm/node_modules/@types/node/timers.d.ts +286 -0
- package/npm/node_modules/@types/node/tls.d.ts +1259 -0
- package/npm/node_modules/@types/node/trace_events.d.ts +197 -0
- package/npm/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
- package/npm/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
- package/npm/node_modules/@types/node/ts5.6/index.d.ts +93 -0
- package/npm/node_modules/@types/node/tty.d.ts +208 -0
- package/npm/node_modules/@types/node/url.d.ts +964 -0
- package/npm/node_modules/@types/node/util.d.ts +2331 -0
- package/npm/node_modules/@types/node/v8.d.ts +809 -0
- package/npm/node_modules/@types/node/vm.d.ts +1001 -0
- package/npm/node_modules/@types/node/wasi.d.ts +181 -0
- package/npm/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
- package/npm/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/npm/node_modules/@types/node/web-globals/events.d.ts +97 -0
- package/npm/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
- package/npm/node_modules/@types/node/worker_threads.d.ts +715 -0
- package/npm/node_modules/@types/node/zlib.d.ts +598 -0
- package/npm/node_modules/fast-string-truncated-width/dist/index.d.ts +4 -0
- package/npm/node_modules/fast-string-truncated-width/dist/index.js +111 -0
- package/npm/node_modules/fast-string-truncated-width/dist/types.d.ts +19 -0
- package/npm/node_modules/fast-string-truncated-width/dist/types.js +2 -0
- package/npm/node_modules/fast-string-truncated-width/dist/utils.d.ts +4 -0
- package/npm/node_modules/fast-string-truncated-width/dist/utils.js +20 -0
- package/npm/node_modules/fast-string-truncated-width/license +21 -0
- package/npm/node_modules/fast-string-truncated-width/package.json +35 -0
- package/npm/node_modules/fast-string-truncated-width/readme.md +59 -0
- package/npm/node_modules/fast-string-width/dist/index.d.ts +4 -0
- package/npm/node_modules/fast-string-width/dist/index.js +14 -0
- package/npm/node_modules/fast-string-width/license +21 -0
- package/npm/node_modules/fast-string-width/package.json +34 -0
- package/npm/node_modules/fast-string-width/readme.md +42 -0
- package/npm/node_modules/fast-wrap-ansi/LICENSE +23 -0
- package/npm/node_modules/fast-wrap-ansi/README.md +26 -0
- package/npm/node_modules/fast-wrap-ansi/lib/main.d.ts +6 -0
- package/npm/node_modules/fast-wrap-ansi/lib/main.js +219 -0
- package/npm/node_modules/fast-wrap-ansi/lib/main.js.map +1 -0
- package/npm/node_modules/fast-wrap-ansi/package.json +51 -0
- package/npm/node_modules/isexe/LICENSE.md +55 -0
- package/npm/node_modules/isexe/README.md +80 -0
- package/npm/node_modules/isexe/dist/commonjs/index.d.ts +14 -0
- package/npm/node_modules/isexe/dist/commonjs/index.d.ts.map +1 -0
- package/npm/node_modules/isexe/dist/commonjs/index.js +56 -0
- package/npm/node_modules/isexe/dist/commonjs/index.js.map +1 -0
- package/npm/node_modules/isexe/dist/commonjs/index.min.js +2 -0
- package/npm/node_modules/isexe/dist/commonjs/index.min.js.map +7 -0
- package/npm/node_modules/isexe/dist/commonjs/options.d.ts +32 -0
- package/npm/node_modules/isexe/dist/commonjs/options.d.ts.map +1 -0
- package/npm/node_modules/isexe/dist/commonjs/options.js +3 -0
- package/npm/node_modules/isexe/dist/commonjs/options.js.map +1 -0
- package/npm/node_modules/isexe/dist/commonjs/package.json +3 -0
- package/npm/node_modules/isexe/dist/commonjs/posix.d.ts +18 -0
- package/npm/node_modules/isexe/dist/commonjs/posix.d.ts.map +1 -0
- package/npm/node_modules/isexe/dist/commonjs/posix.js +67 -0
- package/npm/node_modules/isexe/dist/commonjs/posix.js.map +1 -0
- package/npm/node_modules/isexe/dist/commonjs/win32.d.ts +18 -0
- package/npm/node_modules/isexe/dist/commonjs/win32.d.ts.map +1 -0
- package/npm/node_modules/isexe/dist/commonjs/win32.js +63 -0
- package/npm/node_modules/isexe/dist/commonjs/win32.js.map +1 -0
- package/npm/node_modules/isexe/dist/esm/index.d.ts +14 -0
- package/npm/node_modules/isexe/dist/esm/index.d.ts.map +1 -0
- package/npm/node_modules/isexe/dist/esm/index.js +16 -0
- package/npm/node_modules/isexe/dist/esm/index.js.map +1 -0
- package/npm/node_modules/isexe/dist/esm/index.min.js +2 -0
- package/npm/node_modules/isexe/dist/esm/index.min.js.map +7 -0
- package/npm/node_modules/isexe/dist/esm/options.d.ts +32 -0
- package/npm/node_modules/isexe/dist/esm/options.d.ts.map +1 -0
- package/npm/node_modules/isexe/dist/esm/options.js +2 -0
- package/npm/node_modules/isexe/dist/esm/options.js.map +1 -0
- package/npm/node_modules/isexe/dist/esm/package.json +3 -0
- package/npm/node_modules/isexe/dist/esm/posix.d.ts +18 -0
- package/npm/node_modules/isexe/dist/esm/posix.d.ts.map +1 -0
- package/npm/node_modules/isexe/dist/esm/posix.js +62 -0
- package/npm/node_modules/isexe/dist/esm/posix.js.map +1 -0
- package/npm/node_modules/isexe/dist/esm/win32.d.ts +18 -0
- package/npm/node_modules/isexe/dist/esm/win32.d.ts.map +1 -0
- package/npm/node_modules/isexe/dist/esm/win32.js +58 -0
- package/npm/node_modules/isexe/dist/esm/win32.js.map +1 -0
- package/npm/node_modules/isexe/package.json +78 -0
- package/npm/node_modules/sisteransi/license +21 -0
- package/npm/node_modules/sisteransi/package.json +34 -0
- package/npm/node_modules/sisteransi/readme.md +113 -0
- package/npm/node_modules/sisteransi/src/index.js +58 -0
- package/npm/node_modules/sisteransi/src/sisteransi.d.ts +35 -0
- package/npm/node_modules/undici-types/LICENSE +21 -0
- package/npm/node_modules/undici-types/README.md +6 -0
- package/npm/node_modules/undici-types/agent.d.ts +31 -0
- package/npm/node_modules/undici-types/api.d.ts +43 -0
- package/npm/node_modules/undici-types/balanced-pool.d.ts +29 -0
- package/npm/node_modules/undici-types/cache.d.ts +36 -0
- package/npm/node_modules/undici-types/client.d.ts +108 -0
- package/npm/node_modules/undici-types/connector.d.ts +34 -0
- package/npm/node_modules/undici-types/content-type.d.ts +21 -0
- package/npm/node_modules/undici-types/cookies.d.ts +28 -0
- package/npm/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
- package/npm/node_modules/undici-types/dispatcher.d.ts +256 -0
- package/npm/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
- package/npm/node_modules/undici-types/errors.d.ts +149 -0
- package/npm/node_modules/undici-types/eventsource.d.ts +61 -0
- package/npm/node_modules/undici-types/fetch.d.ts +209 -0
- package/npm/node_modules/undici-types/file.d.ts +39 -0
- package/npm/node_modules/undici-types/filereader.d.ts +54 -0
- package/npm/node_modules/undici-types/formdata.d.ts +108 -0
- package/npm/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/npm/node_modules/undici-types/global-origin.d.ts +7 -0
- package/npm/node_modules/undici-types/handlers.d.ts +15 -0
- package/npm/node_modules/undici-types/header.d.ts +4 -0
- package/npm/node_modules/undici-types/index.d.ts +71 -0
- package/npm/node_modules/undici-types/interceptors.d.ts +17 -0
- package/npm/node_modules/undici-types/mock-agent.d.ts +50 -0
- package/npm/node_modules/undici-types/mock-client.d.ts +25 -0
- package/npm/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/npm/node_modules/undici-types/mock-interceptor.d.ts +93 -0
- package/npm/node_modules/undici-types/mock-pool.d.ts +25 -0
- package/npm/node_modules/undici-types/package.json +55 -0
- package/npm/node_modules/undici-types/patch.d.ts +33 -0
- package/npm/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/npm/node_modules/undici-types/pool.d.ts +39 -0
- package/npm/node_modules/undici-types/proxy-agent.d.ts +28 -0
- package/npm/node_modules/undici-types/readable.d.ts +65 -0
- package/npm/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/npm/node_modules/undici-types/retry-handler.d.ts +116 -0
- package/npm/node_modules/undici-types/util.d.ts +18 -0
- package/npm/node_modules/undici-types/webidl.d.ts +228 -0
- package/npm/node_modules/undici-types/websocket.d.ts +150 -0
- package/npm/node_modules/which/LICENSE +15 -0
- package/npm/node_modules/which/README.md +51 -0
- package/npm/node_modules/which/bin/which.js +52 -0
- package/npm/node_modules/which/lib/index.js +111 -0
- package/npm/node_modules/which/package.json +57 -0
- package/npm/package-lock.json +135 -0
- package/npm/package.json +30 -0
- package/npm/script/_dnt.shims.d.ts +8 -0
- package/npm/script/_dnt.shims.d.ts.map +1 -0
- package/npm/script/_dnt.shims.js +99 -0
- package/npm/script/_dnt_2.shims.d.ts +6 -0
- package/npm/script/_dnt_2.shims.d.ts.map +1 -0
- package/npm/script/_dnt_2.shims.js +65 -0
- package/npm/script/helpers/createFolderStructure.d.ts +2 -0
- package/npm/script/helpers/createFolderStructure.d.ts.map +1 -0
- package/npm/script/helpers/createFolderStructure.js +52 -0
- package/npm/script/helpers/ensureAgents.d.ts +2 -0
- package/npm/script/helpers/ensureAgents.d.ts.map +1 -0
- package/npm/script/helpers/ensureAgents.js +95 -0
- package/npm/script/helpers/ensureEnvFile.d.ts +2 -0
- package/npm/script/helpers/ensureEnvFile.d.ts.map +1 -0
- package/npm/script/helpers/ensureEnvFile.js +17 -0
- package/npm/script/helpers/ensureGitignore.d.ts +2 -0
- package/npm/script/helpers/ensureGitignore.d.ts.map +1 -0
- package/npm/script/helpers/ensureGitignore.js +32 -0
- package/npm/script/helpers/ensureReadme.d.ts +2 -0
- package/npm/script/helpers/ensureReadme.d.ts.map +1 -0
- package/npm/script/helpers/ensureReadme.js +40 -0
- package/npm/script/helpers/getInstalledPackages.d.ts +2 -0
- package/npm/script/helpers/getInstalledPackages.d.ts.map +1 -0
- package/npm/script/helpers/getInstalledPackages.js +32 -0
- package/npm/script/helpers/getProjectTasks.d.ts +5 -0
- package/npm/script/helpers/getProjectTasks.d.ts.map +1 -0
- package/npm/script/helpers/getProjectTasks.js +15 -0
- package/npm/script/helpers/getRuntime.d.ts +5 -0
- package/npm/script/helpers/getRuntime.d.ts.map +1 -0
- package/npm/script/helpers/getRuntime.js +57 -0
- package/npm/script/helpers/gitignoreEntries.d.ts +2 -0
- package/npm/script/helpers/gitignoreEntries.d.ts.map +1 -0
- package/npm/script/helpers/gitignoreEntries.js +12 -0
- package/npm/script/helpers/handleFileConflict.d.ts +5 -0
- package/npm/script/helpers/handleFileConflict.d.ts.map +1 -0
- package/npm/script/helpers/handleFileConflict.js +91 -0
- package/npm/script/helpers/installPackagesAndFetchDocs.d.ts +8 -0
- package/npm/script/helpers/installPackagesAndFetchDocs.d.ts.map +1 -0
- package/npm/script/helpers/installPackagesAndFetchDocs.js +98 -0
- package/npm/script/helpers/packageOptions.d.ts +5 -0
- package/npm/script/helpers/packageOptions.d.ts.map +1 -0
- package/npm/script/helpers/packageOptions.js +8 -0
- package/npm/script/helpers/packageRegistry.d.ts +7 -0
- package/npm/script/helpers/packageRegistry.d.ts.map +1 -0
- package/npm/script/helpers/packageRegistry.js +65 -0
- package/npm/script/helpers/updateProjectConfig.d.ts +2 -0
- package/npm/script/helpers/updateProjectConfig.d.ts.map +1 -0
- package/npm/script/helpers/updateProjectConfig.js +39 -0
- package/npm/script/main.d.ts +3 -0
- package/npm/script/main.d.ts.map +1 -0
- package/npm/script/main.js +98 -0
- package/npm/script/package.json +3 -0
- package/package.json +27 -0
- package/script/_dnt.shims.d.ts +6 -0
- package/script/_dnt.shims.d.ts.map +1 -0
- package/script/_dnt.shims.js +65 -0
- package/script/helpers/createFolderStructure.d.ts +2 -0
- package/script/helpers/createFolderStructure.d.ts.map +1 -0
- package/script/helpers/createFolderStructure.js +52 -0
- package/script/helpers/ensureAgents.d.ts +2 -0
- package/script/helpers/ensureAgents.d.ts.map +1 -0
- package/script/helpers/ensureAgents.js +95 -0
- package/script/helpers/ensureEnvFile.d.ts +2 -0
- package/script/helpers/ensureEnvFile.d.ts.map +1 -0
- package/script/helpers/ensureEnvFile.js +17 -0
- package/script/helpers/ensureGitignore.d.ts +2 -0
- package/script/helpers/ensureGitignore.d.ts.map +1 -0
- package/script/helpers/ensureGitignore.js +32 -0
- package/script/helpers/ensureReadme.d.ts +2 -0
- package/script/helpers/ensureReadme.d.ts.map +1 -0
- package/script/helpers/ensureReadme.js +40 -0
- package/script/helpers/getInstalledPackages.d.ts +2 -0
- package/script/helpers/getInstalledPackages.d.ts.map +1 -0
- package/script/helpers/getInstalledPackages.js +32 -0
- package/script/helpers/getProjectTasks.d.ts +5 -0
- package/script/helpers/getProjectTasks.d.ts.map +1 -0
- package/script/helpers/getProjectTasks.js +15 -0
- package/script/helpers/getRuntime.d.ts +5 -0
- package/script/helpers/getRuntime.d.ts.map +1 -0
- package/script/helpers/getRuntime.js +57 -0
- package/script/helpers/gitignoreEntries.d.ts +2 -0
- package/script/helpers/gitignoreEntries.d.ts.map +1 -0
- package/script/helpers/gitignoreEntries.js +12 -0
- package/script/helpers/handleFileConflict.d.ts +5 -0
- package/script/helpers/handleFileConflict.d.ts.map +1 -0
- package/script/helpers/handleFileConflict.js +91 -0
- package/script/helpers/installPackagesAndFetchDocs.d.ts +8 -0
- package/script/helpers/installPackagesAndFetchDocs.d.ts.map +1 -0
- package/script/helpers/installPackagesAndFetchDocs.js +98 -0
- package/script/helpers/packageOptions.d.ts +5 -0
- package/script/helpers/packageOptions.d.ts.map +1 -0
- package/script/helpers/packageOptions.js +8 -0
- package/script/helpers/packageRegistry.d.ts +7 -0
- package/script/helpers/packageRegistry.d.ts.map +1 -0
- package/script/helpers/packageRegistry.js +65 -0
- package/script/helpers/updateProjectConfig.d.ts +2 -0
- package/script/helpers/updateProjectConfig.d.ts.map +1 -0
- package/script/helpers/updateProjectConfig.js +39 -0
- package/script/main.d.ts +3 -0
- package/script/main.d.ts.map +1 -0
- package/script/main.js +98 -0
- package/script/package.json +3 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Nael Shiab
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# setup-data-project
|
|
2
|
+
|
|
3
|
+
A CLI tool to quickly set up a data project with essential folders,
|
|
4
|
+
configurations, and documentation.
|
|
5
|
+
|
|
6
|
+
```sh
|
|
7
|
+
# Deno
|
|
8
|
+
deno run -A jsr:@nshiab/setup-data-project
|
|
9
|
+
|
|
10
|
+
npx @nshiab/setup-data-project
|
|
11
|
+
|
|
12
|
+
bunx @nshiab/setup-data-project
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
- Creates a standardized folder structure.
|
|
16
|
+
- Ensures necessary files like `.env`, `.gitignore`, and `README.md` exist.
|
|
17
|
+
- Installs
|
|
18
|
+
[simple-data-analysis](https://github.com/nshiab/simple-data-analysis/) and
|
|
19
|
+
[journalism](https://github.com/nshiab/journalism) libraries and fetches their
|
|
20
|
+
documentation for LLM use.
|
|
21
|
+
- Updates project configuration (e.g., `deno.json` or `package.json`) with
|
|
22
|
+
relevant tasks.
|
|
23
|
+
|
|
24
|
+
The library is maintained by [Nael Shiab](http://naelshiab.com/), computational
|
|
25
|
+
journalist and senior data producer for [CBC News](https://www.cbc.ca/news).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_dnt.shims.d.ts","sourceRoot":"","sources":["../src/_dnt.shims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAKvC,eAAO,MAAM,aAAa;;CAA2C,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Deno } from "@deno/shim-deno";
|
|
2
|
+
export { Deno } from "@deno/shim-deno";
|
|
3
|
+
const dntGlobals = {
|
|
4
|
+
Deno,
|
|
5
|
+
};
|
|
6
|
+
export const dntGlobalThis = createMergeProxy(globalThis, dntGlobals);
|
|
7
|
+
function createMergeProxy(baseObj, extObj) {
|
|
8
|
+
return new Proxy(baseObj, {
|
|
9
|
+
get(_target, prop, _receiver) {
|
|
10
|
+
if (prop in extObj) {
|
|
11
|
+
return extObj[prop];
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return baseObj[prop];
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
set(_target, prop, value) {
|
|
18
|
+
if (prop in extObj) {
|
|
19
|
+
delete extObj[prop];
|
|
20
|
+
}
|
|
21
|
+
baseObj[prop] = value;
|
|
22
|
+
return true;
|
|
23
|
+
},
|
|
24
|
+
deleteProperty(_target, prop) {
|
|
25
|
+
let success = false;
|
|
26
|
+
if (prop in extObj) {
|
|
27
|
+
delete extObj[prop];
|
|
28
|
+
success = true;
|
|
29
|
+
}
|
|
30
|
+
if (prop in baseObj) {
|
|
31
|
+
delete baseObj[prop];
|
|
32
|
+
success = true;
|
|
33
|
+
}
|
|
34
|
+
return success;
|
|
35
|
+
},
|
|
36
|
+
ownKeys(_target) {
|
|
37
|
+
const baseKeys = Reflect.ownKeys(baseObj);
|
|
38
|
+
const extKeys = Reflect.ownKeys(extObj);
|
|
39
|
+
const extKeysSet = new Set(extKeys);
|
|
40
|
+
return [...baseKeys.filter((k) => !extKeysSet.has(k)), ...extKeys];
|
|
41
|
+
},
|
|
42
|
+
defineProperty(_target, prop, desc) {
|
|
43
|
+
if (prop in extObj) {
|
|
44
|
+
delete extObj[prop];
|
|
45
|
+
}
|
|
46
|
+
Reflect.defineProperty(baseObj, prop, desc);
|
|
47
|
+
return true;
|
|
48
|
+
},
|
|
49
|
+
getOwnPropertyDescriptor(_target, prop) {
|
|
50
|
+
if (prop in extObj) {
|
|
51
|
+
return Reflect.getOwnPropertyDescriptor(extObj, prop);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return Reflect.getOwnPropertyDescriptor(baseObj, prop);
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
has(_target, prop) {
|
|
58
|
+
return prop in extObj || prop in baseObj;
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFolderStructure.d.ts","sourceRoot":"","sources":["../../src/helpers/createFolderStructure.ts"],"names":[],"mappings":"AAKA,wBAAsB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,mBA+CrE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { existsSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { log } from "@clack/prompts";
|
|
4
|
+
import { handleFileConflict } from "./handleFileConflict.js";
|
|
5
|
+
export async function createFolderStructure(selectedPackages) {
|
|
6
|
+
const sdaFolder = "sda";
|
|
7
|
+
const folders = ["data", "helpers", "output"];
|
|
8
|
+
if (!existsSync(sdaFolder)) {
|
|
9
|
+
mkdirSync(sdaFolder, { recursive: true });
|
|
10
|
+
log.info(`Created folder ${sdaFolder}/`);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
log.warn(`Folder ${sdaFolder}/ already exists. Skipping creation.`);
|
|
14
|
+
}
|
|
15
|
+
for (const folder of folders) {
|
|
16
|
+
const path = join(sdaFolder, folder);
|
|
17
|
+
if (!existsSync(path)) {
|
|
18
|
+
mkdirSync(path, { recursive: true });
|
|
19
|
+
log.info(`Created folder ${path}/`);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
log.warn(`Folder ${path}/ already exists. Skipping creation.`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const mainTsPath = join(sdaFolder, "main.ts");
|
|
26
|
+
let mainTsContent = 'console.log("Hello simple-data-analysis!");\n';
|
|
27
|
+
if (selectedPackages.includes("@nshiab/simple-data-analysis")) {
|
|
28
|
+
mainTsContent = `import { SimpleDB } from "@nshiab/simple-data-analysis";
|
|
29
|
+
|
|
30
|
+
const sdb = new SimpleDB();
|
|
31
|
+
const table = await sdb.newTable();
|
|
32
|
+
|
|
33
|
+
// Do your magic here!
|
|
34
|
+
|
|
35
|
+
await sdb.done();
|
|
36
|
+
`;
|
|
37
|
+
}
|
|
38
|
+
const status = await handleFileConflict(mainTsPath, mainTsContent);
|
|
39
|
+
if (status === "created") {
|
|
40
|
+
log.info(`Created ${mainTsPath}`);
|
|
41
|
+
}
|
|
42
|
+
else if (status === "updated") {
|
|
43
|
+
log.info(`Updated ${mainTsPath}`);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
log.warn(`${mainTsPath} skipping creation.`);
|
|
47
|
+
}
|
|
48
|
+
return sdaFolder;
|
|
49
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureAgents.d.ts","sourceRoot":"","sources":["../../src/helpers/ensureAgents.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,OAAO,EAAE,MAAM,iBA+FhB"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { log } from "@clack/prompts";
|
|
2
|
+
import { handleFileConflict } from "./handleFileConflict.js";
|
|
3
|
+
import { SUPPORTED_PACKAGES } from "./packageRegistry.js";
|
|
4
|
+
export async function ensureAgents(docsMapping, runtime) {
|
|
5
|
+
let journalismFunctions = "";
|
|
6
|
+
let sdaClassesAndMethods = "";
|
|
7
|
+
for (const [pkg, doc] of Object.entries(docsMapping)) {
|
|
8
|
+
const pkgConfig = SUPPORTED_PACKAGES.find((p) => p.value === pkg);
|
|
9
|
+
const pkgType = pkgConfig?.type || "other";
|
|
10
|
+
if (pkgType === "journalism") {
|
|
11
|
+
const repoName = pkg.split("/")[1];
|
|
12
|
+
journalismFunctions += `\n### ${repoName}\n\n`;
|
|
13
|
+
journalismFunctions += doc
|
|
14
|
+
.split("\n")
|
|
15
|
+
.filter((line) => line.trim().startsWith("#"))
|
|
16
|
+
.filter((line) => {
|
|
17
|
+
const depth = line.match(/^#+/)?.[0].length || 0;
|
|
18
|
+
return depth >= 2; // Match ##, ###, #### etc.
|
|
19
|
+
})
|
|
20
|
+
.map((line) => line.replace(/^#+\s+/, "").trim())
|
|
21
|
+
.join("\n") + "\n";
|
|
22
|
+
}
|
|
23
|
+
else if (pkgType === "sda") {
|
|
24
|
+
sdaClassesAndMethods = doc
|
|
25
|
+
.split("\n")
|
|
26
|
+
.filter((line) => line.trim().startsWith("#"))
|
|
27
|
+
.filter((line) => {
|
|
28
|
+
const depth = line.match(/^#+/)?.[0].length || 0;
|
|
29
|
+
return depth === 2 || depth === 4;
|
|
30
|
+
})
|
|
31
|
+
.map((line) => {
|
|
32
|
+
const depth = line.match(/^#+/)?.[0].length || 0;
|
|
33
|
+
if (depth === 2) {
|
|
34
|
+
return "\n" + line.replace(/^#+\s+/, "").trim();
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return line.replace(/^#+\s+Parameters/, " - ")
|
|
38
|
+
.replace(/^#+\s+/, " - ")
|
|
39
|
+
.replaceAll("`", "");
|
|
40
|
+
}
|
|
41
|
+
})
|
|
42
|
+
.join("\n");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const configFile = runtime === "deno" ? "deno.json" : "package.json";
|
|
46
|
+
const runSda = runtime === "deno" ? "deno task sda" : "npm run sda";
|
|
47
|
+
const runClean = runtime === "deno" ? "deno task clean" : "npm run clean";
|
|
48
|
+
let content = `Always verify if there is a ${configFile} file in the root of the project and familiarize yourself with the scripts available in it and the libraries already installed in the project.
|
|
49
|
+
|
|
50
|
+
Always use "sda" task when available (e.g. \`${runSda}\`).
|
|
51
|
+
|
|
52
|
+
${runtime === "deno"
|
|
53
|
+
? "If it's a Deno project, you can also run `deno run -A --node-modules-dir=auto --env-file --check sda/main.ts` to test your code. Before handing off your work, run `deno lint` and `deno fmt` as well. Fix any errors or warnings triggered along the way."
|
|
54
|
+
: "If it's a Node.js project, you can also run `node --env-file=.env --experimental-strip-types --no-warnings sda/main.ts` to test your code. Before handing off your work, always fix any errors or warnings triggered along the way."}
|
|
55
|
+
|
|
56
|
+
Use the \`clean\` task (e.g. \`${runClean}\`) to remove the cache and other temporary files.
|
|
57
|
+
|
|
58
|
+
Always use "sda/main.ts" as the entry point.
|
|
59
|
+
|
|
60
|
+
If you need to create other TypeScript files, create them in the "sda/helpers" folder. Prioritize the use of helper functions to keep the code well organized and maintainable, with one helper function per file, with the file named after the function. Prioritize default exports for helper functions.
|
|
61
|
+
|
|
62
|
+
If you need to download data, always put the files in the "sda/data" folder, which is gitignored.
|
|
63
|
+
|
|
64
|
+
If you need to output data to a file, always put the file in the "sda/output" folder.
|
|
65
|
+
|
|
66
|
+
Always prioritize the use of the "journalism" and "simple-data-analysis" libraries when they are installed. These libraries can be used directly like this:
|
|
67
|
+
\`\`\`typescript
|
|
68
|
+
import { formatDate } from "@nshiab/journalism-format";
|
|
69
|
+
import { SimpleDB } from "@nshiab/simple-data-analysis";
|
|
70
|
+
\`\`\`
|
|
71
|
+
`;
|
|
72
|
+
if (journalismFunctions !== "") {
|
|
73
|
+
content += `
|
|
74
|
+
Here are the functions available in the "journalism" libraries. If one of the function might be relevant, read the complete documentation in the "./docs/" folder to properly use it.
|
|
75
|
+
${journalismFunctions}`;
|
|
76
|
+
}
|
|
77
|
+
if (sdaClassesAndMethods !== "") {
|
|
78
|
+
content += `
|
|
79
|
+
Here are the classes and their methods available in the "simple-data-analysis" library. If one of the classes or methods might be relevant, read the complete documentation at "./docs/simple-data-analysis.md" to properly use it. Remember that almost all methods are asynchronous, so you need to use \`await\` when calling them.
|
|
80
|
+
${sdaClassesAndMethods}`;
|
|
81
|
+
}
|
|
82
|
+
const status = await handleFileConflict("AGENTS.md", content);
|
|
83
|
+
if (status === "created") {
|
|
84
|
+
log.info("Created AGENTS.md");
|
|
85
|
+
}
|
|
86
|
+
else if (status === "updated") {
|
|
87
|
+
log.info("Updated AGENTS.md");
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
log.warn("AGENTS.md skipping creation.");
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureEnvFile.d.ts","sourceRoot":"","sources":["../../src/helpers/ensureEnvFile.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,kBASlC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { log } from "@clack/prompts";
|
|
2
|
+
import { handleFileConflict } from "./handleFileConflict.js";
|
|
3
|
+
export async function ensureEnvFile() {
|
|
4
|
+
const status = await handleFileConflict(".env", "");
|
|
5
|
+
if (status === "created") {
|
|
6
|
+
log.info("Created .env");
|
|
7
|
+
}
|
|
8
|
+
else if (status === "updated") {
|
|
9
|
+
log.info("Updated .env");
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
log.warn(".env skipping creation.");
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureGitignore.d.ts","sourceRoot":"","sources":["../../src/helpers/ensureGitignore.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,SAyB9B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { log } from "@clack/prompts";
|
|
3
|
+
import { GITIGNORE_ENTRIES } from "./gitignoreEntries.js";
|
|
4
|
+
export function ensureGitignore() {
|
|
5
|
+
const path = ".gitignore";
|
|
6
|
+
let content = "";
|
|
7
|
+
let exists = false;
|
|
8
|
+
if (existsSync(path)) {
|
|
9
|
+
content = readFileSync(path, "utf-8");
|
|
10
|
+
exists = true;
|
|
11
|
+
}
|
|
12
|
+
const lines = content.split("\n").map((l) => l.trim());
|
|
13
|
+
const toAdd = GITIGNORE_ENTRIES.filter((e) => !lines.includes(e));
|
|
14
|
+
if (toAdd.length > 0) {
|
|
15
|
+
const prefix = content.endsWith("\n") || content === "" ? "" : "\n";
|
|
16
|
+
const header = "\n# Added by setup-data-project\n";
|
|
17
|
+
const newContent = prefix + header + toAdd.join("\n") + "\n";
|
|
18
|
+
writeFileSync(path, content + newContent);
|
|
19
|
+
if (exists) {
|
|
20
|
+
log.info(`Updated ${path}`);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
log.info(`Created ${path}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else if (exists) {
|
|
27
|
+
log.warn(`${path} already up to date. Skipping.`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensureReadme.d.ts","sourceRoot":"","sources":["../../src/helpers/ensureReadme.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,iBAoCjD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { log } from "@clack/prompts";
|
|
2
|
+
import { handleFileConflict } from "./handleFileConflict.js";
|
|
3
|
+
export async function ensureReadme(runtime) {
|
|
4
|
+
const readmeContent = `This repository has been created with
|
|
5
|
+
[setup-data-project](https://github.com/nshiab/setup-data-project/).
|
|
6
|
+
|
|
7
|
+
It's installing
|
|
8
|
+
[simple-data-analysis](https://github.com/nshiab/simple-data-analysis) and
|
|
9
|
+
[journalism](https://github.com/nshiab/journalism) libraries, with up-to-date
|
|
10
|
+
documentation and AI agent instructions.
|
|
11
|
+
|
|
12
|
+
Here's the recommended workflow:
|
|
13
|
+
|
|
14
|
+
- Put your raw data in the \`sda/data\` folder. Note that this folder is
|
|
15
|
+
gitignored.
|
|
16
|
+
- Use the \`sda/main.ts\` file to clean and process your raw data. Write the
|
|
17
|
+
results to the \`sda/output\` folder.
|
|
18
|
+
|
|
19
|
+
When working on your project, use the following command:
|
|
20
|
+
|
|
21
|
+
- \`${runtime === "deno" ? "deno task" : "npm run"} sda\` will watch your \`sda/main.ts\` and its dependencies. Everytime
|
|
22
|
+
you'll save some changes, the data will be reprocessed.
|
|
23
|
+
- \`${runtime === "deno" ? "deno task" : "npm run"} clean\` will remove \`.sda-cache/\`, \`.journalism-cache/\` and \`.tmp/\`,
|
|
24
|
+
if present.
|
|
25
|
+
|
|
26
|
+
Have fun!`;
|
|
27
|
+
const status = await handleFileConflict("README.md", readmeContent);
|
|
28
|
+
if (status === "created") {
|
|
29
|
+
log.info("Created README.md");
|
|
30
|
+
}
|
|
31
|
+
else if (status === "updated") {
|
|
32
|
+
log.info("Updated README.md");
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
log.warn("README.md skipping creation.");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getInstalledPackages.d.ts","sourceRoot":"","sources":["../../src/helpers/getInstalledPackages.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CA4B/C"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
export function getInstalledPackages() {
|
|
3
|
+
let configFile = "";
|
|
4
|
+
let depKeys = [];
|
|
5
|
+
if (existsSync("deno.json")) {
|
|
6
|
+
configFile = "deno.json";
|
|
7
|
+
depKeys = ["imports"];
|
|
8
|
+
}
|
|
9
|
+
else if (existsSync("package.json")) {
|
|
10
|
+
configFile = "package.json";
|
|
11
|
+
depKeys = ["dependencies", "devDependencies"];
|
|
12
|
+
}
|
|
13
|
+
if (configFile === "")
|
|
14
|
+
return [];
|
|
15
|
+
try {
|
|
16
|
+
const content = readFileSync(configFile, "utf-8");
|
|
17
|
+
const config = JSON.parse(content);
|
|
18
|
+
const installed = [];
|
|
19
|
+
for (const key of depKeys) {
|
|
20
|
+
if (config[key]) {
|
|
21
|
+
installed.push(...Object.keys(config[key]));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return installed;
|
|
25
|
+
}
|
|
26
|
+
catch (_e) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProjectTasks.d.ts","sourceRoot":"","sources":["../../src/helpers/getProjectTasks.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe;;;EAW9B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { getRuntime } from "./getRuntime.js";
|
|
2
|
+
export function getProjectTasks() {
|
|
3
|
+
const runtime = getRuntime();
|
|
4
|
+
return {
|
|
5
|
+
sda: runtime === "deno"
|
|
6
|
+
? "deno run -A --env --watch sda/main.ts"
|
|
7
|
+
: runtime === "bun"
|
|
8
|
+
? "bun run --watch sda/main.ts"
|
|
9
|
+
: "node --env-file=.env --watch sda/main.ts",
|
|
10
|
+
clean: "rm -rf .sda-cache .journalism-cache .tmp",
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getRuntime.d.ts","sourceRoot":"","sources":["../../src/helpers/getRuntime.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;CASzB,CAAC;AAEF,wBAAgB,UAAU,4BAEzB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as dntShim from "../_dnt.shims.js";
|
|
2
|
+
import process from "node:process";
|
|
3
|
+
export const runtimeConfig = {
|
|
4
|
+
getRuntime: () => {
|
|
5
|
+
if ("Deno" in dntShim.dntGlobalThis)
|
|
6
|
+
return "deno";
|
|
7
|
+
if ("Bun" in dntShim.dntGlobalThis)
|
|
8
|
+
return "bun";
|
|
9
|
+
if (typeof process !== "undefined" && process?.versions?.node) {
|
|
10
|
+
return "node";
|
|
11
|
+
}
|
|
12
|
+
return "node";
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
export function getRuntime() {
|
|
16
|
+
return runtimeConfig.getRuntime();
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitignoreEntries.d.ts","sourceRoot":"","sources":["../../src/helpers/gitignoreEntries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,UAQ7B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const PROMPT_OVERRIDE: {
|
|
2
|
+
select: (config: unknown) => Promise<string | symbol>;
|
|
3
|
+
};
|
|
4
|
+
export declare function handleFileConflict(path: string, newContent: string): Promise<"created" | "updated" | "skipped">;
|
|
5
|
+
//# sourceMappingURL=handleFileConflict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleFileConflict.d.ts","sourceRoot":"","sources":["../../src/helpers/handleFileConflict.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,EAAE;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAGvD,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAoD5C"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as dntShim from "../_dnt.shims.js";
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { isCancel, select } from "@clack/prompts";
|
|
4
|
+
import process from "node:process";
|
|
5
|
+
export const PROMPT_OVERRIDE = {
|
|
6
|
+
select: select,
|
|
7
|
+
};
|
|
8
|
+
export async function handleFileConflict(path, newContent) {
|
|
9
|
+
if (!existsSync(path)) {
|
|
10
|
+
writeFileSync(path, newContent);
|
|
11
|
+
return "created";
|
|
12
|
+
}
|
|
13
|
+
// Skip prompt in Deno tests if no override
|
|
14
|
+
// @ts-ignore: Deno is not defined in type but present in runtime
|
|
15
|
+
if (dntShim.dntGlobalThis.Deno?.args.includes("--internal-test-mode") &&
|
|
16
|
+
PROMPT_OVERRIDE.select === select) {
|
|
17
|
+
return "skipped";
|
|
18
|
+
}
|
|
19
|
+
const action = (await PROMPT_OVERRIDE.select({
|
|
20
|
+
message: `${path} already exists. What would you like to do?`,
|
|
21
|
+
options: [
|
|
22
|
+
{ value: "skip", label: "Skip", hint: "Keep existing file" },
|
|
23
|
+
{
|
|
24
|
+
value: "overwrite",
|
|
25
|
+
label: "Overwrite",
|
|
26
|
+
hint: "Replace with new content",
|
|
27
|
+
},
|
|
28
|
+
{ value: "append", label: "Append", hint: "Add to the end of the file" },
|
|
29
|
+
],
|
|
30
|
+
}));
|
|
31
|
+
if (isCancel(action)) {
|
|
32
|
+
console.log("Operation cancelled.");
|
|
33
|
+
process.exit(0);
|
|
34
|
+
}
|
|
35
|
+
if (action === "skip") {
|
|
36
|
+
return "skipped";
|
|
37
|
+
}
|
|
38
|
+
if (action === "overwrite") {
|
|
39
|
+
writeFileSync(path, newContent);
|
|
40
|
+
return "updated";
|
|
41
|
+
}
|
|
42
|
+
if (action === "append") {
|
|
43
|
+
const existingContent = readFileSync(path, "utf-8");
|
|
44
|
+
const prefix = existingContent.endsWith("\n") || existingContent === ""
|
|
45
|
+
? ""
|
|
46
|
+
: "\n";
|
|
47
|
+
writeFileSync(path, existingContent + prefix + newContent);
|
|
48
|
+
return "updated";
|
|
49
|
+
}
|
|
50
|
+
return "skipped";
|
|
51
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as childProcess from "node:child_process";
|
|
2
|
+
export declare const commandRunner: {
|
|
3
|
+
execSync: typeof childProcess.execSync;
|
|
4
|
+
};
|
|
5
|
+
export declare function installPackagesAndFetchDocs(selectedPackages: string[], options?: {
|
|
6
|
+
silent?: boolean;
|
|
7
|
+
}): Promise<string | void>;
|
|
8
|
+
//# sourceMappingURL=installPackagesAndFetchDocs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installPackagesAndFetchDocs.d.ts","sourceRoot":"","sources":["../../src/helpers/installPackagesAndFetchDocs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAKnD,eAAO,MAAM,aAAa;;CAEzB,CAAC;AAEF,wBAAsB,2BAA2B,CAC/C,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2DxB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { spinner } from "@clack/prompts";
|
|
2
|
+
import * as childProcess from "node:child_process";
|
|
3
|
+
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { getRuntime } from "./getRuntime.js";
|
|
6
|
+
export const commandRunner = {
|
|
7
|
+
execSync: childProcess.execSync,
|
|
8
|
+
};
|
|
9
|
+
export async function installPackagesAndFetchDocs(selectedPackages, options = {}) {
|
|
10
|
+
const runtime = getRuntime();
|
|
11
|
+
if (Array.isArray(selectedPackages) && selectedPackages.length > 0) {
|
|
12
|
+
if (!existsSync("docs")) {
|
|
13
|
+
mkdirSync("docs");
|
|
14
|
+
}
|
|
15
|
+
let lastDoc = "";
|
|
16
|
+
for (const pkg of selectedPackages) {
|
|
17
|
+
const s = spinner();
|
|
18
|
+
const installCmd = runtime === "deno"
|
|
19
|
+
? `deno add jsr:${pkg}`
|
|
20
|
+
: runtime === "bun"
|
|
21
|
+
? `bunx jsr add ${pkg}`
|
|
22
|
+
: `npx jsr add ${pkg}`;
|
|
23
|
+
if (!options.silent) {
|
|
24
|
+
s.start(`Installing ${pkg} via ${runtime}...`);
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
commandRunner.execSync(installCmd, { stdio: "ignore" });
|
|
28
|
+
if (!options.silent) {
|
|
29
|
+
s.stop(`✅ ${pkg} installed!`);
|
|
30
|
+
}
|
|
31
|
+
const sFetch = spinner();
|
|
32
|
+
if (!options.silent) {
|
|
33
|
+
sFetch.start(`Fetching documentation for ${pkg}...`);
|
|
34
|
+
}
|
|
35
|
+
const repoName = pkg.split("/")[1];
|
|
36
|
+
const url = `https://raw.githubusercontent.com/nshiab/${repoName}/refs/heads/main/llm.md`;
|
|
37
|
+
const response = await fetch(url);
|
|
38
|
+
if (response.ok) {
|
|
39
|
+
const docContent = await response.text();
|
|
40
|
+
writeFileSync(join("docs", `${repoName}.md`), docContent);
|
|
41
|
+
if (!options.silent) {
|
|
42
|
+
sFetch.stop(`✅ Documentation for ${pkg} saved!`);
|
|
43
|
+
}
|
|
44
|
+
lastDoc = docContent;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if (!options.silent) {
|
|
48
|
+
sFetch.stop(`⚠️ No documentation (llm.md) found for ${pkg}. Skipping doc fetch.`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (!options.silent) {
|
|
54
|
+
s.stop(`❌ Failed to install ${pkg}.`);
|
|
55
|
+
}
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return lastDoc;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageOptions.d.ts","sourceRoot":"","sources":["../../src/helpers/packageOptions.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;GAGzB,CAAC"}
|