@tspub-dev/tspub 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +495 -0
  3. package/dist/bin/tspub.d.cts +4 -0
  4. package/dist/bin/tspub.d.ts +3 -0
  5. package/dist/bin/tspub.js +1308 -0
  6. package/dist/chunk-DGUM43GV.js +11 -0
  7. package/dist/chunk-TNGZXD6W.js +9113 -0
  8. package/dist/index.d.cts +70 -0
  9. package/dist/index.d.ts +69 -0
  10. package/dist/index.js +72 -0
  11. package/dist/src/builder/changelog-conventional.d.cts +12 -0
  12. package/dist/src/builder/changelog-conventional.d.ts +11 -0
  13. package/dist/src/builder/changelog.d.cts +4 -0
  14. package/dist/src/builder/changelog.d.ts +3 -0
  15. package/dist/src/builder/cjs-interop.d.cts +4 -0
  16. package/dist/src/builder/cjs-interop.d.ts +3 -0
  17. package/dist/src/builder/dts-bundle.d.cts +19 -0
  18. package/dist/src/builder/dts-bundle.d.ts +18 -0
  19. package/dist/src/builder/dts.d.cts +9 -0
  20. package/dist/src/builder/dts.d.ts +8 -0
  21. package/dist/src/builder/entry-inference.d.cts +4 -0
  22. package/dist/src/builder/entry-inference.d.ts +3 -0
  23. package/dist/src/builder/esbuild-builder.d.cts +49 -0
  24. package/dist/src/builder/esbuild-builder.d.ts +48 -0
  25. package/dist/src/builder/externals.d.cts +18 -0
  26. package/dist/src/builder/externals.d.ts +17 -0
  27. package/dist/src/builder/index.d.cts +52 -0
  28. package/dist/src/builder/index.d.ts +51 -0
  29. package/dist/src/builder/plugins.d.cts +26 -0
  30. package/dist/src/builder/plugins.d.ts +25 -0
  31. package/dist/src/builder/public-dir.d.cts +7 -0
  32. package/dist/src/builder/public-dir.d.ts +6 -0
  33. package/dist/src/builder/shims-plugin.d.cts +4 -0
  34. package/dist/src/builder/shims-plugin.d.ts +3 -0
  35. package/dist/src/builder/size-report.d.cts +12 -0
  36. package/dist/src/builder/size-report.d.ts +11 -0
  37. package/dist/src/changeset/dependent-bumping.d.cts +9 -0
  38. package/dist/src/changeset/dependent-bumping.d.ts +8 -0
  39. package/dist/src/changeset/index.d.cts +9 -0
  40. package/dist/src/changeset/index.d.ts +8 -0
  41. package/dist/src/changeset/parser.d.cts +5 -0
  42. package/dist/src/changeset/parser.d.ts +4 -0
  43. package/dist/src/changeset/snapshot.d.cts +3 -0
  44. package/dist/src/changeset/snapshot.d.ts +2 -0
  45. package/dist/src/changeset/types.d.cts +22 -0
  46. package/dist/src/changeset/types.d.ts +21 -0
  47. package/dist/src/changeset/version.d.cts +23 -0
  48. package/dist/src/changeset/version.d.ts +22 -0
  49. package/dist/src/changeset/writer.d.cts +4 -0
  50. package/dist/src/changeset/writer.d.ts +3 -0
  51. package/dist/src/checker/browser.d.cts +29 -0
  52. package/dist/src/checker/browser.d.ts +28 -0
  53. package/dist/src/checker/formatter.d.cts +11 -0
  54. package/dist/src/checker/formatter.d.ts +10 -0
  55. package/dist/src/checker/framework/context.d.cts +9 -0
  56. package/dist/src/checker/framework/context.d.ts +8 -0
  57. package/dist/src/checker/framework/runner.d.cts +20 -0
  58. package/dist/src/checker/framework/runner.d.ts +19 -0
  59. package/dist/src/checker/framework/types.d.cts +42 -0
  60. package/dist/src/checker/framework/types.d.ts +41 -0
  61. package/dist/src/checker/index.d.cts +25 -0
  62. package/dist/src/checker/index.d.ts +24 -0
  63. package/dist/src/checker/plugins.d.cts +8 -0
  64. package/dist/src/checker/plugins.d.ts +7 -0
  65. package/dist/src/checker/profiles.d.cts +19 -0
  66. package/dist/src/checker/profiles.d.ts +18 -0
  67. package/dist/src/checker/rules/exports/browser-conflict.d.cts +4 -0
  68. package/dist/src/checker/rules/exports/browser-conflict.d.ts +3 -0
  69. package/dist/src/checker/rules/exports/browser-value-conflict.d.cts +4 -0
  70. package/dist/src/checker/rules/exports/browser-value-conflict.d.ts +3 -0
  71. package/dist/src/checker/rules/exports/cjs-default-export.d.cts +4 -0
  72. package/dist/src/checker/rules/exports/cjs-default-export.d.ts +3 -0
  73. package/dist/src/checker/rules/exports/cjs-esmodule-interop.d.cts +4 -0
  74. package/dist/src/checker/rules/exports/cjs-esmodule-interop.d.ts +3 -0
  75. package/dist/src/checker/rules/exports/condition-types.d.cts +4 -0
  76. package/dist/src/checker/rules/exports/condition-types.d.ts +3 -0
  77. package/dist/src/checker/rules/exports/default-last.d.cts +4 -0
  78. package/dist/src/checker/rules/exports/default-last.d.ts +3 -0
  79. package/dist/src/checker/rules/exports/dot-entry.d.cts +4 -0
  80. package/dist/src/checker/rules/exports/dot-entry.d.ts +3 -0
  81. package/dist/src/checker/rules/exports/esm-main-no-exports.d.cts +10 -0
  82. package/dist/src/checker/rules/exports/esm-main-no-exports.d.ts +9 -0
  83. package/dist/src/checker/rules/exports/exports-field.d.cts +4 -0
  84. package/dist/src/checker/rules/exports/exports-field.d.ts +3 -0
  85. package/dist/src/checker/rules/exports/fallback-array.d.cts +4 -0
  86. package/dist/src/checker/rules/exports/fallback-array.d.ts +3 -0
  87. package/dist/src/checker/rules/exports/file-exists.d.cts +4 -0
  88. package/dist/src/checker/rules/exports/file-exists.d.ts +3 -0
  89. package/dist/src/checker/rules/exports/file-not-published.d.cts +4 -0
  90. package/dist/src/checker/rules/exports/file-not-published.d.ts +3 -0
  91. package/dist/src/checker/rules/exports/format-mismatch.d.cts +4 -0
  92. package/dist/src/checker/rules/exports/format-mismatch.d.ts +3 -0
  93. package/dist/src/checker/rules/exports/glob-matched-files.d.cts +4 -0
  94. package/dist/src/checker/rules/exports/glob-matched-files.d.ts +3 -0
  95. package/dist/src/checker/rules/exports/import-condition.d.cts +4 -0
  96. package/dist/src/checker/rules/exports/import-condition.d.ts +3 -0
  97. package/dist/src/checker/rules/exports/imports-field.d.cts +4 -0
  98. package/dist/src/checker/rules/exports/imports-field.d.ts +3 -0
  99. package/dist/src/checker/rules/exports/imports-key-invalid.d.cts +4 -0
  100. package/dist/src/checker/rules/exports/imports-key-invalid.d.ts +3 -0
  101. package/dist/src/checker/rules/exports/jsx-extensions.d.cts +4 -0
  102. package/dist/src/checker/rules/exports/jsx-extensions.d.ts +3 -0
  103. package/dist/src/checker/rules/exports/module-before-require.d.cts +4 -0
  104. package/dist/src/checker/rules/exports/module-before-require.d.ts +3 -0
  105. package/dist/src/checker/rules/exports/module-esm-only.d.cts +4 -0
  106. package/dist/src/checker/rules/exports/module-esm-only.d.ts +3 -0
  107. package/dist/src/checker/rules/exports/module-no-exports.d.cts +10 -0
  108. package/dist/src/checker/rules/exports/module-no-exports.d.ts +9 -0
  109. package/dist/src/checker/rules/exports/no-deprecated-subpath-mapping.d.cts +4 -0
  110. package/dist/src/checker/rules/exports/no-deprecated-subpath-mapping.d.ts +3 -0
  111. package/dist/src/checker/rules/exports/type-module.d.cts +4 -0
  112. package/dist/src/checker/rules/exports/type-module.d.ts +3 -0
  113. package/dist/src/checker/rules/exports/types-first.d.cts +11 -0
  114. package/dist/src/checker/rules/exports/types-first.d.ts +10 -0
  115. package/dist/src/checker/rules/exports/types-format.d.cts +4 -0
  116. package/dist/src/checker/rules/exports/types-format.d.ts +3 -0
  117. package/dist/src/checker/rules/exports/types-not-exported.d.cts +11 -0
  118. package/dist/src/checker/rules/exports/types-not-exported.d.ts +10 -0
  119. package/dist/src/checker/rules/exports/types-order.d.cts +4 -0
  120. package/dist/src/checker/rules/exports/types-order.d.ts +3 -0
  121. package/dist/src/checker/rules/exports/value-invalid.d.cts +4 -0
  122. package/dist/src/checker/rules/exports/value-invalid.d.ts +3 -0
  123. package/dist/src/checker/rules/files/all-files-format.d.cts +4 -0
  124. package/dist/src/checker/rules/files/all-files-format.d.ts +3 -0
  125. package/dist/src/checker/rules/files/bin-executable.d.cts +10 -0
  126. package/dist/src/checker/rules/files/bin-executable.d.ts +9 -0
  127. package/dist/src/checker/rules/files/bin-shebang.d.cts +4 -0
  128. package/dist/src/checker/rules/files/bin-shebang.d.ts +3 -0
  129. package/dist/src/checker/rules/files/duplicate-dep.d.cts +4 -0
  130. package/dist/src/checker/rules/files/duplicate-dep.d.ts +3 -0
  131. package/dist/src/checker/rules/files/files-field.d.cts +4 -0
  132. package/dist/src/checker/rules/files/files-field.d.ts +3 -0
  133. package/dist/src/checker/rules/files/format-validation.d.cts +12 -0
  134. package/dist/src/checker/rules/files/format-validation.d.ts +11 -0
  135. package/dist/src/checker/rules/files/implicit-index-format.d.cts +13 -0
  136. package/dist/src/checker/rules/files/implicit-index-format.d.ts +12 -0
  137. package/dist/src/checker/rules/files/local-dependency.d.cts +4 -0
  138. package/dist/src/checker/rules/files/local-dependency.d.ts +3 -0
  139. package/dist/src/checker/rules/files/prepublish.d.cts +4 -0
  140. package/dist/src/checker/rules/files/prepublish.d.ts +3 -0
  141. package/dist/src/checker/rules/files/sensitive.d.cts +4 -0
  142. package/dist/src/checker/rules/files/sensitive.d.ts +3 -0
  143. package/dist/src/checker/rules/imports/default-last.d.cts +4 -0
  144. package/dist/src/checker/rules/imports/default-last.d.ts +3 -0
  145. package/dist/src/checker/rules/imports/fallback-array.d.cts +4 -0
  146. package/dist/src/checker/rules/imports/fallback-array.d.ts +3 -0
  147. package/dist/src/checker/rules/imports/glob-matched-files.d.cts +4 -0
  148. package/dist/src/checker/rules/imports/glob-matched-files.d.ts +3 -0
  149. package/dist/src/checker/rules/imports/module-before-require.d.cts +4 -0
  150. package/dist/src/checker/rules/imports/module-before-require.d.ts +3 -0
  151. package/dist/src/checker/rules/imports/module-esm-only.d.cts +4 -0
  152. package/dist/src/checker/rules/imports/module-esm-only.d.ts +3 -0
  153. package/dist/src/checker/rules/imports/no-deprecated-subpath.d.cts +4 -0
  154. package/dist/src/checker/rules/imports/no-deprecated-subpath.d.ts +3 -0
  155. package/dist/src/checker/rules/index.d.cts +4 -0
  156. package/dist/src/checker/rules/index.d.ts +3 -0
  157. package/dist/src/checker/rules/metadata/deprecated-fields.d.cts +4 -0
  158. package/dist/src/checker/rules/metadata/deprecated-fields.d.ts +3 -0
  159. package/dist/src/checker/rules/metadata/engines.d.cts +4 -0
  160. package/dist/src/checker/rules/metadata/engines.d.ts +3 -0
  161. package/dist/src/checker/rules/metadata/field-value-type.d.cts +4 -0
  162. package/dist/src/checker/rules/metadata/field-value-type.d.ts +3 -0
  163. package/dist/src/checker/rules/metadata/license-file.d.cts +4 -0
  164. package/dist/src/checker/rules/metadata/license-file.d.ts +3 -0
  165. package/dist/src/checker/rules/metadata/license.d.cts +4 -0
  166. package/dist/src/checker/rules/metadata/license.d.ts +3 -0
  167. package/dist/src/checker/rules/metadata/module-esm.d.cts +4 -0
  168. package/dist/src/checker/rules/metadata/module-esm.d.ts +3 -0
  169. package/dist/src/checker/rules/metadata/peer-dep-conflict.d.cts +4 -0
  170. package/dist/src/checker/rules/metadata/peer-dep-conflict.d.ts +3 -0
  171. package/dist/src/checker/rules/metadata/repository-format.d.cts +13 -0
  172. package/dist/src/checker/rules/metadata/repository-format.d.ts +12 -0
  173. package/dist/src/checker/rules/metadata/repository.d.cts +4 -0
  174. package/dist/src/checker/rules/metadata/repository.d.ts +3 -0
  175. package/dist/src/checker/rules/metadata/side-effects.d.cts +4 -0
  176. package/dist/src/checker/rules/metadata/side-effects.d.ts +3 -0
  177. package/dist/src/checker/rules/metadata/use-exports-browser.d.cts +4 -0
  178. package/dist/src/checker/rules/metadata/use-exports-browser.d.ts +3 -0
  179. package/dist/src/checker/rules/size/package-size.d.cts +4 -0
  180. package/dist/src/checker/rules/size/package-size.d.ts +3 -0
  181. package/dist/src/checker/rules/types/cjs-resolves-esm.d.cts +15 -0
  182. package/dist/src/checker/rules/types/cjs-resolves-esm.d.ts +14 -0
  183. package/dist/src/checker/rules/types/declaration-completeness.d.cts +4 -0
  184. package/dist/src/checker/rules/types/declaration-completeness.d.ts +3 -0
  185. package/dist/src/checker/rules/types/declaration.d.cts +4 -0
  186. package/dist/src/checker/rules/types/declaration.d.ts +3 -0
  187. package/dist/src/checker/rules/types/esm-dynamic-only.d.cts +11 -0
  188. package/dist/src/checker/rules/types/esm-dynamic-only.d.ts +10 -0
  189. package/dist/src/checker/rules/types/false-cjs-esm.d.cts +13 -0
  190. package/dist/src/checker/rules/types/false-cjs-esm.d.ts +12 -0
  191. package/dist/src/checker/rules/types/false-export-default.d.cts +11 -0
  192. package/dist/src/checker/rules/types/false-export-default.d.ts +10 -0
  193. package/dist/src/checker/rules/types/isolated-modules.d.cts +4 -0
  194. package/dist/src/checker/rules/types/isolated-modules.d.ts +3 -0
  195. package/dist/src/checker/rules/types/missing-export-equals.d.cts +11 -0
  196. package/dist/src/checker/rules/types/missing-export-equals.d.ts +10 -0
  197. package/dist/src/checker/rules/types/module-resolution.d.cts +4 -0
  198. package/dist/src/checker/rules/types/module-resolution.d.ts +3 -0
  199. package/dist/src/checker/rules/types/module.d.cts +4 -0
  200. package/dist/src/checker/rules/types/module.d.ts +3 -0
  201. package/dist/src/checker/rules/types/no-any-export.d.cts +4 -0
  202. package/dist/src/checker/rules/types/no-any-export.d.ts +3 -0
  203. package/dist/src/checker/rules/types/resolution.d.cts +4 -0
  204. package/dist/src/checker/rules/types/resolution.d.ts +3 -0
  205. package/dist/src/checker/rules/types/strict.d.cts +4 -0
  206. package/dist/src/checker/rules/types/strict.d.ts +3 -0
  207. package/dist/src/checker/rules/types/tsconfig-exists.d.cts +4 -0
  208. package/dist/src/checker/rules/types/tsconfig-exists.d.ts +3 -0
  209. package/dist/src/checker/rules/utils/exports-traversal.d.cts +12 -0
  210. package/dist/src/checker/rules/utils/exports-traversal.d.ts +11 -0
  211. package/dist/src/checker/rules/utils/format-detection.d.cts +8 -0
  212. package/dist/src/checker/rules/utils/format-detection.d.ts +7 -0
  213. package/dist/src/checker/rules/utils/imports-traversal.d.cts +10 -0
  214. package/dist/src/checker/rules/utils/imports-traversal.d.ts +9 -0
  215. package/dist/src/cli/build.d.cts +6 -0
  216. package/dist/src/cli/build.d.ts +5 -0
  217. package/dist/src/cli/changeset.d.cts +4 -0
  218. package/dist/src/cli/changeset.d.ts +3 -0
  219. package/dist/src/cli/check.d.cts +4 -0
  220. package/dist/src/cli/check.d.ts +3 -0
  221. package/dist/src/cli/doctor.d.cts +4 -0
  222. package/dist/src/cli/doctor.d.ts +3 -0
  223. package/dist/src/cli/index.d.cts +5 -0
  224. package/dist/src/cli/index.d.ts +4 -0
  225. package/dist/src/cli/init.d.cts +4 -0
  226. package/dist/src/cli/init.d.ts +3 -0
  227. package/dist/src/cli/publish.d.cts +7 -0
  228. package/dist/src/cli/publish.d.ts +6 -0
  229. package/dist/src/cli/scan.d.cts +4 -0
  230. package/dist/src/cli/scan.d.ts +3 -0
  231. package/dist/src/cli/test-types.d.cts +4 -0
  232. package/dist/src/cli/test-types.d.ts +3 -0
  233. package/dist/src/config/index.d.cts +4 -0
  234. package/dist/src/config/index.d.ts +3 -0
  235. package/dist/src/config/loader.d.cts +6 -0
  236. package/dist/src/config/loader.d.ts +5 -0
  237. package/dist/src/config/types.d.cts +109 -0
  238. package/dist/src/config/types.d.ts +108 -0
  239. package/dist/src/doctor/environment.d.cts +13 -0
  240. package/dist/src/doctor/environment.d.ts +12 -0
  241. package/dist/src/doctor/formatter.d.cts +13 -0
  242. package/dist/src/doctor/formatter.d.ts +12 -0
  243. package/dist/src/doctor/framework/context.d.cts +5 -0
  244. package/dist/src/doctor/framework/context.d.ts +4 -0
  245. package/dist/src/doctor/framework/runner.d.cts +18 -0
  246. package/dist/src/doctor/framework/runner.d.ts +17 -0
  247. package/dist/src/doctor/framework/types.d.cts +40 -0
  248. package/dist/src/doctor/framework/types.d.ts +39 -0
  249. package/dist/src/doctor/index.d.cts +23 -0
  250. package/dist/src/doctor/index.d.ts +22 -0
  251. package/dist/src/doctor/plugins.d.cts +8 -0
  252. package/dist/src/doctor/plugins.d.ts +7 -0
  253. package/dist/src/doctor/profiles.d.cts +3 -0
  254. package/dist/src/doctor/profiles.d.ts +2 -0
  255. package/dist/src/doctor/resolution.d.cts +8 -0
  256. package/dist/src/doctor/resolution.d.ts +7 -0
  257. package/dist/src/doctor/rules/build.d.cts +6 -0
  258. package/dist/src/doctor/rules/build.d.ts +5 -0
  259. package/dist/src/doctor/rules/dependencies.d.cts +7 -0
  260. package/dist/src/doctor/rules/dependencies.d.ts +6 -0
  261. package/dist/src/doctor/rules/environment.d.cts +10 -0
  262. package/dist/src/doctor/rules/environment.d.ts +9 -0
  263. package/dist/src/doctor/rules/index.d.cts +4 -0
  264. package/dist/src/doctor/rules/index.d.ts +3 -0
  265. package/dist/src/doctor/rules/typescript.d.cts +9 -0
  266. package/dist/src/doctor/rules/typescript.d.ts +8 -0
  267. package/dist/src/publisher/framework/types.d.cts +27 -0
  268. package/dist/src/publisher/framework/types.d.ts +26 -0
  269. package/dist/src/publisher/git.d.cts +22 -0
  270. package/dist/src/publisher/git.d.ts +21 -0
  271. package/dist/src/publisher/github.d.cts +26 -0
  272. package/dist/src/publisher/github.d.ts +25 -0
  273. package/dist/src/publisher/hooks.d.cts +22 -0
  274. package/dist/src/publisher/hooks.d.ts +21 -0
  275. package/dist/src/publisher/index.d.cts +13 -0
  276. package/dist/src/publisher/index.d.ts +12 -0
  277. package/dist/src/publisher/npm.d.cts +14 -0
  278. package/dist/src/publisher/npm.d.ts +13 -0
  279. package/dist/src/publisher/prereqs/branch.d.cts +4 -0
  280. package/dist/src/publisher/prereqs/branch.d.ts +3 -0
  281. package/dist/src/publisher/prereqs/checker.d.cts +4 -0
  282. package/dist/src/publisher/prereqs/checker.d.ts +3 -0
  283. package/dist/src/publisher/prereqs/dirty-tree.d.cts +4 -0
  284. package/dist/src/publisher/prereqs/dirty-tree.d.ts +3 -0
  285. package/dist/src/publisher/prereqs/index.d.cts +4 -0
  286. package/dist/src/publisher/prereqs/index.d.ts +3 -0
  287. package/dist/src/publisher/prereqs/registry.d.cts +5 -0
  288. package/dist/src/publisher/prereqs/registry.d.ts +4 -0
  289. package/dist/src/publisher/publish.d.cts +24 -0
  290. package/dist/src/publisher/publish.d.ts +23 -0
  291. package/dist/src/publisher/types.d.cts +28 -0
  292. package/dist/src/publisher/types.d.ts +27 -0
  293. package/dist/src/publisher/version-bump.d.cts +12 -0
  294. package/dist/src/publisher/version-bump.d.ts +11 -0
  295. package/dist/src/publisher/version-from-commits.d.cts +7 -0
  296. package/dist/src/publisher/version-from-commits.d.ts +6 -0
  297. package/dist/src/scaffold/index.d.cts +15 -0
  298. package/dist/src/scaffold/index.d.ts +14 -0
  299. package/dist/src/scaffold/prompts.d.cts +11 -0
  300. package/dist/src/scaffold/prompts.d.ts +10 -0
  301. package/dist/src/scaffold/templates/changelog.d.cts +3 -0
  302. package/dist/src/scaffold/templates/changelog.d.ts +2 -0
  303. package/dist/src/scaffold/templates/ci.yml.d.cts +4 -0
  304. package/dist/src/scaffold/templates/ci.yml.d.ts +3 -0
  305. package/dist/src/scaffold/templates/gitignore.d.cts +3 -0
  306. package/dist/src/scaffold/templates/gitignore.d.ts +2 -0
  307. package/dist/src/scaffold/templates/index.ts.d.cts +3 -0
  308. package/dist/src/scaffold/templates/index.ts.d.ts +2 -0
  309. package/dist/src/scaffold/templates/license.d.cts +4 -0
  310. package/dist/src/scaffold/templates/license.d.ts +3 -0
  311. package/dist/src/scaffold/templates/npmignore.d.cts +3 -0
  312. package/dist/src/scaffold/templates/npmignore.d.ts +2 -0
  313. package/dist/src/scaffold/templates/package.json.d.cts +4 -0
  314. package/dist/src/scaffold/templates/package.json.d.ts +3 -0
  315. package/dist/src/scaffold/templates/readme.d.cts +4 -0
  316. package/dist/src/scaffold/templates/readme.d.ts +3 -0
  317. package/dist/src/scaffold/templates/test.ts.d.cts +4 -0
  318. package/dist/src/scaffold/templates/test.ts.d.ts +3 -0
  319. package/dist/src/scaffold/templates/tsconfig.json.d.cts +4 -0
  320. package/dist/src/scaffold/templates/tsconfig.json.d.ts +3 -0
  321. package/dist/src/scanner/clone.d.cts +9 -0
  322. package/dist/src/scanner/clone.d.ts +8 -0
  323. package/dist/src/scanner/github.d.cts +16 -0
  324. package/dist/src/scanner/github.d.ts +15 -0
  325. package/dist/src/scanner/index.d.cts +45 -0
  326. package/dist/src/scanner/index.d.ts +44 -0
  327. package/dist/src/scanner/profiles.d.cts +4 -0
  328. package/dist/src/scanner/profiles.d.ts +3 -0
  329. package/dist/src/scanner/report.d.cts +18 -0
  330. package/dist/src/scanner/report.d.ts +17 -0
  331. package/dist/src/shared/logger.d.cts +15 -0
  332. package/dist/src/shared/logger.d.ts +14 -0
  333. package/dist/src/shared/package-json.d.cts +29 -0
  334. package/dist/src/shared/package-json.d.ts +28 -0
  335. package/dist/src/shared/resolve.d.cts +3 -0
  336. package/dist/src/shared/resolve.d.ts +2 -0
  337. package/dist/src/shared/strip-json-comments.d.cts +8 -0
  338. package/dist/src/shared/strip-json-comments.d.ts +7 -0
  339. package/dist/src/type-tester/index.d.cts +17 -0
  340. package/dist/src/type-tester/index.d.ts +16 -0
  341. package/dist/src/workspace/index.d.cts +22 -0
  342. package/dist/src/workspace/index.d.ts +21 -0
  343. package/dist/tsconfig.tsbuildinfo +1 -0
  344. package/dist/type-tester/assertions.d.cts +51 -0
  345. package/dist/type-tester/assertions.d.ts +50 -0
  346. package/dist/type-tester/assertions.js +21 -0
  347. package/package.json +90 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026
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,495 @@
1
+ <div align="center">
2
+
3
+ <br>
4
+
5
+ <picture>
6
+ <source media="(prefers-color-scheme: dark)" srcset="docs/terminal.svg">
7
+ <source media="(prefers-color-scheme: light)" srcset="docs/terminal.svg">
8
+ <img alt="tspub terminal demo" src="docs/terminal.svg" width="600">
9
+ </picture>
10
+
11
+ <br>
12
+ <br>
13
+
14
+ # tspub
15
+
16
+ **Stop. Publishing. Broken. Packages.**
17
+
18
+ <br>
19
+
20
+ [![npm](https://img.shields.io/npm/v/tspub?style=flat-square&color=cc3534)](https://www.npmjs.com/package/tspub)
21
+ [![downloads](https://img.shields.io/npm/dm/tspub?style=flat-square)](https://www.npmjs.com/package/tspub)
22
+ [![tests](https://img.shields.io/github/actions/workflow/status/tspub/tspub/ci.yml?style=flat-square&label=tests)](https://github.com/tspub/tspub/actions)
23
+ [![coverage](https://img.shields.io/badge/coverage-88%25-brightgreen?style=flat-square)](https://github.com/tspub/tspub)
24
+ [![license](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE)
25
+ [![docs](https://img.shields.io/badge/docs-tspub.dev-blueviolet?style=flat-square)](https://tspub.dev)
26
+
27
+ </div>
28
+
29
+ <br>
30
+
31
+ ---
32
+
33
+ <br>
34
+
35
+ <table>
36
+ <tr>
37
+ <td width="60%">
38
+
39
+ ### The scene
40
+
41
+ It's 6 PM on a Friday. You've just shipped v2.0.0 of your library.
42
+
43
+ You feel good. You grab your coffee. You check Twitter.
44
+
45
+ <br>
46
+
47
+ **@frustrated_dev:** *"Just updated to v2.0.0 and now I'm getting `Cannot use import statement outside a module`. Anyone else?"*
48
+
49
+ **@another_dev:** *"Same. Also my types aren't working anymore."*
50
+
51
+ **@your_biggest_user:** *"Is this package abandoned? v2 is completely broken."*
52
+
53
+ <br>
54
+
55
+ Your stomach drops.
56
+
57
+ </td>
58
+ <td width="40%" align="center">
59
+
60
+ <br>
61
+
62
+ ```
63
+ npm publish
64
+ ```
65
+
66
+
67
+
68
+ ```
69
+ 🔥🔥🔥
70
+ ```
71
+
72
+
73
+
74
+ ```
75
+ npm publish (patch)
76
+ npm publish (patch)
77
+ npm publish (patch)
78
+ ```
79
+
80
+ <br>
81
+
82
+ </td>
83
+ </tr>
84
+ </table>
85
+
86
+ <br>
87
+
88
+ ---
89
+
90
+ <br>
91
+
92
+ ### What if you could know before they do?
93
+
94
+ ```bash
95
+ npx tspub check
96
+ ```
97
+
98
+ ```
99
+ exports/types-order "types" should be first in conditions
100
+ exports/file-exists ./dist/index.js doesn't exist
101
+ types/false-esm types say ESM, but it's actually CJS
102
+ metadata/license missing license field
103
+
104
+ 4 problems found (3 auto-fixable)
105
+ ```
106
+
107
+ ```bash
108
+ npx tspub check --fix
109
+ ```
110
+
111
+ ```
112
+ ✓ Fixed 3 problems
113
+ ⚠ 1 requires manual fix (types/false-esm)
114
+
115
+ Your package is ready.
116
+ ```
117
+
118
+ **That's tspub.** One command that catches the 70 ways your package can break.
119
+
120
+ <br>
121
+
122
+ ---
123
+
124
+ <br>
125
+
126
+ <div align="center">
127
+
128
+ ## The full picture
129
+
130
+ </div>
131
+
132
+ <br>
133
+
134
+ <table>
135
+ <tr>
136
+ <td align="center" width="33%">
137
+
138
+ **70 rules**
139
+
140
+ Covers publint.
141
+ Covers attw.
142
+ Plus our own checks.
143
+
144
+ </td>
145
+ <td align="center" width="33%">
146
+
147
+ **Auto-fix**
148
+
149
+ Most problems are one
150
+ config tweak away.
151
+ We just do it for you.
152
+
153
+ </td>
154
+ <td align="center" width="33%">
155
+
156
+ **One tool**
157
+
158
+ Build. Check. Publish.
159
+ No more 5-tool dance.
160
+ No more glue scripts.
161
+
162
+ </td>
163
+ </tr>
164
+ </table>
165
+
166
+ <br>
167
+
168
+ <div align="center">
169
+
170
+ | You currently use | Just use |
171
+ |:--|:--|
172
+ | tsup + publint + arethetypeswrong + np + changesets | `tspub` |
173
+
174
+ </div>
175
+
176
+ <br>
177
+
178
+ ---
179
+
180
+ <br>
181
+
182
+ ## The commands
183
+
184
+ <br>
185
+
186
+ <details open>
187
+ <summary><b>tspub check</b> — Find what's broken</summary>
188
+
189
+ <br>
190
+
191
+ ```bash
192
+ tspub check # find problems
193
+ tspub check --fix # fix the safe ones
194
+ tspub check --fix --unsafe # fix everything
195
+ tspub check --list-rules # see all 70 rules
196
+ ```
197
+
198
+ **What it catches:**
199
+
200
+ | | |
201
+ |:--|:--|
202
+ | **exports** (28 rules) | Types not first, missing files, ESM/CJS issues, condition ordering |
203
+ | **imports** (6 rules) | Import map validation, resolution checks |
204
+ | **types** (14 rules) | False ESM/CJS, resolution failures across node10/16/bundler |
205
+ | **files** (10 rules) | .env leaked, wrong shebang, format inconsistencies |
206
+ | **metadata** (11 rules) | Missing license, bad engines, deprecated fields |
207
+ | **size** (1 rule) | Package too big |
208
+
209
+ <br>
210
+
211
+ </details>
212
+
213
+ <details>
214
+ <summary><b>tspub build</b> — Bundle it properly</summary>
215
+
216
+ <br>
217
+
218
+ ```bash
219
+ tspub build # ESM + types
220
+ tspub build --format esm,cjs # dual
221
+ tspub build --dts-bundle # single .d.ts file
222
+ tspub build --minify # production
223
+ tspub build --watch # dev mode
224
+ ```
225
+
226
+ - Powered by esbuild — tspub builds itself
227
+ - Infers entries from your package.json
228
+ - CJS interop that actually works (no `.default` nonsense)
229
+ - Size budgets — build fails if too big
230
+
231
+ <br>
232
+
233
+ </details>
234
+
235
+ <details>
236
+ <summary><b>tspub publish</b> — Ship with a safety net</summary>
237
+
238
+ <br>
239
+
240
+ ```bash
241
+ tspub publish patch # bump + ship
242
+ tspub publish minor --dry-run # preview first
243
+ tspub publish --prerelease beta
244
+ tspub publish --provenance # npm attestation
245
+ ```
246
+
247
+ **What happens:**
248
+
249
+ ```
250
+ ┌─────────┐ ┌───────┐ ┌───────┐ ┌──────┐ ┌─────────┐
251
+ │ 5 Gates │ → │ Build │ → │ Check │ → │ Bump │ → │ Publish │
252
+ └─────────┘ └───────┘ └───────┘ └──────┘ └─────────┘
253
+ │ │
254
+ ↓ ↓
255
+ STOP if ROLLBACK if
256
+ not ready npm fails
257
+ ```
258
+
259
+ The 5 gates: clean git, right branch, npm reachable, logged in, check passes.
260
+
261
+ If npm publish fails → git tag deleted, version reverted. No half-broken releases.
262
+
263
+ <br>
264
+
265
+ </details>
266
+
267
+ <details>
268
+ <summary><b>tspub doctor</b> — Debug the weird stuff</summary>
269
+
270
+ <br>
271
+
272
+ ```bash
273
+ tspub doctor # full scan
274
+ tspub doctor --fix # fix what's fixable
275
+ ```
276
+
277
+ ```
278
+ environment/node-version ✓ v20.10.0 (matches engines)
279
+ environment/lockfiles ✗ found package-lock.json AND yarn.lock
280
+ typescript/strict ✗ strict mode not enabled
281
+ typescript/declaration ✗ declaration not enabled
282
+ build/output-fresh ✗ dist/ older than src/
283
+ dependencies/duplicates ✗ react in deps AND devDeps
284
+ ```
285
+
286
+ <br>
287
+
288
+ </details>
289
+
290
+ <details>
291
+ <summary><b>tspub scan</b> — Audit any repo</summary>
292
+
293
+ <br>
294
+
295
+ ```bash
296
+ tspub scan https://github.com/someone/thing
297
+ tspub scan --top 20 # top 20 TS repos on GitHub
298
+ tspub scan --top 50 --concurrency 5
299
+ ```
300
+
301
+ Great for auditing your dependencies before you `npm install` them.
302
+
303
+ <br>
304
+
305
+ </details>
306
+
307
+ <details>
308
+ <summary><b>tspub init</b> — Start fresh</summary>
309
+
310
+ <br>
311
+
312
+ ```bash
313
+ tspub init my-package
314
+ tspub init my-package --cjs # include CommonJS
315
+ tspub init my-package --react # React + JSX
316
+ ```
317
+
318
+ <br>
319
+
320
+ </details>
321
+
322
+ <br>
323
+
324
+ ---
325
+
326
+ <br>
327
+
328
+ ## Install
329
+
330
+ ```bash
331
+ npm i -D tspub
332
+ ```
333
+
334
+ Or just `npx tspub check` — no install needed.
335
+
336
+ <br>
337
+
338
+ ---
339
+
340
+ <br>
341
+
342
+ ## Config
343
+
344
+ Zero config works. But if you want control:
345
+
346
+ ```ts
347
+ // tspub.config.ts
348
+ export default {
349
+ build: {
350
+ formats: ["esm", "cjs"],
351
+ entry: "src/index.ts",
352
+ sizeLimits: { "dist/index.js": "50kb" },
353
+ },
354
+ check: {
355
+ severityOverrides: {
356
+ "exports/types-order": "off", // don't care about this one
357
+ },
358
+ },
359
+ publish: {
360
+ access: "public",
361
+ branch: ["main"],
362
+ },
363
+ };
364
+ ```
365
+
366
+ <br>
367
+
368
+ ---
369
+
370
+ <br>
371
+
372
+ ## Plugins
373
+
374
+ Make your own rules:
375
+
376
+ ```js
377
+ export const rules = [{
378
+ meta: { id: "custom/no-barrel-files", fixable: false },
379
+ check(ctx) {
380
+ // your logic here
381
+ },
382
+ }];
383
+ ```
384
+
385
+ ```ts
386
+ // tspub.config.ts
387
+ export default {
388
+ check: { plugins: ["./my-rules.js"] },
389
+ };
390
+ ```
391
+
392
+ <br>
393
+
394
+ ---
395
+
396
+ <br>
397
+
398
+ ## Monorepos
399
+
400
+ It just works.
401
+
402
+ ```bash
403
+ tspub build --filter "@myorg/*"
404
+ tspub check --filter "packages/core"
405
+ tspub publish --filter "!docs" # everything except docs
406
+ ```
407
+
408
+ pnpm, yarn, npm workspaces — all supported.
409
+
410
+ <br>
411
+
412
+ ---
413
+
414
+ <br>
415
+
416
+ ## API
417
+
418
+ ```ts
419
+ import { check, build, doctor, scan } from "tspub";
420
+
421
+ await check({ dir: ".", fix: true });
422
+ await build({ formats: ["esm", "cjs"] });
423
+ await doctor({ dir: "." });
424
+ await scan({ url: "https://github.com/user/repo" });
425
+ ```
426
+
427
+ <br>
428
+
429
+ ---
430
+
431
+ <br>
432
+
433
+ ## FAQ
434
+
435
+ <details>
436
+ <summary><b>How is this different from publint?</b></summary>
437
+
438
+ publint has 40 rules focused on exports and file formats. tspub has 70 rules covering exports, imports, types, files, metadata, and size. We check everything publint checks, plus type resolution (like attw), plus tsconfig validation, size budgets, and more. And we can auto-fix.
439
+
440
+ </details>
441
+
442
+ <details>
443
+ <summary><b>How is this different from arethetypeswrong?</b></summary>
444
+
445
+ attw only checks types. We check types + exports + files + metadata + size. And we can auto-fix.
446
+
447
+ </details>
448
+
449
+ <details>
450
+ <summary><b>Does this replace tsup/unbuild?</b></summary>
451
+
452
+ Yes. `tspub build` handles ESM, CJS, IIFE, DTS bundling, sourcemaps, minification, and watch mode.
453
+
454
+ </details>
455
+
456
+ <details>
457
+ <summary><b>Does this work with monorepos?</b></summary>
458
+
459
+ Yes. All commands accept `--filter` and process packages in topological order.
460
+
461
+ </details>
462
+
463
+ <br>
464
+
465
+ ---
466
+
467
+ <br>
468
+
469
+ ## Requirements
470
+
471
+ Node 18+ · TypeScript 5+ recommended
472
+
473
+ <br>
474
+
475
+ ---
476
+
477
+ <br>
478
+
479
+ <div align="center">
480
+
481
+ Made for the mass-publishers. The Friday deployers. The "it worked on my machine" crowd.
482
+
483
+ We've all been there. Now we don't have to go back.
484
+
485
+ <br>
486
+
487
+ [Docs](https://tspub.dev) · [Playground](https://tspub.dev/playground) · [GitHub](https://github.com/tspub/tspub) · [Issues](https://github.com/tspub/tspub/issues) · [npm](https://npmjs.com/package/tspub)
488
+
489
+ <br>
490
+
491
+ <sub>If this saved your Friday, consider a ⭐</sub>
492
+
493
+ </div>
494
+
495
+ <br>
@@ -0,0 +1,4 @@
1
+ // Auto-generated CJS declaration from tspub.d.ts
2
+ #!/usr/bin/env node
3
+ export {};
4
+ //# sourceMappingURL=tspub.d.ts.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=tspub.d.ts.map