@nshiab/setup-data-project 2.0.3 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -28
- package/dist/main.mjs +852 -0
- package/dist/main.mjs.map +1 -0
- package/package.json +29 -18
- package/esm/_dnt.shims.d.ts +0 -2
- package/esm/_dnt.shims.d.ts.map +0 -1
- package/esm/_dnt.shims.js +0 -57
- package/esm/helpers/combinePlotDocs.d.ts +0 -2
- package/esm/helpers/combinePlotDocs.d.ts.map +0 -1
- package/esm/helpers/combinePlotDocs.js +0 -111
- package/esm/helpers/createFolderStructure.d.ts +0 -2
- package/esm/helpers/createFolderStructure.d.ts.map +0 -1
- package/esm/helpers/createFolderStructure.js +0 -40
- package/esm/helpers/ensureAgents.d.ts +0 -3
- package/esm/helpers/ensureAgents.d.ts.map +0 -1
- package/esm/helpers/ensureAgents.js +0 -186
- package/esm/helpers/ensureEnvFile.d.ts +0 -2
- package/esm/helpers/ensureEnvFile.d.ts.map +0 -1
- package/esm/helpers/ensureEnvFile.js +0 -8
- package/esm/helpers/ensureGitignore.d.ts +0 -3
- package/esm/helpers/ensureGitignore.d.ts.map +0 -1
- package/esm/helpers/ensureGitignore.js +0 -24
- package/esm/helpers/ensureManagedSection.d.ts +0 -9
- package/esm/helpers/ensureManagedSection.d.ts.map +0 -1
- package/esm/helpers/ensureManagedSection.js +0 -33
- package/esm/helpers/ensureReadme.d.ts +0 -2
- package/esm/helpers/ensureReadme.d.ts.map +0 -1
- package/esm/helpers/ensureReadme.js +0 -61
- package/esm/helpers/fetchPackageDocs.d.ts +0 -12
- package/esm/helpers/fetchPackageDocs.d.ts.map +0 -1
- package/esm/helpers/fetchPackageDocs.js +0 -75
- package/esm/helpers/fetchPlotDocs.d.ts +0 -5
- package/esm/helpers/fetchPlotDocs.d.ts.map +0 -1
- package/esm/helpers/fetchPlotDocs.js +0 -103
- package/esm/helpers/getInstalledPackageVersions.d.ts +0 -2
- package/esm/helpers/getInstalledPackageVersions.d.ts.map +0 -1
- package/esm/helpers/getInstalledPackageVersions.js +0 -94
- package/esm/helpers/getProjectTasks.d.ts +0 -6
- package/esm/helpers/getProjectTasks.d.ts.map +0 -1
- package/esm/helpers/getProjectTasks.js +0 -17
- package/esm/helpers/getRuntime.d.ts +0 -5
- package/esm/helpers/getRuntime.d.ts.map +0 -1
- package/esm/helpers/getRuntime.js +0 -19
- package/esm/helpers/gitignoreEntries.d.ts +0 -2
- package/esm/helpers/gitignoreEntries.d.ts.map +0 -1
- package/esm/helpers/gitignoreEntries.js +0 -10
- package/esm/helpers/installPackages.d.ts +0 -7
- package/esm/helpers/installPackages.d.ts.map +0 -1
- package/esm/helpers/installPackages.js +0 -49
- package/esm/helpers/packageOptions.d.ts +0 -6
- package/esm/helpers/packageOptions.d.ts.map +0 -1
- package/esm/helpers/packageOptions.js +0 -6
- package/esm/helpers/packageRegistry.d.ts +0 -10
- package/esm/helpers/packageRegistry.d.ts.map +0 -1
- package/esm/helpers/packageRegistry.js +0 -89
- package/esm/helpers/parseArguments.d.ts +0 -7
- package/esm/helpers/parseArguments.d.ts.map +0 -1
- package/esm/helpers/parseArguments.js +0 -30
- package/esm/helpers/plotDocPages.d.ts +0 -2
- package/esm/helpers/plotDocPages.d.ts.map +0 -1
- package/esm/helpers/plotDocPages.js +0 -46
- package/esm/helpers/projectManifest.d.ts +0 -12
- package/esm/helpers/projectManifest.d.ts.map +0 -1
- package/esm/helpers/projectManifest.js +0 -80
- package/esm/helpers/syncPackageDocs.d.ts +0 -3
- package/esm/helpers/syncPackageDocs.d.ts.map +0 -1
- package/esm/helpers/syncPackageDocs.js +0 -50
- package/esm/main.d.ts +0 -3
- package/esm/main.d.ts.map +0 -1
- package/esm/main.js +0 -104
- package/esm/package.json +0 -3
- package/script/_dnt.shims.d.ts +0 -2
- package/script/_dnt.shims.d.ts.map +0 -1
- package/script/_dnt.shims.js +0 -60
- package/script/helpers/combinePlotDocs.d.ts +0 -2
- package/script/helpers/combinePlotDocs.d.ts.map +0 -1
- package/script/helpers/combinePlotDocs.js +0 -114
- package/script/helpers/createFolderStructure.d.ts +0 -2
- package/script/helpers/createFolderStructure.d.ts.map +0 -1
- package/script/helpers/createFolderStructure.js +0 -43
- package/script/helpers/ensureAgents.d.ts +0 -3
- package/script/helpers/ensureAgents.d.ts.map +0 -1
- package/script/helpers/ensureAgents.js +0 -189
- package/script/helpers/ensureEnvFile.d.ts +0 -2
- package/script/helpers/ensureEnvFile.d.ts.map +0 -1
- package/script/helpers/ensureEnvFile.js +0 -11
- package/script/helpers/ensureGitignore.d.ts +0 -3
- package/script/helpers/ensureGitignore.d.ts.map +0 -1
- package/script/helpers/ensureGitignore.js +0 -28
- package/script/helpers/ensureManagedSection.d.ts +0 -9
- package/script/helpers/ensureManagedSection.d.ts.map +0 -1
- package/script/helpers/ensureManagedSection.js +0 -36
- package/script/helpers/ensureReadme.d.ts +0 -2
- package/script/helpers/ensureReadme.d.ts.map +0 -1
- package/script/helpers/ensureReadme.js +0 -64
- package/script/helpers/fetchPackageDocs.d.ts +0 -12
- package/script/helpers/fetchPackageDocs.d.ts.map +0 -1
- package/script/helpers/fetchPackageDocs.js +0 -78
- package/script/helpers/fetchPlotDocs.d.ts +0 -5
- package/script/helpers/fetchPlotDocs.d.ts.map +0 -1
- package/script/helpers/fetchPlotDocs.js +0 -106
- package/script/helpers/getInstalledPackageVersions.d.ts +0 -2
- package/script/helpers/getInstalledPackageVersions.d.ts.map +0 -1
- package/script/helpers/getInstalledPackageVersions.js +0 -97
- package/script/helpers/getProjectTasks.d.ts +0 -6
- package/script/helpers/getProjectTasks.d.ts.map +0 -1
- package/script/helpers/getProjectTasks.js +0 -20
- package/script/helpers/getRuntime.d.ts +0 -5
- package/script/helpers/getRuntime.d.ts.map +0 -1
- package/script/helpers/getRuntime.js +0 -59
- package/script/helpers/gitignoreEntries.d.ts +0 -2
- package/script/helpers/gitignoreEntries.d.ts.map +0 -1
- package/script/helpers/gitignoreEntries.js +0 -13
- package/script/helpers/installPackages.d.ts +0 -7
- package/script/helpers/installPackages.d.ts.map +0 -1
- package/script/helpers/installPackages.js +0 -86
- package/script/helpers/packageOptions.d.ts +0 -6
- package/script/helpers/packageOptions.d.ts.map +0 -1
- package/script/helpers/packageOptions.js +0 -9
- package/script/helpers/packageRegistry.d.ts +0 -10
- package/script/helpers/packageRegistry.d.ts.map +0 -1
- package/script/helpers/packageRegistry.js +0 -93
- package/script/helpers/parseArguments.d.ts +0 -7
- package/script/helpers/parseArguments.d.ts.map +0 -1
- package/script/helpers/parseArguments.js +0 -34
- package/script/helpers/plotDocPages.d.ts +0 -2
- package/script/helpers/plotDocPages.d.ts.map +0 -1
- package/script/helpers/plotDocPages.js +0 -49
- package/script/helpers/projectManifest.d.ts +0 -12
- package/script/helpers/projectManifest.d.ts.map +0 -1
- package/script/helpers/projectManifest.js +0 -84
- package/script/helpers/syncPackageDocs.d.ts +0 -3
- package/script/helpers/syncPackageDocs.d.ts.map +0 -1
- package/script/helpers/syncPackageDocs.js +0 -53
- package/script/main.d.ts +0 -3
- package/script/main.d.ts.map +0 -1
- package/script/main.js +0 -109
- package/script/package.json +0 -3
package/README.md
CHANGED
|
@@ -1,42 +1,90 @@
|
|
|
1
1
|
# setup-data-project
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Set up a TypeScript data analysis project with Node.js or Bun.
|
|
4
|
+
Generated development commands use the selected runtime.
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
The library is maintained by [Nael Shiab](https://naelshiab.com/), computational
|
|
7
|
+
journalist and senior data producer for [CBC News](https://www.cbc.ca/news).
|
|
8
|
+
|
|
9
|
+
> [!TIP]
|
|
10
|
+
> To learn how to use these libraries and more, check out
|
|
11
|
+
> [Code Like a Journalist](https://www.code-like-a-journalist.com/), a free and
|
|
12
|
+
> open-source data analysis and data visualization course in TypeScript.
|
|
9
13
|
|
|
14
|
+
```sh
|
|
10
15
|
# Node
|
|
11
16
|
npx @nshiab/setup-data-project
|
|
12
17
|
|
|
13
18
|
# Bun
|
|
14
|
-
bunx @nshiab/setup-data-project
|
|
19
|
+
bunx --bun @nshiab/setup-data-project
|
|
15
20
|
```
|
|
16
21
|
|
|
17
|
-
|
|
22
|
+
The CLI uses the runtime that launches it. Its executable has a Node shebang,
|
|
23
|
+
so use `bunx --bun` to explicitly run it with Bun.
|
|
24
|
+
|
|
25
|
+
Select libraries interactively, or combine library flags to install without prompts:
|
|
18
26
|
|
|
19
27
|
```sh
|
|
20
|
-
|
|
21
|
-
npx @nshiab/setup-data-project --
|
|
22
|
-
bunx @nshiab/setup-data-project --sda
|
|
28
|
+
npx @nshiab/setup-data-project --sda
|
|
29
|
+
npx @nshiab/setup-data-project --format --geo --dataviz
|
|
30
|
+
bunx --bun @nshiab/setup-data-project --sda-core --ai
|
|
23
31
|
```
|
|
24
32
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
Available library flags:
|
|
34
|
+
|
|
35
|
+
- `--sda`: [simple-data-analysis](https://github.com/nshiab/simple-data-analysis)
|
|
36
|
+
- `--sda-core`: [simple-data-analysis-core](https://github.com/nshiab/simple-data-analysis-core)
|
|
37
|
+
- `--ai`: [journalism-ai](https://github.com/nshiab/journalism-ai)
|
|
38
|
+
- `--google`: [journalism-google](https://github.com/nshiab/journalism-google)
|
|
39
|
+
- `--web-scraping`: [journalism-web-scraping](https://github.com/nshiab/journalism-web-scraping)
|
|
40
|
+
- `--finance`: [journalism-finance](https://github.com/nshiab/journalism-finance)
|
|
41
|
+
- `--format`: [journalism-format](https://github.com/nshiab/journalism-format)
|
|
42
|
+
- `--climate`: [journalism-climate](https://github.com/nshiab/journalism-climate)
|
|
43
|
+
- `--dataviz`: [journalism-dataviz](https://github.com/nshiab/journalism-dataviz)
|
|
44
|
+
- `--geo`: [journalism-geo](https://github.com/nshiab/journalism-geo)
|
|
45
|
+
- `--statistics`: [journalism-statistics](https://github.com/nshiab/journalism-statistics)
|
|
46
|
+
- `--web`: [journalism-web](https://github.com/nshiab/journalism-web)
|
|
47
|
+
- `--extras`: [journalism-extras](https://github.com/nshiab/journalism-extras)
|
|
48
|
+
|
|
49
|
+
Run `--help` for usage.
|
|
50
|
+
Library flags keep existing dependency versions and cannot be combined with `--docs`.
|
|
51
|
+
|
|
52
|
+
The project includes `sda/main.ts`, helpers, tests, data and output folders,
|
|
53
|
+
`.env`, `.gitignore`, and managed sections in README.md and AGENTS.md.
|
|
54
|
+
Existing source files, environment values, scripts, tooling configuration,
|
|
55
|
+
and unmanaged documentation are preserved.
|
|
56
|
+
|
|
57
|
+
Generated projects run TypeScript directly with Node or Bun. Vite+ provides
|
|
58
|
+
formatting, linting, type checking, and Vitest tests. Use `npm run sda`,
|
|
59
|
+
`npm run all-tests`, and `npm run fix` (or `bun run` for Bun projects).
|
|
60
|
+
Existing test commands remain in place.
|
|
61
|
+
New development tools are installed at their latest versions; existing dependencies
|
|
62
|
+
are preserved.
|
|
63
|
+
|
|
64
|
+
VS Code configuration recommends the Vite+ extension pack and enables formatting,
|
|
65
|
+
lint fixes on save, and visual line wrapping. Existing `.vscode/extensions.json`
|
|
66
|
+
and `.vscode/settings.json` files are left unchanged.
|
|
67
|
+
|
|
68
|
+
Documentation is downloaded automatically for the exact installed library
|
|
69
|
+
versions. Each library's release archive preserves its README, license,
|
|
70
|
+
`llms.txt` index, granular API pages, and media under `docs/<library>/`.
|
|
71
|
+
Observable Plot uses its version-matched source documentation or cached reference.
|
|
72
|
+
The generated `docs/` folder is ignored by Git.
|
|
73
|
+
|
|
74
|
+
After cloning or changing dependencies, run `npm run docs` or `bun run docs`.
|
|
75
|
+
You can also refresh documentation directly:
|
|
76
|
+
|
|
77
|
+
```sh
|
|
78
|
+
npx @nshiab/setup-data-project --docs
|
|
79
|
+
bunx --bun @nshiab/setup-data-project --docs
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
`--docs` requires installed dependencies and only refreshes documentation. It
|
|
83
|
+
runs no prompts or installs and leaves project configuration unchanged.
|
|
84
|
+
Failed downloads preserve previous files, warn that they may be stale, and
|
|
85
|
+
exit unsuccessfully. Generated docs scripts pin the setup CLI version that
|
|
86
|
+
created them. Use `--help` for usage.
|
|
87
|
+
|
|
88
|
+
For development, use `npm ci` and `npm run all-tests`.
|
|
89
|
+
`npx vp pack` produces the npm executable. Releases use `npm run patch`,
|
|
90
|
+
`npm run minor`, or `npm run major` from main; GitHub Actions publishes to npm.
|