create-storm-workspace 1.60.3 β†’ 1.61.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ ## 1.61.0 (2024-04-13)
2
+
3
+
4
+ ### πŸš€ Features
5
+
6
+ - **config-tools:** No longer require `config` in storm console write functions ([ad8c6511](https://github.com/storm-software/storm-ops/commit/ad8c6511))
7
+
8
+
9
+ ### ❀️ Thank You
10
+
11
+ - Patrick Sullivan
12
+
13
+ ## 1.60.4 (2024-04-08)
14
+
15
+
16
+ ### 🩹 Fixes
17
+
18
+ - **build-tools:** Resolved issue with module types used in build ([50a368d3](https://github.com/storm-software/storm-ops/commit/50a368d3))
19
+
20
+
21
+ ### ❀️ Thank You
22
+
23
+ - Patrick Sullivan
24
+
1
25
  ## 1.60.3 (2024-04-08)
2
26
 
3
27
 
package/README.md CHANGED
@@ -3,11 +3,13 @@
3
3
  <!-- markdownlint-disable -->
4
4
 
5
5
 
6
- <div align="center"><img src="https://pub-761b436209f44a4d886487c917806c08.r2.dev/storm-banner.gif" width="100%" altText="Storm Software" /></div>
6
+ <div align="center"><img src="https://pub-761b436209f44a4d886487c917806c08.r2.dev/storm-banner.gif" width="100%" alt="Storm Software" /></div>
7
7
  <br />
8
8
 
9
9
  <div align="center">
10
+ <b>
10
11
  <a href="https://stormsoftware.com" target="_blank">Website</a> | <a href="https://stormsoftware.com/contact" target="_blank">Contact</a> | <a href="https://github.com/storm-software/storm-ops" target="_blank">Repository</a> | <a href="https://stormstack.github.io/stormstack/" target="_blank">Documentation</a> | <a href="https://github.com/storm-software/storm-ops/issues/new?assignees=&labels=bug&template=bug-report.yml&title=Bug Report%3A+">Report a Bug</a> | <a href="https://github.com/storm-software/storm-ops/issues/new?assignees=&labels=enhancement&template=feature-request.yml&title=Feature Request%3A+">Request a Feature</a> | <a href="https://github.com/storm-software/storm-ops/issues/new?assignees=&labels=documentation&template=documentation.yml&title=Documentation Request%3A+">Request Documentation</a> | <a href="https://github.com/storm-software/storm-ops/discussions">Ask a Question</a>
12
+ </b>
11
13
  </div>
12
14
 
13
15
  <br />
@@ -16,7 +18,7 @@ This package is part of the <b>⚑Storm-Ops</b> monorepo. The Storm-Ops packages
16
18
 
17
19
  <h3 align="center">πŸ’» Visit <a href="https://stormsoftware.com" target="_blank">stormsoftware.com</a> to stay up to date with this developer</h3><br />
18
20
 
19
- [![Version](https://img.shields.io/badge/version-1.60.2-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;
21
+ [![Version](https://img.shields.io/badge/version-1.60.4-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;
20
22
  [![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with docusaurus](https://img.shields.io/badge/documented_with-docusaurus-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://docusaurus.io/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
21
23
 
22
24
  > [!IMPORTANT]
@@ -84,6 +86,9 @@ Run `nx test create-storm-workspace` to execute the unit tests via [Jest](https:
84
86
 
85
87
  Storm workspaces are built using <a href="https://nx.dev/" target="_blank">Nx</a>, a set of extensible dev tools for monorepos, which helps you develop like Google, Facebook, and Microsoft. Building on top of Nx, the Open System provides a set of tools and patterns that help you scale your monorepo to many teams while keeping the codebase maintainable.
86
88
 
89
+ <div align="right">[ <a href="#table-of-contents">Back to top β–²</a> ]</div>
90
+ <br />
91
+
87
92
  ## Roadmap
88
93
 
89
94
  See the [open issues](https://github.com/storm-software/storm-ops/issues) for a list of proposed features (and known issues).
@@ -92,6 +97,9 @@ See the [open issues](https://github.com/storm-software/storm-ops/issues) for a
92
97
  - [Top Bugs](https://github.com/storm-software/storm-ops/issues?q=is%3Aissue+is%3Aopen+label%3Abug+sort%3Areactions-%2B1-desc) (Add your votes using the πŸ‘ reaction)
93
98
  - [Newest Bugs](https://github.com/storm-software/storm-ops/issues?q=is%3Aopen+is%3Aissue+label%3Abug)
94
99
 
100
+ <div align="right">[ <a href="#table-of-contents">Back to top β–²</a> ]</div>
101
+ <br />
102
+
95
103
  ## Support
96
104
 
97
105
  Reach out to the maintainer at one of the following places:
@@ -100,16 +108,25 @@ Reach out to the maintainer at one of the following places:
100
108
  - [GitHub discussions](https://github.com/storm-software/storm-ops/discussions)
101
109
  - <support@stormsoftware.com>
102
110
 
111
+ <div align="right">[ <a href="#table-of-contents">Back to top β–²</a> ]</div>
112
+ <br />
113
+
103
114
  ## License
104
115
 
105
116
  This project is licensed under the **Apache License 2.0**. Feel free to edit and distribute this template as you like.
106
117
 
107
118
  See [LICENSE](LICENSE) for more information.
108
119
 
120
+ <div align="right">[ <a href="#table-of-contents">Back to top β–²</a> ]</div>
121
+ <br />
122
+
109
123
  ## Changelog
110
124
 
111
125
  This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Every release, along with the migration instructions, is documented in the [CHANGELOG](CHANGELOG.md) file
112
126
 
127
+ <div align="right">[ <a href="#table-of-contents">Back to top β–²</a> ]</div>
128
+ <br />
129
+
113
130
  ## Contributing
114
131
 
115
132
  First off, thanks for taking the time to contribute! Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are **greatly appreciated**.
@@ -125,6 +142,9 @@ Please adhere to this project's [code of conduct](.github/CODE_OF_CONDUCT.md).
125
142
 
126
143
  You can use [markdownlint-cli](https://github.com/storm-software/storm-ops/markdownlint-cli) to check for common markdown style inconsistency.
127
144
 
145
+ <div align="right">[ <a href="#table-of-contents">Back to top β–²</a> ]</div>
146
+ <br />
147
+
128
148
  ## Contributors
129
149
 
130
150
  Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
@@ -142,7 +162,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
142
162
  <tfoot>
143
163
  <tr>
144
164
  <td align="center" size="13px" colspan="7">
145
- <img src="https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg">
165
+ <img src="https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg" alt="All Contributors">
146
166
  <a href="https://all-contributors.js.org/docs/en/bot/usage">Add your contributions</a>
147
167
  </img>
148
168
  </td>
@@ -154,22 +174,38 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
154
174
 
155
175
  This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
156
176
 
177
+ <div align="right">[ <a href="#table-of-contents">Back to top β–²</a> ]</div>
157
178
  <br />
179
+
180
+ <hr />
158
181
  <br />
182
+
159
183
  <div align="center">
160
- <img src="https://pub-e71cff0f90204755bc910518d63cacf8.r2.dev/logo-opengraph.gif" width="100%"/>
184
+ <img src="https://pub-761b436209f44a4d886487c917806c08.r2.dev/logo-banner.png" width="100%" alt="Storm Software" />
161
185
  </div>
162
186
  <br />
163
187
 
164
188
  <div align="center">
165
- <a href="https://www.patsullivan.org" target="_blank">Website</a> | <a href="https://www.patsullivan.org/contact" target="_blank">Contact</a> | <a href="https://linkedin.com/in/patrick-sullivan-865526b0" target="_blank">LinkedIn</a> | <a href="https://medium.com/@pat.joseph.sullivan" target="_blank">Medium</a> | <a href="https://github.com/sullivanpj" target="_blank">GitHub</a> | <a href="https://keybase.io/sullivanp" target="_blank">OpenPGP Key</a>
189
+ <a href="https://stormsoftware.com" target="_blank">Website</a> | <a href="https://stormsoftware.com/contact" target="_blank">Contact</a> | <a href="https://linkedin.com/in/patrick-sullivan-865526b0" target="_blank">LinkedIn</a> | <a href="https://medium.com/@pat.joseph.sullivan" target="_blank">Medium</a> | <a href="https://github.com/storm-software" target="_blank">GitHub</a> | <a href="https://keybase.io/sullivanp" target="_blank">OpenPGP Key</a>
166
190
  </div>
167
191
 
168
192
  <div align="center">
169
- <p><b>Fingerprint:</b> 1BD2 7192 7770 2549 F4C9 F238 E6AD C420 DA5C 4C2D</p>
193
+ <b>Fingerprint:</b> 1BD2 7192 7770 2549 F4C9 F238 E6AD C420 DA5C 4C2D
170
194
  </div>
195
+ <br />
196
+
197
+ Storm Software is an open source software development organization and creator of Acidic, StormStack and StormCloud.
198
+
199
+ Our mission is to make software development more accessible. Our ideal future is one where anyone can create software without years of prior development experience serving as a barrier to entry. We hope to achieve this via LLMs, Generative AI, and intuitive, high-level data modeling/programming languages.
171
200
 
172
- <h3 align="center">πŸ’» Visit <a href="https://www.patsullivan.org" target="_blank">patsullivan.org</a> to stay up to date with this developer</h3><br /><br />
201
+ If this sounds interesting, and you would like to help us in creating the next generation of development tools, please reach out on our website!
202
+
203
+ <br />
204
+ <h3 align="center">πŸ’» Visit <a href="https://stormsoftware.com" target="_blank">stormsoftware.com</a> to stay up to date with this developer</h3>
205
+
206
+ <br />
207
+ <div align="right">[ <a href="#table-of-contents">Back to top β–²</a> ]</div>
208
+ <br />
173
209
 
174
210
 
175
211
  <!-- markdownlint-restore -->
package/bin/index.ts CHANGED
@@ -1,17 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- /* eslint-disable @typescript-eslint/no-explicit-any */
4
-
5
3
  import { getNpmPackageVersion } from "@nx/workspace/src/generators/utils/get-npm-package-version";
6
- import type { NxClientMode, PresetGeneratorSchema } from "@storm-software/workspace-tools";
4
+ import type {
5
+ NxClientMode,
6
+ PresetGeneratorSchema
7
+ } from "@storm-software/workspace-tools";
7
8
  import { createWorkspace } from "create-nx-workspace";
8
9
  import { prompt } from "enquirer";
9
10
 
10
11
  async function main() {
12
+ const { getStopwatch, writeFatal, writeInfo, writeSuccess, loadStormConfig } =
13
+ await import("@storm-software/config-tools");
14
+
15
+ const stopwatch = getStopwatch("create-storm-workspace");
16
+ const config = await loadStormConfig();
11
17
  try {
12
- console.log("⚑ Collecting required info to creating a Storm Workspace");
18
+ writeInfo("⚑ Preparing to create the Storm Workspace", config);
13
19
 
14
- ["SIGTERM", "SIGINT", "SIGUSR2"].map((type) => {
20
+ ["SIGTERM", "SIGINT", "SIGUSR2"].map(type => {
15
21
  process.once(type, () => {
16
22
  try {
17
23
  console.info(`process.on ${type}`);
@@ -57,7 +63,10 @@ async function main() {
57
63
  namespace = response.namespace;
58
64
  }
59
65
 
60
- let includeApps = process.argv.length > 5 && process.argv[5] ? Boolean(process.argv[5]) : null;
66
+ let includeApps =
67
+ process.argv.length > 5 && process.argv[5]
68
+ ? Boolean(process.argv[5])
69
+ : null;
61
70
  if (!includeApps && typeof includeApps !== "boolean") {
62
71
  const response = await prompt<{ includeApps: boolean }>({
63
72
  type: "confirm",
@@ -69,7 +78,22 @@ async function main() {
69
78
  includeApps = response.includeApps;
70
79
  }
71
80
 
72
- let description = process.argv.length > 6 ? process.argv[6] : null;
81
+ let includeRust =
82
+ process.argv.length > 6 && process.argv[6]
83
+ ? Boolean(process.argv[6])
84
+ : null;
85
+ if (!includeRust && typeof includeRust !== "boolean") {
86
+ const response = await prompt<{ includeRust: boolean }>({
87
+ type: "confirm",
88
+ name: "includeRust",
89
+ message:
90
+ "Should Rust be included in the workspace (adds a `rust` folder with a `Cargo.toml` file)?",
91
+ initial: false
92
+ });
93
+ includeRust = response.includeRust;
94
+ }
95
+
96
+ let description = process.argv.length > 7 ? process.argv[7] : null;
73
97
  if (!description) {
74
98
  const response = await prompt<{ description: string }>({
75
99
  type: "input",
@@ -83,7 +107,7 @@ async function main() {
83
107
  description = response.description;
84
108
  }
85
109
 
86
- let repositoryUrl = process.argv.length > 7 ? process.argv[7] : null;
110
+ let repositoryUrl = process.argv.length > 8 ? process.argv[8] : null;
87
111
  if (!repositoryUrl) {
88
112
  const response = await prompt<{ repositoryUrl: string }>({
89
113
  type: "input",
@@ -94,7 +118,10 @@ async function main() {
94
118
  repositoryUrl = response.repositoryUrl;
95
119
  }
96
120
 
97
- let nxCloud = process.argv.length > 8 && process.argv[8] ? Boolean(process.argv[8]) : null;
121
+ let nxCloud =
122
+ process.argv.length > 9 && process.argv[9]
123
+ ? Boolean(process.argv[9])
124
+ : null;
98
125
  if (!nxCloud && typeof nxCloud !== "boolean") {
99
126
  const response = await prompt<{ nxCloud: boolean }>({
100
127
  type: "confirm",
@@ -106,7 +133,9 @@ async function main() {
106
133
  nxCloud = response.nxCloud;
107
134
  }
108
135
 
109
- let mode: NxClientMode = (process.argv.length > 9 ? process.argv[9] : null) as NxClientMode;
136
+ let mode: NxClientMode = (
137
+ process.argv.length > 9 ? process.argv[9] : null
138
+ ) as NxClientMode;
110
139
  if (!mode) {
111
140
  mode = (
112
141
  await prompt<{ mode: "light" | "dark" }>({
@@ -122,32 +151,38 @@ async function main() {
122
151
  ).mode;
123
152
  }
124
153
 
125
- console.log(`⚑ Creating the Storm Workspace: ${name}`);
154
+ writeInfo(`⚑ Creating the Storm Workspace: ${name}`, config);
126
155
 
127
156
  const version = getNpmPackageVersion("@storm-software/workspace-tools");
128
- const { directory } = await createWorkspace<PresetGeneratorSchema & { interactive: boolean }>(
129
- `@storm-software/workspace-tools@${version ? version : "latest"}`,
130
- {
131
- name,
132
- organization,
133
- namespace,
134
- description,
135
- includeApps,
136
- repositoryUrl,
137
- nxCloud: "skip",
138
- packageManager: "pnpm",
139
- mode: "dark",
140
- interactive: false
141
- }
142
- );
157
+ const { directory } = await createWorkspace<
158
+ PresetGeneratorSchema & { interactive: boolean }
159
+ >(`@storm-software/workspace-tools@${version ? version : "latest"}`, {
160
+ name,
161
+ organization,
162
+ namespace,
163
+ description,
164
+ includeApps,
165
+ includeRust,
166
+ repositoryUrl,
167
+ nxCloud: "skip",
168
+ packageManager: "pnpm",
169
+ mode: "dark",
170
+ interactive: false
171
+ });
143
172
 
144
- console.log(`⚑ Successfully created the workspace: ${directory}.`);
173
+ writeSuccess(
174
+ `⚑ Successfully created the workspace: ${directory}.`,
175
+ config
176
+ );
145
177
  } catch (error) {
146
- console.log(
147
- "❌ An error occurred while creating the workspace. Please correct the below issue:"
178
+ writeFatal(
179
+ "❌ An error occurred while creating the workspace. Please correct the below issue:",
180
+ config
148
181
  );
149
182
  console.error(error);
150
183
  process.exit(1);
184
+ } finally {
185
+ stopwatch();
151
186
  }
152
187
  }
153
188