@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.
Files changed (541) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/esm/_dnt.shims.d.ts +6 -0
  4. package/esm/_dnt.shims.d.ts.map +1 -0
  5. package/esm/_dnt.shims.js +61 -0
  6. package/esm/helpers/createFolderStructure.d.ts +2 -0
  7. package/esm/helpers/createFolderStructure.d.ts.map +1 -0
  8. package/esm/helpers/createFolderStructure.js +49 -0
  9. package/esm/helpers/ensureAgents.d.ts +2 -0
  10. package/esm/helpers/ensureAgents.d.ts.map +1 -0
  11. package/esm/helpers/ensureAgents.js +92 -0
  12. package/esm/helpers/ensureEnvFile.d.ts +2 -0
  13. package/esm/helpers/ensureEnvFile.d.ts.map +1 -0
  14. package/esm/helpers/ensureEnvFile.js +14 -0
  15. package/esm/helpers/ensureGitignore.d.ts +2 -0
  16. package/esm/helpers/ensureGitignore.d.ts.map +1 -0
  17. package/esm/helpers/ensureGitignore.js +29 -0
  18. package/esm/helpers/ensureReadme.d.ts +2 -0
  19. package/esm/helpers/ensureReadme.d.ts.map +1 -0
  20. package/esm/helpers/ensureReadme.js +37 -0
  21. package/esm/helpers/getInstalledPackages.d.ts +2 -0
  22. package/esm/helpers/getInstalledPackages.d.ts.map +1 -0
  23. package/esm/helpers/getInstalledPackages.js +29 -0
  24. package/esm/helpers/getProjectTasks.d.ts +5 -0
  25. package/esm/helpers/getProjectTasks.d.ts.map +1 -0
  26. package/esm/helpers/getProjectTasks.js +12 -0
  27. package/esm/helpers/getRuntime.d.ts +5 -0
  28. package/esm/helpers/getRuntime.d.ts.map +1 -0
  29. package/esm/helpers/getRuntime.js +17 -0
  30. package/esm/helpers/gitignoreEntries.d.ts +2 -0
  31. package/esm/helpers/gitignoreEntries.d.ts.map +1 -0
  32. package/esm/helpers/gitignoreEntries.js +9 -0
  33. package/esm/helpers/handleFileConflict.d.ts +5 -0
  34. package/esm/helpers/handleFileConflict.d.ts.map +1 -0
  35. package/esm/helpers/handleFileConflict.js +51 -0
  36. package/esm/helpers/installPackagesAndFetchDocs.d.ts +8 -0
  37. package/esm/helpers/installPackagesAndFetchDocs.d.ts.map +1 -0
  38. package/esm/helpers/installPackagesAndFetchDocs.js +61 -0
  39. package/esm/helpers/packageOptions.d.ts +5 -0
  40. package/esm/helpers/packageOptions.d.ts.map +1 -0
  41. package/esm/helpers/packageOptions.js +5 -0
  42. package/esm/helpers/packageRegistry.d.ts +7 -0
  43. package/esm/helpers/packageRegistry.d.ts.map +1 -0
  44. package/esm/helpers/packageRegistry.js +62 -0
  45. package/esm/helpers/updateProjectConfig.d.ts +2 -0
  46. package/esm/helpers/updateProjectConfig.d.ts.map +1 -0
  47. package/esm/helpers/updateProjectConfig.js +36 -0
  48. package/esm/main.d.ts +3 -0
  49. package/esm/main.d.ts.map +1 -0
  50. package/esm/main.js +93 -0
  51. package/esm/package.json +3 -0
  52. package/npm/LICENSE +21 -0
  53. package/npm/README.md +25 -0
  54. package/npm/esm/_dnt.shims.d.ts +8 -0
  55. package/npm/esm/_dnt.shims.d.ts.map +1 -0
  56. package/npm/esm/_dnt.shims.js +62 -0
  57. package/npm/esm/_dnt_2.shims.d.ts +6 -0
  58. package/npm/esm/_dnt_2.shims.d.ts.map +1 -0
  59. package/npm/esm/_dnt_2.shims.js +61 -0
  60. package/npm/esm/helpers/createFolderStructure.d.ts +2 -0
  61. package/npm/esm/helpers/createFolderStructure.d.ts.map +1 -0
  62. package/npm/esm/helpers/createFolderStructure.js +49 -0
  63. package/npm/esm/helpers/ensureAgents.d.ts +2 -0
  64. package/npm/esm/helpers/ensureAgents.d.ts.map +1 -0
  65. package/npm/esm/helpers/ensureAgents.js +92 -0
  66. package/npm/esm/helpers/ensureEnvFile.d.ts +2 -0
  67. package/npm/esm/helpers/ensureEnvFile.d.ts.map +1 -0
  68. package/npm/esm/helpers/ensureEnvFile.js +14 -0
  69. package/npm/esm/helpers/ensureGitignore.d.ts +2 -0
  70. package/npm/esm/helpers/ensureGitignore.d.ts.map +1 -0
  71. package/npm/esm/helpers/ensureGitignore.js +29 -0
  72. package/npm/esm/helpers/ensureReadme.d.ts +2 -0
  73. package/npm/esm/helpers/ensureReadme.d.ts.map +1 -0
  74. package/npm/esm/helpers/ensureReadme.js +37 -0
  75. package/npm/esm/helpers/getInstalledPackages.d.ts +2 -0
  76. package/npm/esm/helpers/getInstalledPackages.d.ts.map +1 -0
  77. package/npm/esm/helpers/getInstalledPackages.js +29 -0
  78. package/npm/esm/helpers/getProjectTasks.d.ts +5 -0
  79. package/npm/esm/helpers/getProjectTasks.d.ts.map +1 -0
  80. package/npm/esm/helpers/getProjectTasks.js +12 -0
  81. package/npm/esm/helpers/getRuntime.d.ts +5 -0
  82. package/npm/esm/helpers/getRuntime.d.ts.map +1 -0
  83. package/npm/esm/helpers/getRuntime.js +17 -0
  84. package/npm/esm/helpers/gitignoreEntries.d.ts +2 -0
  85. package/npm/esm/helpers/gitignoreEntries.d.ts.map +1 -0
  86. package/npm/esm/helpers/gitignoreEntries.js +9 -0
  87. package/npm/esm/helpers/handleFileConflict.d.ts +5 -0
  88. package/npm/esm/helpers/handleFileConflict.d.ts.map +1 -0
  89. package/npm/esm/helpers/handleFileConflict.js +51 -0
  90. package/npm/esm/helpers/installPackagesAndFetchDocs.d.ts +8 -0
  91. package/npm/esm/helpers/installPackagesAndFetchDocs.d.ts.map +1 -0
  92. package/npm/esm/helpers/installPackagesAndFetchDocs.js +61 -0
  93. package/npm/esm/helpers/packageOptions.d.ts +5 -0
  94. package/npm/esm/helpers/packageOptions.d.ts.map +1 -0
  95. package/npm/esm/helpers/packageOptions.js +5 -0
  96. package/npm/esm/helpers/packageRegistry.d.ts +7 -0
  97. package/npm/esm/helpers/packageRegistry.d.ts.map +1 -0
  98. package/npm/esm/helpers/packageRegistry.js +62 -0
  99. package/npm/esm/helpers/updateProjectConfig.d.ts +2 -0
  100. package/npm/esm/helpers/updateProjectConfig.d.ts.map +1 -0
  101. package/npm/esm/helpers/updateProjectConfig.js +36 -0
  102. package/npm/esm/main.d.ts +3 -0
  103. package/npm/esm/main.d.ts.map +1 -0
  104. package/npm/esm/main.js +93 -0
  105. package/npm/esm/package.json +3 -0
  106. package/npm/node_modules/.package-lock.json +123 -0
  107. package/npm/node_modules/@clack/core/CHANGELOG.md +348 -0
  108. package/npm/node_modules/@clack/core/LICENSE +9 -0
  109. package/npm/node_modules/@clack/core/README.md +22 -0
  110. package/npm/node_modules/@clack/core/dist/index.d.mts +363 -0
  111. package/npm/node_modules/@clack/core/dist/index.mjs +17 -0
  112. package/npm/node_modules/@clack/core/dist/index.mjs.map +1 -0
  113. package/npm/node_modules/@clack/core/package.json +63 -0
  114. package/npm/node_modules/@clack/prompts/CHANGELOG.md +591 -0
  115. package/npm/node_modules/@clack/prompts/LICENSE +9 -0
  116. package/npm/node_modules/@clack/prompts/README.md +375 -0
  117. package/npm/node_modules/@clack/prompts/dist/index.d.mts +396 -0
  118. package/npm/node_modules/@clack/prompts/dist/index.mjs +144 -0
  119. package/npm/node_modules/@clack/prompts/dist/index.mjs.map +1 -0
  120. package/npm/node_modules/@clack/prompts/package.json +68 -0
  121. package/npm/node_modules/@deno/shim-deno/LICENSE +20 -0
  122. package/npm/node_modules/@deno/shim-deno/README.md +30 -0
  123. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/Conn.js +56 -0
  124. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/Listener.js +92 -0
  125. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/consts.js +4 -0
  126. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/errorMap.js +44 -0
  127. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/fs_flags.js +91 -0
  128. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/iterutil.js +37 -0
  129. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/random_id.js +8 -0
  130. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/streams.js +122 -0
  131. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/test.d.ts +1 -0
  132. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/test.js +5 -0
  133. package/npm/node_modules/@deno/shim-deno/dist/deno/internal/version.js +5 -0
  134. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/classes/FsFile.js +143 -0
  135. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/classes/PermissionStatus.js +19 -0
  136. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/classes/Permissions.js +26 -0
  137. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/classes.js +10 -0
  138. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/enums/SeekMode.js +9 -0
  139. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/enums.js +5 -0
  140. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/addSignalListener.js +18 -0
  141. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/chdir.js +22 -0
  142. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/chmod.js +29 -0
  143. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/chmodSync.js +29 -0
  144. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/chown.js +30 -0
  145. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/chownSync.js +30 -0
  146. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/close.js +29 -0
  147. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/connect.js +37 -0
  148. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/connectTls.js +31 -0
  149. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/consoleSize.js +17 -0
  150. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/copy.js +27 -0
  151. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/copyFile.js +45 -0
  152. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/copyFileSync.js +45 -0
  153. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/create.js +9 -0
  154. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/createSync.js +14 -0
  155. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/cwd.js +5 -0
  156. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/execPath.js +10 -0
  157. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/exit.js +8 -0
  158. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fdatasync.js +8 -0
  159. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fdatasyncSync.js +6 -0
  160. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fstat.js +44 -0
  161. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fstatSync.js +19 -0
  162. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fsync.js +10 -0
  163. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/fsyncSync.js +9 -0
  164. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/ftruncate.js +8 -0
  165. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/ftruncateSync.js +6 -0
  166. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/gid.js +10 -0
  167. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/hostname.js +32 -0
  168. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/inspect.js +30 -0
  169. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/kill.js +16 -0
  170. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/link.js +29 -0
  171. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/linkSync.js +29 -0
  172. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/listen.js +51 -0
  173. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/listenTls.js +49 -0
  174. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/loadavg.js +32 -0
  175. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/lstat.js +42 -0
  176. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/lstatSync.js +42 -0
  177. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/makeTempDir.js +11 -0
  178. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/makeTempDirSync.js +11 -0
  179. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/makeTempFile.js +14 -0
  180. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/makeTempFileSync.js +14 -0
  181. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/memoryUsage.js +5 -0
  182. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/mkdir.js +22 -0
  183. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/mkdirSync.js +45 -0
  184. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/open.js +33 -0
  185. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/openSync.js +31 -0
  186. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/osRelease.js +9 -0
  187. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/osUptime.js +9 -0
  188. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/read.js +19 -0
  189. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readDir.js +26 -0
  190. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readDirSync.js +26 -0
  191. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readFile.js +19 -0
  192. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readFileSync.js +19 -0
  193. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readLink.js +29 -0
  194. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readLinkSync.js +29 -0
  195. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readSync.js +34 -0
  196. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readTextFile.js +18 -0
  197. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/readTextFileSync.js +41 -0
  198. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/realPath.js +29 -0
  199. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/realPathSync.js +29 -0
  200. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/remove.js +22 -0
  201. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/removeSignalListener.js +12 -0
  202. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/removeSync.js +45 -0
  203. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/rename.js +9 -0
  204. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/renameSync.js +29 -0
  205. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/resolveDns.js +41 -0
  206. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/run.js +276 -0
  207. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/shutdown.js +9 -0
  208. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/stat.js +68 -0
  209. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/statSync.js +42 -0
  210. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/symlink.js +30 -0
  211. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/symlinkSync.js +30 -0
  212. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/test.js +5 -0
  213. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/truncate.js +45 -0
  214. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/truncateSync.js +45 -0
  215. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/uid.js +10 -0
  216. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/watchFs.js +27 -0
  217. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/write.js +35 -0
  218. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/writeFile.js +46 -0
  219. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/writeFileSync.js +45 -0
  220. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/writeSync.js +29 -0
  221. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/writeTextFile.js +52 -0
  222. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions/writeTextFileSync.js +44 -0
  223. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/functions.js +234 -0
  224. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/main.js +21 -0
  225. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/types.js +3 -0
  226. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/args.js +5 -0
  227. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/build.js +38 -0
  228. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/customInspect.js +4 -0
  229. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/env.js +47 -0
  230. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/errors.js +63 -0
  231. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/mainModule.js +8 -0
  232. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/metrics.js +21 -0
  233. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/noColor.js +5 -0
  234. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/permissions.js +6 -0
  235. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/pid.js +5 -0
  236. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/ppid.js +5 -0
  237. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/resources.js +12 -0
  238. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/std.js +132 -0
  239. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables/version.js +10 -0
  240. package/npm/node_modules/@deno/shim-deno/dist/deno/stable/variables.js +53 -0
  241. package/npm/node_modules/@deno/shim-deno/dist/deno/unstable/main.js +62 -0
  242. package/npm/node_modules/@deno/shim-deno/dist/deno.js +17 -0
  243. package/npm/node_modules/@deno/shim-deno/dist/index.d.ts +4762 -0
  244. package/npm/node_modules/@deno/shim-deno/dist/index.js +27 -0
  245. package/npm/node_modules/@deno/shim-deno/package.json +50 -0
  246. package/npm/node_modules/@deno/shim-deno-test/LICENSE +20 -0
  247. package/npm/node_modules/@deno/shim-deno-test/README.md +28 -0
  248. package/npm/node_modules/@deno/shim-deno-test/dist/definitions.d.ts +3 -0
  249. package/npm/node_modules/@deno/shim-deno-test/dist/definitions.js +5 -0
  250. package/npm/node_modules/@deno/shim-deno-test/dist/deno.types.gen.d.ts +626 -0
  251. package/npm/node_modules/@deno/shim-deno-test/dist/deno.types.gen.js +2 -0
  252. package/npm/node_modules/@deno/shim-deno-test/dist/index.d.ts +3 -0
  253. package/npm/node_modules/@deno/shim-deno-test/dist/index.js +21 -0
  254. package/npm/node_modules/@deno/shim-deno-test/dist/test.d.ts +3 -0
  255. package/npm/node_modules/@deno/shim-deno-test/dist/test.js +87 -0
  256. package/npm/node_modules/@deno/shim-deno-test/package.json +34 -0
  257. package/npm/node_modules/@types/node/LICENSE +21 -0
  258. package/npm/node_modules/@types/node/README.md +15 -0
  259. package/npm/node_modules/@types/node/assert/strict.d.ts +8 -0
  260. package/npm/node_modules/@types/node/assert.d.ts +1062 -0
  261. package/npm/node_modules/@types/node/async_hooks.d.ts +605 -0
  262. package/npm/node_modules/@types/node/buffer.buffer.d.ts +471 -0
  263. package/npm/node_modules/@types/node/buffer.d.ts +1936 -0
  264. package/npm/node_modules/@types/node/child_process.d.ts +1475 -0
  265. package/npm/node_modules/@types/node/cluster.d.ts +577 -0
  266. package/npm/node_modules/@types/node/compatibility/disposable.d.ts +16 -0
  267. package/npm/node_modules/@types/node/compatibility/index.d.ts +9 -0
  268. package/npm/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
  269. package/npm/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  270. package/npm/node_modules/@types/node/console.d.ts +452 -0
  271. package/npm/node_modules/@types/node/constants.d.ts +21 -0
  272. package/npm/node_modules/@types/node/crypto.d.ts +4590 -0
  273. package/npm/node_modules/@types/node/dgram.d.ts +597 -0
  274. package/npm/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
  275. package/npm/node_modules/@types/node/dns/promises.d.ts +479 -0
  276. package/npm/node_modules/@types/node/dns.d.ts +871 -0
  277. package/npm/node_modules/@types/node/domain.d.ts +170 -0
  278. package/npm/node_modules/@types/node/events.d.ts +977 -0
  279. package/npm/node_modules/@types/node/fs/promises.d.ts +1270 -0
  280. package/npm/node_modules/@types/node/fs.d.ts +4375 -0
  281. package/npm/node_modules/@types/node/globals.d.ts +172 -0
  282. package/npm/node_modules/@types/node/globals.typedarray.d.ts +38 -0
  283. package/npm/node_modules/@types/node/http.d.ts +2049 -0
  284. package/npm/node_modules/@types/node/http2.d.ts +2631 -0
  285. package/npm/node_modules/@types/node/https.d.ts +578 -0
  286. package/npm/node_modules/@types/node/index.d.ts +93 -0
  287. package/npm/node_modules/@types/node/inspector.generated.d.ts +3966 -0
  288. package/npm/node_modules/@types/node/module.d.ts +539 -0
  289. package/npm/node_modules/@types/node/net.d.ts +1031 -0
  290. package/npm/node_modules/@types/node/os.d.ts +506 -0
  291. package/npm/node_modules/@types/node/package.json +140 -0
  292. package/npm/node_modules/@types/node/path.d.ts +200 -0
  293. package/npm/node_modules/@types/node/perf_hooks.d.ts +961 -0
  294. package/npm/node_modules/@types/node/process.d.ts +1961 -0
  295. package/npm/node_modules/@types/node/punycode.d.ts +117 -0
  296. package/npm/node_modules/@types/node/querystring.d.ts +152 -0
  297. package/npm/node_modules/@types/node/readline/promises.d.ts +162 -0
  298. package/npm/node_modules/@types/node/readline.d.ts +589 -0
  299. package/npm/node_modules/@types/node/repl.d.ts +430 -0
  300. package/npm/node_modules/@types/node/sea.d.ts +153 -0
  301. package/npm/node_modules/@types/node/stream/consumers.d.ts +38 -0
  302. package/npm/node_modules/@types/node/stream/promises.d.ts +90 -0
  303. package/npm/node_modules/@types/node/stream/web.d.ts +533 -0
  304. package/npm/node_modules/@types/node/stream.d.ts +1698 -0
  305. package/npm/node_modules/@types/node/string_decoder.d.ts +67 -0
  306. package/npm/node_modules/@types/node/test.d.ts +1787 -0
  307. package/npm/node_modules/@types/node/timers/promises.d.ts +108 -0
  308. package/npm/node_modules/@types/node/timers.d.ts +286 -0
  309. package/npm/node_modules/@types/node/tls.d.ts +1259 -0
  310. package/npm/node_modules/@types/node/trace_events.d.ts +197 -0
  311. package/npm/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
  312. package/npm/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
  313. package/npm/node_modules/@types/node/ts5.6/index.d.ts +93 -0
  314. package/npm/node_modules/@types/node/tty.d.ts +208 -0
  315. package/npm/node_modules/@types/node/url.d.ts +964 -0
  316. package/npm/node_modules/@types/node/util.d.ts +2331 -0
  317. package/npm/node_modules/@types/node/v8.d.ts +809 -0
  318. package/npm/node_modules/@types/node/vm.d.ts +1001 -0
  319. package/npm/node_modules/@types/node/wasi.d.ts +181 -0
  320. package/npm/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  321. package/npm/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  322. package/npm/node_modules/@types/node/web-globals/events.d.ts +97 -0
  323. package/npm/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
  324. package/npm/node_modules/@types/node/worker_threads.d.ts +715 -0
  325. package/npm/node_modules/@types/node/zlib.d.ts +598 -0
  326. package/npm/node_modules/fast-string-truncated-width/dist/index.d.ts +4 -0
  327. package/npm/node_modules/fast-string-truncated-width/dist/index.js +111 -0
  328. package/npm/node_modules/fast-string-truncated-width/dist/types.d.ts +19 -0
  329. package/npm/node_modules/fast-string-truncated-width/dist/types.js +2 -0
  330. package/npm/node_modules/fast-string-truncated-width/dist/utils.d.ts +4 -0
  331. package/npm/node_modules/fast-string-truncated-width/dist/utils.js +20 -0
  332. package/npm/node_modules/fast-string-truncated-width/license +21 -0
  333. package/npm/node_modules/fast-string-truncated-width/package.json +35 -0
  334. package/npm/node_modules/fast-string-truncated-width/readme.md +59 -0
  335. package/npm/node_modules/fast-string-width/dist/index.d.ts +4 -0
  336. package/npm/node_modules/fast-string-width/dist/index.js +14 -0
  337. package/npm/node_modules/fast-string-width/license +21 -0
  338. package/npm/node_modules/fast-string-width/package.json +34 -0
  339. package/npm/node_modules/fast-string-width/readme.md +42 -0
  340. package/npm/node_modules/fast-wrap-ansi/LICENSE +23 -0
  341. package/npm/node_modules/fast-wrap-ansi/README.md +26 -0
  342. package/npm/node_modules/fast-wrap-ansi/lib/main.d.ts +6 -0
  343. package/npm/node_modules/fast-wrap-ansi/lib/main.js +219 -0
  344. package/npm/node_modules/fast-wrap-ansi/lib/main.js.map +1 -0
  345. package/npm/node_modules/fast-wrap-ansi/package.json +51 -0
  346. package/npm/node_modules/isexe/LICENSE.md +55 -0
  347. package/npm/node_modules/isexe/README.md +80 -0
  348. package/npm/node_modules/isexe/dist/commonjs/index.d.ts +14 -0
  349. package/npm/node_modules/isexe/dist/commonjs/index.d.ts.map +1 -0
  350. package/npm/node_modules/isexe/dist/commonjs/index.js +56 -0
  351. package/npm/node_modules/isexe/dist/commonjs/index.js.map +1 -0
  352. package/npm/node_modules/isexe/dist/commonjs/index.min.js +2 -0
  353. package/npm/node_modules/isexe/dist/commonjs/index.min.js.map +7 -0
  354. package/npm/node_modules/isexe/dist/commonjs/options.d.ts +32 -0
  355. package/npm/node_modules/isexe/dist/commonjs/options.d.ts.map +1 -0
  356. package/npm/node_modules/isexe/dist/commonjs/options.js +3 -0
  357. package/npm/node_modules/isexe/dist/commonjs/options.js.map +1 -0
  358. package/npm/node_modules/isexe/dist/commonjs/package.json +3 -0
  359. package/npm/node_modules/isexe/dist/commonjs/posix.d.ts +18 -0
  360. package/npm/node_modules/isexe/dist/commonjs/posix.d.ts.map +1 -0
  361. package/npm/node_modules/isexe/dist/commonjs/posix.js +67 -0
  362. package/npm/node_modules/isexe/dist/commonjs/posix.js.map +1 -0
  363. package/npm/node_modules/isexe/dist/commonjs/win32.d.ts +18 -0
  364. package/npm/node_modules/isexe/dist/commonjs/win32.d.ts.map +1 -0
  365. package/npm/node_modules/isexe/dist/commonjs/win32.js +63 -0
  366. package/npm/node_modules/isexe/dist/commonjs/win32.js.map +1 -0
  367. package/npm/node_modules/isexe/dist/esm/index.d.ts +14 -0
  368. package/npm/node_modules/isexe/dist/esm/index.d.ts.map +1 -0
  369. package/npm/node_modules/isexe/dist/esm/index.js +16 -0
  370. package/npm/node_modules/isexe/dist/esm/index.js.map +1 -0
  371. package/npm/node_modules/isexe/dist/esm/index.min.js +2 -0
  372. package/npm/node_modules/isexe/dist/esm/index.min.js.map +7 -0
  373. package/npm/node_modules/isexe/dist/esm/options.d.ts +32 -0
  374. package/npm/node_modules/isexe/dist/esm/options.d.ts.map +1 -0
  375. package/npm/node_modules/isexe/dist/esm/options.js +2 -0
  376. package/npm/node_modules/isexe/dist/esm/options.js.map +1 -0
  377. package/npm/node_modules/isexe/dist/esm/package.json +3 -0
  378. package/npm/node_modules/isexe/dist/esm/posix.d.ts +18 -0
  379. package/npm/node_modules/isexe/dist/esm/posix.d.ts.map +1 -0
  380. package/npm/node_modules/isexe/dist/esm/posix.js +62 -0
  381. package/npm/node_modules/isexe/dist/esm/posix.js.map +1 -0
  382. package/npm/node_modules/isexe/dist/esm/win32.d.ts +18 -0
  383. package/npm/node_modules/isexe/dist/esm/win32.d.ts.map +1 -0
  384. package/npm/node_modules/isexe/dist/esm/win32.js +58 -0
  385. package/npm/node_modules/isexe/dist/esm/win32.js.map +1 -0
  386. package/npm/node_modules/isexe/package.json +78 -0
  387. package/npm/node_modules/sisteransi/license +21 -0
  388. package/npm/node_modules/sisteransi/package.json +34 -0
  389. package/npm/node_modules/sisteransi/readme.md +113 -0
  390. package/npm/node_modules/sisteransi/src/index.js +58 -0
  391. package/npm/node_modules/sisteransi/src/sisteransi.d.ts +35 -0
  392. package/npm/node_modules/undici-types/LICENSE +21 -0
  393. package/npm/node_modules/undici-types/README.md +6 -0
  394. package/npm/node_modules/undici-types/agent.d.ts +31 -0
  395. package/npm/node_modules/undici-types/api.d.ts +43 -0
  396. package/npm/node_modules/undici-types/balanced-pool.d.ts +29 -0
  397. package/npm/node_modules/undici-types/cache.d.ts +36 -0
  398. package/npm/node_modules/undici-types/client.d.ts +108 -0
  399. package/npm/node_modules/undici-types/connector.d.ts +34 -0
  400. package/npm/node_modules/undici-types/content-type.d.ts +21 -0
  401. package/npm/node_modules/undici-types/cookies.d.ts +28 -0
  402. package/npm/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
  403. package/npm/node_modules/undici-types/dispatcher.d.ts +256 -0
  404. package/npm/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
  405. package/npm/node_modules/undici-types/errors.d.ts +149 -0
  406. package/npm/node_modules/undici-types/eventsource.d.ts +61 -0
  407. package/npm/node_modules/undici-types/fetch.d.ts +209 -0
  408. package/npm/node_modules/undici-types/file.d.ts +39 -0
  409. package/npm/node_modules/undici-types/filereader.d.ts +54 -0
  410. package/npm/node_modules/undici-types/formdata.d.ts +108 -0
  411. package/npm/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  412. package/npm/node_modules/undici-types/global-origin.d.ts +7 -0
  413. package/npm/node_modules/undici-types/handlers.d.ts +15 -0
  414. package/npm/node_modules/undici-types/header.d.ts +4 -0
  415. package/npm/node_modules/undici-types/index.d.ts +71 -0
  416. package/npm/node_modules/undici-types/interceptors.d.ts +17 -0
  417. package/npm/node_modules/undici-types/mock-agent.d.ts +50 -0
  418. package/npm/node_modules/undici-types/mock-client.d.ts +25 -0
  419. package/npm/node_modules/undici-types/mock-errors.d.ts +12 -0
  420. package/npm/node_modules/undici-types/mock-interceptor.d.ts +93 -0
  421. package/npm/node_modules/undici-types/mock-pool.d.ts +25 -0
  422. package/npm/node_modules/undici-types/package.json +55 -0
  423. package/npm/node_modules/undici-types/patch.d.ts +33 -0
  424. package/npm/node_modules/undici-types/pool-stats.d.ts +19 -0
  425. package/npm/node_modules/undici-types/pool.d.ts +39 -0
  426. package/npm/node_modules/undici-types/proxy-agent.d.ts +28 -0
  427. package/npm/node_modules/undici-types/readable.d.ts +65 -0
  428. package/npm/node_modules/undici-types/retry-agent.d.ts +8 -0
  429. package/npm/node_modules/undici-types/retry-handler.d.ts +116 -0
  430. package/npm/node_modules/undici-types/util.d.ts +18 -0
  431. package/npm/node_modules/undici-types/webidl.d.ts +228 -0
  432. package/npm/node_modules/undici-types/websocket.d.ts +150 -0
  433. package/npm/node_modules/which/LICENSE +15 -0
  434. package/npm/node_modules/which/README.md +51 -0
  435. package/npm/node_modules/which/bin/which.js +52 -0
  436. package/npm/node_modules/which/lib/index.js +111 -0
  437. package/npm/node_modules/which/package.json +57 -0
  438. package/npm/package-lock.json +135 -0
  439. package/npm/package.json +30 -0
  440. package/npm/script/_dnt.shims.d.ts +8 -0
  441. package/npm/script/_dnt.shims.d.ts.map +1 -0
  442. package/npm/script/_dnt.shims.js +99 -0
  443. package/npm/script/_dnt_2.shims.d.ts +6 -0
  444. package/npm/script/_dnt_2.shims.d.ts.map +1 -0
  445. package/npm/script/_dnt_2.shims.js +65 -0
  446. package/npm/script/helpers/createFolderStructure.d.ts +2 -0
  447. package/npm/script/helpers/createFolderStructure.d.ts.map +1 -0
  448. package/npm/script/helpers/createFolderStructure.js +52 -0
  449. package/npm/script/helpers/ensureAgents.d.ts +2 -0
  450. package/npm/script/helpers/ensureAgents.d.ts.map +1 -0
  451. package/npm/script/helpers/ensureAgents.js +95 -0
  452. package/npm/script/helpers/ensureEnvFile.d.ts +2 -0
  453. package/npm/script/helpers/ensureEnvFile.d.ts.map +1 -0
  454. package/npm/script/helpers/ensureEnvFile.js +17 -0
  455. package/npm/script/helpers/ensureGitignore.d.ts +2 -0
  456. package/npm/script/helpers/ensureGitignore.d.ts.map +1 -0
  457. package/npm/script/helpers/ensureGitignore.js +32 -0
  458. package/npm/script/helpers/ensureReadme.d.ts +2 -0
  459. package/npm/script/helpers/ensureReadme.d.ts.map +1 -0
  460. package/npm/script/helpers/ensureReadme.js +40 -0
  461. package/npm/script/helpers/getInstalledPackages.d.ts +2 -0
  462. package/npm/script/helpers/getInstalledPackages.d.ts.map +1 -0
  463. package/npm/script/helpers/getInstalledPackages.js +32 -0
  464. package/npm/script/helpers/getProjectTasks.d.ts +5 -0
  465. package/npm/script/helpers/getProjectTasks.d.ts.map +1 -0
  466. package/npm/script/helpers/getProjectTasks.js +15 -0
  467. package/npm/script/helpers/getRuntime.d.ts +5 -0
  468. package/npm/script/helpers/getRuntime.d.ts.map +1 -0
  469. package/npm/script/helpers/getRuntime.js +57 -0
  470. package/npm/script/helpers/gitignoreEntries.d.ts +2 -0
  471. package/npm/script/helpers/gitignoreEntries.d.ts.map +1 -0
  472. package/npm/script/helpers/gitignoreEntries.js +12 -0
  473. package/npm/script/helpers/handleFileConflict.d.ts +5 -0
  474. package/npm/script/helpers/handleFileConflict.d.ts.map +1 -0
  475. package/npm/script/helpers/handleFileConflict.js +91 -0
  476. package/npm/script/helpers/installPackagesAndFetchDocs.d.ts +8 -0
  477. package/npm/script/helpers/installPackagesAndFetchDocs.d.ts.map +1 -0
  478. package/npm/script/helpers/installPackagesAndFetchDocs.js +98 -0
  479. package/npm/script/helpers/packageOptions.d.ts +5 -0
  480. package/npm/script/helpers/packageOptions.d.ts.map +1 -0
  481. package/npm/script/helpers/packageOptions.js +8 -0
  482. package/npm/script/helpers/packageRegistry.d.ts +7 -0
  483. package/npm/script/helpers/packageRegistry.d.ts.map +1 -0
  484. package/npm/script/helpers/packageRegistry.js +65 -0
  485. package/npm/script/helpers/updateProjectConfig.d.ts +2 -0
  486. package/npm/script/helpers/updateProjectConfig.d.ts.map +1 -0
  487. package/npm/script/helpers/updateProjectConfig.js +39 -0
  488. package/npm/script/main.d.ts +3 -0
  489. package/npm/script/main.d.ts.map +1 -0
  490. package/npm/script/main.js +98 -0
  491. package/npm/script/package.json +3 -0
  492. package/package.json +27 -0
  493. package/script/_dnt.shims.d.ts +6 -0
  494. package/script/_dnt.shims.d.ts.map +1 -0
  495. package/script/_dnt.shims.js +65 -0
  496. package/script/helpers/createFolderStructure.d.ts +2 -0
  497. package/script/helpers/createFolderStructure.d.ts.map +1 -0
  498. package/script/helpers/createFolderStructure.js +52 -0
  499. package/script/helpers/ensureAgents.d.ts +2 -0
  500. package/script/helpers/ensureAgents.d.ts.map +1 -0
  501. package/script/helpers/ensureAgents.js +95 -0
  502. package/script/helpers/ensureEnvFile.d.ts +2 -0
  503. package/script/helpers/ensureEnvFile.d.ts.map +1 -0
  504. package/script/helpers/ensureEnvFile.js +17 -0
  505. package/script/helpers/ensureGitignore.d.ts +2 -0
  506. package/script/helpers/ensureGitignore.d.ts.map +1 -0
  507. package/script/helpers/ensureGitignore.js +32 -0
  508. package/script/helpers/ensureReadme.d.ts +2 -0
  509. package/script/helpers/ensureReadme.d.ts.map +1 -0
  510. package/script/helpers/ensureReadme.js +40 -0
  511. package/script/helpers/getInstalledPackages.d.ts +2 -0
  512. package/script/helpers/getInstalledPackages.d.ts.map +1 -0
  513. package/script/helpers/getInstalledPackages.js +32 -0
  514. package/script/helpers/getProjectTasks.d.ts +5 -0
  515. package/script/helpers/getProjectTasks.d.ts.map +1 -0
  516. package/script/helpers/getProjectTasks.js +15 -0
  517. package/script/helpers/getRuntime.d.ts +5 -0
  518. package/script/helpers/getRuntime.d.ts.map +1 -0
  519. package/script/helpers/getRuntime.js +57 -0
  520. package/script/helpers/gitignoreEntries.d.ts +2 -0
  521. package/script/helpers/gitignoreEntries.d.ts.map +1 -0
  522. package/script/helpers/gitignoreEntries.js +12 -0
  523. package/script/helpers/handleFileConflict.d.ts +5 -0
  524. package/script/helpers/handleFileConflict.d.ts.map +1 -0
  525. package/script/helpers/handleFileConflict.js +91 -0
  526. package/script/helpers/installPackagesAndFetchDocs.d.ts +8 -0
  527. package/script/helpers/installPackagesAndFetchDocs.d.ts.map +1 -0
  528. package/script/helpers/installPackagesAndFetchDocs.js +98 -0
  529. package/script/helpers/packageOptions.d.ts +5 -0
  530. package/script/helpers/packageOptions.d.ts.map +1 -0
  531. package/script/helpers/packageOptions.js +8 -0
  532. package/script/helpers/packageRegistry.d.ts +7 -0
  533. package/script/helpers/packageRegistry.d.ts.map +1 -0
  534. package/script/helpers/packageRegistry.js +65 -0
  535. package/script/helpers/updateProjectConfig.d.ts +2 -0
  536. package/script/helpers/updateProjectConfig.d.ts.map +1 -0
  537. package/script/helpers/updateProjectConfig.js +39 -0
  538. package/script/main.d.ts +3 -0
  539. package/script/main.d.ts.map +1 -0
  540. package/script/main.js +98 -0
  541. package/script/package.json +3 -0
@@ -0,0 +1,5 @@
1
+ import { SUPPORTED_PACKAGES } from "./packageRegistry.js";
2
+ export const PACKAGE_OPTIONS = SUPPORTED_PACKAGES.map((pkg) => ({
3
+ value: pkg.value,
4
+ label: pkg.label,
5
+ }));
@@ -0,0 +1,7 @@
1
+ export interface PackageConfig {
2
+ value: string;
3
+ label: string;
4
+ type: "sda" | "journalism" | "other";
5
+ }
6
+ export declare const SUPPORTED_PACKAGES: PackageConfig[];
7
+ //# sourceMappingURL=packageRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageRegistry.d.ts","sourceRoot":"","sources":["../../src/helpers/packageRegistry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,YAAY,GAAG,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,kBAAkB,EAAE,aAAa,EA6D7C,CAAC"}
@@ -0,0 +1,62 @@
1
+ export const SUPPORTED_PACKAGES = [
2
+ {
3
+ value: "@nshiab/simple-data-analysis",
4
+ label: "simple-data-analysis",
5
+ type: "sda",
6
+ },
7
+ {
8
+ value: "@nshiab/journalism-ai",
9
+ label: "journalism-ai",
10
+ type: "journalism",
11
+ },
12
+ {
13
+ value: "@nshiab/journalism-climate",
14
+ label: "journalism-climate",
15
+ type: "journalism",
16
+ },
17
+ {
18
+ value: "@nshiab/journalism-dataviz",
19
+ label: "journalism-dataviz",
20
+ type: "journalism",
21
+ },
22
+ {
23
+ value: "@nshiab/journalism-finance",
24
+ label: "journalism-finance",
25
+ type: "journalism",
26
+ },
27
+ {
28
+ value: "@nshiab/journalism-format",
29
+ label: "journalism-format",
30
+ type: "journalism",
31
+ },
32
+ {
33
+ value: "@nshiab/journalism-geo",
34
+ label: "journalism-geo",
35
+ type: "journalism",
36
+ },
37
+ {
38
+ value: "@nshiab/journalism-google",
39
+ label: "journalism-google",
40
+ type: "journalism",
41
+ },
42
+ {
43
+ value: "@nshiab/journalism-statistics",
44
+ label: "journalism-statistics",
45
+ type: "journalism",
46
+ },
47
+ {
48
+ value: "@nshiab/journalism-web",
49
+ label: "journalism-web",
50
+ type: "journalism",
51
+ },
52
+ {
53
+ value: "@nshiab/journalism-web-scraping",
54
+ label: "journalism-web-scraping",
55
+ type: "journalism",
56
+ },
57
+ {
58
+ value: "@nshiab/journalism-extras",
59
+ label: "journalism-extras",
60
+ type: "journalism",
61
+ },
62
+ ];
@@ -0,0 +1,2 @@
1
+ export declare function updateProjectConfig(tasks: Record<string, string>): void;
2
+ //# sourceMappingURL=updateProjectConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateProjectConfig.d.ts","sourceRoot":"","sources":["../../src/helpers/updateProjectConfig.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAkChE"}
@@ -0,0 +1,36 @@
1
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { getRuntime } from "./getRuntime.js";
3
+ export function updateProjectConfig(tasks) {
4
+ const runtime = getRuntime();
5
+ let configFile = "package.json";
6
+ let key = "scripts";
7
+ if (existsSync("deno.json")) {
8
+ configFile = "deno.json";
9
+ key = "tasks";
10
+ }
11
+ else if (!existsSync("package.json") && runtime === "deno") {
12
+ configFile = "deno.json";
13
+ key = "tasks";
14
+ writeFileSync(configFile, JSON.stringify({ [key]: {} }, null, 2));
15
+ }
16
+ else if (!existsSync("package.json")) {
17
+ return;
18
+ }
19
+ try {
20
+ const content = readFileSync(configFile, "utf-8");
21
+ const config = JSON.parse(content);
22
+ config[key] = { ...(config[key] || {}), ...tasks };
23
+ writeFileSync(configFile, JSON.stringify(config, null, 2), "utf-8");
24
+ }
25
+ catch (e) {
26
+ if (e instanceof SyntaxError) {
27
+ console.error(`❌ Error: Failed to parse ${configFile} as JSON. Please check its validity.`);
28
+ }
29
+ else if (e instanceof Error) {
30
+ console.error(`❌ Error: Could not update ${configFile}: ${e.message}`);
31
+ }
32
+ else {
33
+ console.error(`❌ Error: An unexpected error occurred while updating ${configFile}.`);
34
+ }
35
+ }
36
+ }
package/esm/main.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":""}
package/esm/main.js ADDED
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env node
2
+ import { cancel, intro, isCancel, multiselect, outro, select, spinner, } from "@clack/prompts";
3
+ import process from "node:process";
4
+ import { getRuntime } from "./helpers/getRuntime.js";
5
+ import { getInstalledPackages } from "./helpers/getInstalledPackages.js";
6
+ import { PACKAGE_OPTIONS } from "./helpers/packageOptions.js";
7
+ import { updateProjectConfig } from "./helpers/updateProjectConfig.js";
8
+ import { ensureGitignore } from "./helpers/ensureGitignore.js";
9
+ import { ensureReadme } from "./helpers/ensureReadme.js";
10
+ import { installPackagesAndFetchDocs } from "./helpers/installPackagesAndFetchDocs.js";
11
+ import { getProjectTasks } from "./helpers/getProjectTasks.js";
12
+ import { createFolderStructure } from "./helpers/createFolderStructure.js";
13
+ import { ensureEnvFile } from "./helpers/ensureEnvFile.js";
14
+ import { ensureAgents } from "./helpers/ensureAgents.js";
15
+ async function main() {
16
+ const runtime = getRuntime();
17
+ console.log();
18
+ intro(`Hi! 👋 (Running on ${runtime})`);
19
+ const installedPackages = getInstalledPackages();
20
+ const options = PACKAGE_OPTIONS.map((opt) => ({
21
+ ...opt,
22
+ label: installedPackages.includes(opt.value)
23
+ ? `${opt.label} \x1b[2m(installed)\x1b[22m`
24
+ : opt.label,
25
+ }));
26
+ const selectedPackages = (await multiselect({
27
+ message: "Which libraries would you like to install?\n\x1b[2m(space to select, arrows to navigate, enter to confirm)\x1b[22m\n",
28
+ options,
29
+ required: false,
30
+ }));
31
+ if (isCancel(selectedPackages)) {
32
+ cancel("Installation cancelled.");
33
+ process.exit(0);
34
+ }
35
+ const alreadyInstalled = selectedPackages.filter((pkg) => installedPackages.includes(pkg));
36
+ const packagesToInstall = [];
37
+ for (const pkg of selectedPackages) {
38
+ if (alreadyInstalled.includes(pkg)) {
39
+ const action = await select({
40
+ message: `${pkg} is already installed. What would you like to do?`,
41
+ options: [
42
+ { value: "skip", label: "Keep existing version" },
43
+ { value: "update", label: "Update to latest" },
44
+ ],
45
+ });
46
+ if (isCancel(action)) {
47
+ cancel("Installation cancelled.");
48
+ process.exit(0);
49
+ }
50
+ if (action === "update") {
51
+ packagesToInstall.push(pkg);
52
+ }
53
+ }
54
+ else {
55
+ packagesToInstall.push(pkg);
56
+ }
57
+ }
58
+ const docsMapping = {};
59
+ const sInstall = spinner();
60
+ sInstall.start("Installing packages and fetching documentation...");
61
+ for (const pkg of packagesToInstall) {
62
+ try {
63
+ const doc = await installPackagesAndFetchDocs([pkg]);
64
+ if (typeof doc === "string") {
65
+ docsMapping[pkg] = doc;
66
+ }
67
+ }
68
+ catch (error) {
69
+ sInstall.stop(`❌ Failed to install ${pkg}.`);
70
+ console.error(error);
71
+ process.exit(1);
72
+ }
73
+ }
74
+ sInstall.stop("✅ Packages installed and documentation fetched.");
75
+ const s = spinner();
76
+ s.start("Creating folder structure...");
77
+ try {
78
+ const sdaFolder = await createFolderStructure(packagesToInstall);
79
+ ensureGitignore();
80
+ await ensureEnvFile();
81
+ updateProjectConfig(getProjectTasks());
82
+ await ensureReadme(runtime);
83
+ await ensureAgents(docsMapping, runtime);
84
+ s.stop(`✅ Folder structure created in ${sdaFolder}/`);
85
+ }
86
+ catch (error) {
87
+ s.stop("❌ Failed to create folder structure.");
88
+ console.error(error);
89
+ process.exit(1);
90
+ }
91
+ outro("You are all set! 🙌");
92
+ }
93
+ main().catch(console.error);
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
package/npm/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/npm/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,8 @@
1
+ import * as dntShim from "./_dnt_2.shims.js";
2
+ export { Deno } from "@deno/shim-deno";
3
+ export declare const dntGlobalThis: Omit<Omit<typeof globalThis, "Deno"> & {
4
+ Deno: typeof dntShim.Deno;
5
+ }, "Deno"> & {
6
+ Deno: typeof dntShim.Deno;
7
+ };
8
+ //# sourceMappingURL=_dnt.shims.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_dnt.shims.d.ts","sourceRoot":"","sources":["../src/_dnt.shims.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAKvC,eAAO,MAAM,aAAa;;;;CAAsD,CAAC"}
@@ -0,0 +1,62 @@
1
+ import * as dntShim from "./_dnt_2.shims.js";
2
+ import { Deno } from "@deno/shim-deno";
3
+ export { Deno } from "@deno/shim-deno";
4
+ const dntGlobals = {
5
+ Deno,
6
+ };
7
+ export const dntGlobalThis = createMergeProxy(dntShim.dntGlobalThis, dntGlobals);
8
+ function createMergeProxy(baseObj, extObj) {
9
+ return new Proxy(baseObj, {
10
+ get(_target, prop, _receiver) {
11
+ if (prop in extObj) {
12
+ return extObj[prop];
13
+ }
14
+ else {
15
+ return baseObj[prop];
16
+ }
17
+ },
18
+ set(_target, prop, value) {
19
+ if (prop in extObj) {
20
+ delete extObj[prop];
21
+ }
22
+ baseObj[prop] = value;
23
+ return true;
24
+ },
25
+ deleteProperty(_target, prop) {
26
+ let success = false;
27
+ if (prop in extObj) {
28
+ delete extObj[prop];
29
+ success = true;
30
+ }
31
+ if (prop in baseObj) {
32
+ delete baseObj[prop];
33
+ success = true;
34
+ }
35
+ return success;
36
+ },
37
+ ownKeys(_target) {
38
+ const baseKeys = Reflect.ownKeys(baseObj);
39
+ const extKeys = Reflect.ownKeys(extObj);
40
+ const extKeysSet = new Set(extKeys);
41
+ return [...baseKeys.filter((k) => !extKeysSet.has(k)), ...extKeys];
42
+ },
43
+ defineProperty(_target, prop, desc) {
44
+ if (prop in extObj) {
45
+ delete extObj[prop];
46
+ }
47
+ Reflect.defineProperty(baseObj, prop, desc);
48
+ return true;
49
+ },
50
+ getOwnPropertyDescriptor(_target, prop) {
51
+ if (prop in extObj) {
52
+ return Reflect.getOwnPropertyDescriptor(extObj, prop);
53
+ }
54
+ else {
55
+ return Reflect.getOwnPropertyDescriptor(baseObj, prop);
56
+ }
57
+ },
58
+ has(_target, prop) {
59
+ return prop in extObj || prop in baseObj;
60
+ },
61
+ });
62
+ }
@@ -0,0 +1,6 @@
1
+ import { Deno } from "@deno/shim-deno";
2
+ export { Deno } from "@deno/shim-deno";
3
+ export declare const dntGlobalThis: Omit<typeof globalThis, "Deno"> & {
4
+ Deno: typeof Deno;
5
+ };
6
+ //# sourceMappingURL=_dnt_2.shims.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_dnt_2.shims.d.ts","sourceRoot":"","sources":["../src/_dnt_2.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,2 @@
1
+ export declare function createFolderStructure(selectedPackages: string[]): Promise<string>;
2
+ //# sourceMappingURL=createFolderStructure.d.ts.map
@@ -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,2 @@
1
+ export declare function ensureAgents(docsMapping: Record<string, string>, runtime: string): Promise<void>;
2
+ //# sourceMappingURL=ensureAgents.d.ts.map
@@ -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,2 @@
1
+ export declare function ensureEnvFile(): Promise<void>;
2
+ //# sourceMappingURL=ensureEnvFile.d.ts.map
@@ -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,2 @@
1
+ export declare function ensureGitignore(): void;
2
+ //# sourceMappingURL=ensureGitignore.d.ts.map
@@ -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,2 @@
1
+ export declare function ensureReadme(runtime: string): Promise<void>;
2
+ //# sourceMappingURL=ensureReadme.d.ts.map
@@ -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"}