create-storm-workspace
Advanced tools
Comparing version 1.1.0 to 1.3.0
@@ -19,7 +19,67 @@ #!/usr/bin/env node | ||
} | ||
let mode = process.argv[3]; | ||
let organization = process.argv[3]; | ||
if (!organization) { | ||
const response = yield (0, enquirer_1.prompt)({ | ||
type: "input", | ||
name: "organization", | ||
message: "What organization owns this repository?", | ||
initial: "storm-software" | ||
}); | ||
organization = response.organization; | ||
} | ||
let namespace = process.argv[4]; | ||
if (!namespace) { | ||
const response = yield (0, enquirer_1.prompt)({ | ||
type: "input", | ||
name: "namespace", | ||
message: "What organization owns this repository?", | ||
initial: organization ? organization : "storm-software" | ||
}); | ||
namespace = response.namespace; | ||
} | ||
let includeApps = process.argv[5] ? Boolean(process.argv[3]) : null; | ||
if (!includeApps && typeof includeApps !== "boolean") { | ||
const response = yield (0, enquirer_1.prompt)({ | ||
type: "confirm", | ||
name: "includeApps", | ||
message: "Should a separate `apps` folder be created for this workspace (if Yes: `apps` and `libs` folders will be added, if No: `packages` folders will be added)?", | ||
initial: false | ||
}); | ||
includeApps = response.includeApps; | ||
} | ||
let description = process.argv[6]; | ||
if (!description) { | ||
const response = yield (0, enquirer_1.prompt)({ | ||
type: "input", | ||
name: "description", | ||
message: "Provide a description of the workspace to use in the package.json and README.md files.", | ||
initial: `⚡ The ${namespace ? namespace : name} monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.` | ||
}); | ||
description = response.description; | ||
} | ||
let repositoryUrl = process.argv[7]; | ||
if (!repositoryUrl) { | ||
const response = yield (0, enquirer_1.prompt)({ | ||
type: "input", | ||
name: "repositoryUrl", | ||
message: "What is the workspace's Git repository's URL?", | ||
initial: `https://github.com/${organization ? organization : "storm-software"}/${name}` | ||
}); | ||
repositoryUrl = response.repositoryUrl; | ||
} | ||
let nxCloud = process.argv[8] ? Boolean(process.argv[3]) : null; | ||
if (!nxCloud && typeof nxCloud !== "boolean") { | ||
const response = yield (0, enquirer_1.prompt)({ | ||
type: "confirm", | ||
name: "nxCloud", | ||
message: "Should Nx Cloud be enabled for the workspace (allows for remote workspace caching)?", | ||
initial: false | ||
}); | ||
nxCloud = response.nxCloud; | ||
} | ||
let mode = process.argv[9]; | ||
if (!mode) { | ||
mode = (yield (0, enquirer_1.prompt)({ | ||
name: "mode", | ||
message: "Which mode to use", | ||
message: "Which mode should be used?", | ||
initial: "dark", | ||
@@ -33,14 +93,17 @@ type: "autocomplete", | ||
} | ||
console.log(`⚡Creating the Storm Workspace: ${name}`); | ||
// This assumes "@storm-software/workspace-tools" and "create-storm-workspace" are at the same version | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
const presetVersion = require("../package.json").version; | ||
// TODO: update below to customize the workspace | ||
const { directory } = yield (0, create_nx_workspace_1.createWorkspace)(`@storm-software/workspace-tools@${presetVersion}`, { | ||
console.log(`⚡ Creating the Storm Workspace: ${name}`); | ||
// This assume s "@storm-software/workspace-tools" and "create-storm-workspace" are at the same version | ||
const packageJson = yield require("@storm-software/workspace-tools/package.json"); | ||
const { directory } = yield (0, create_nx_workspace_1.createWorkspace)(`@storm-software/workspace-tools@${packageJson === null || packageJson === void 0 ? void 0 : packageJson.version}`, { | ||
name, | ||
nxCloud: false, | ||
organization, | ||
namespace, | ||
description, | ||
includeApps, | ||
repositoryUrl, | ||
nxCloud: !!nxCloud, | ||
packageManager: "pnpm", | ||
mode | ||
}); | ||
console.log(`⚡Successfully created the workspace: ${directory}.`); | ||
console.log(`⚡ Successfully created the workspace: ${directory}.`); | ||
}); | ||
@@ -47,0 +110,0 @@ } |
@@ -19,3 +19,76 @@ #!/usr/bin/env node | ||
let mode = process.argv[3]; | ||
let organization = process.argv[3]; | ||
if (!organization) { | ||
const response = await prompt<{ organization: string }>({ | ||
type: "input", | ||
name: "organization", | ||
message: "What organization owns this repository?", | ||
initial: "storm-software" | ||
}); | ||
organization = response.organization; | ||
} | ||
let namespace = process.argv[4]; | ||
if (!namespace) { | ||
const response = await prompt<{ namespace: string }>({ | ||
type: "input", | ||
name: "namespace", | ||
message: "What organization owns this repository?", | ||
initial: organization ? organization : "storm-software" | ||
}); | ||
namespace = response.namespace; | ||
} | ||
let includeApps = process.argv[5] ? Boolean(process.argv[3]) : null; | ||
if (!includeApps && typeof includeApps !== "boolean") { | ||
const response = await prompt<{ includeApps: boolean }>({ | ||
type: "confirm", | ||
name: "includeApps", | ||
message: | ||
"Should a separate `apps` folder be created for this workspace (if Yes: `apps` and `libs` folders will be added, if No: `packages` folders will be added)?", | ||
initial: false | ||
}); | ||
includeApps = response.includeApps; | ||
} | ||
let description = process.argv[6]; | ||
if (!description) { | ||
const response = await prompt<{ description: string }>({ | ||
type: "input", | ||
name: "description", | ||
message: | ||
"Provide a description of the workspace to use in the package.json and README.md files.", | ||
initial: `⚡ The ${ | ||
namespace ? namespace : name | ||
} monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.` | ||
}); | ||
description = response.description; | ||
} | ||
let repositoryUrl = process.argv[7]; | ||
if (!repositoryUrl) { | ||
const response = await prompt<{ repositoryUrl: string }>({ | ||
type: "input", | ||
name: "repositoryUrl", | ||
message: "What is the workspace's Git repository's URL?", | ||
initial: `https://github.com/${ | ||
organization ? organization : "storm-software" | ||
}/${name}` | ||
}); | ||
repositoryUrl = response.repositoryUrl; | ||
} | ||
let nxCloud = process.argv[8] ? Boolean(process.argv[3]) : null; | ||
if (!nxCloud && typeof nxCloud !== "boolean") { | ||
const response = await prompt<{ nxCloud: boolean }>({ | ||
type: "confirm", | ||
name: "nxCloud", | ||
message: | ||
"Should Nx Cloud be enabled for the workspace (allows for remote workspace caching)?", | ||
initial: false | ||
}); | ||
nxCloud = response.nxCloud; | ||
} | ||
let mode = process.argv[9]; | ||
if (!mode) { | ||
@@ -25,3 +98,3 @@ mode = ( | ||
name: "mode", | ||
message: "Which mode to use", | ||
message: "Which mode should be used?", | ||
initial: "dark" as any, | ||
@@ -37,14 +110,18 @@ type: "autocomplete", | ||
console.log(`⚡Creating the Storm Workspace: ${name}`); | ||
console.log(`⚡ Creating the Storm Workspace: ${name}`); | ||
// This assumes "@storm-software/workspace-tools" and "create-storm-workspace" are at the same version | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
const presetVersion = require("../package.json").version; | ||
// This assume s "@storm-software/workspace-tools" and "create-storm-workspace" are at the same version | ||
const packageJson = | ||
await require("@storm-software/workspace-tools/package.json"); | ||
// TODO: update below to customize the workspace | ||
const { directory } = await createWorkspace( | ||
`@storm-software/workspace-tools@${presetVersion}`, | ||
`@storm-software/workspace-tools@${packageJson?.version}`, | ||
{ | ||
name, | ||
nxCloud: false, | ||
organization, | ||
namespace, | ||
description, | ||
includeApps, | ||
repositoryUrl, | ||
nxCloud: !!nxCloud, | ||
packageManager: "pnpm", | ||
@@ -55,5 +132,5 @@ mode | ||
console.log(`⚡Successfully created the workspace: ${directory}.`); | ||
console.log(`⚡ Successfully created the workspace: ${directory}.`); | ||
} | ||
main(); |
@@ -0,1 +1,38 @@ | ||
## [1.2.2](https://github.com/storm-software/storm-ops/compare/create-storm-workspace-v1.2.1...create-storm-workspace-v1.2.2) (2023-11-06) | ||
### Bug Fixes | ||
* **create-storm-workspace:** Resolved issues with create workspace script options ([b81eaf2](https://github.com/storm-software/storm-ops/commit/b81eaf2c493dd319458f5ad5b375612fb3b8206f)) | ||
* **storm-ops:** Regenerate pnpm lockfile ([6cc4c75](https://github.com/storm-software/storm-ops/commit/6cc4c75486d843327d8e438e34dd08182bb0e052)) | ||
## [1.2.1](https://github.com/storm-software/storm-ops/compare/create-storm-workspace-v1.2.0...create-storm-workspace-v1.2.1) (2023-11-06) | ||
### Bug Fixes | ||
* **git-tools:** Added missing GitHub release config and removed failed GitGuardian lines ([4b64698](https://github.com/storm-software/storm-ops/commit/4b646983226fa979c76f8078ffd1cee1d544f1a1)) | ||
# [1.2.0](https://github.com/storm-software/storm-ops/compare/create-storm-workspace-v1.1.1...create-storm-workspace-v1.2.0) (2023-11-06) | ||
### Features | ||
* **workspace-tools:** Added init generator and enhanced preset template files ([c1ac333](https://github.com/storm-software/storm-ops/commit/c1ac33355520a717df93f157f31bb311dd81b7c6)) | ||
## [1.1.1](https://github.com/storm-software/storm-ops/compare/create-storm-workspace-v1.1.0...create-storm-workspace-v1.1.1) (2023-11-06) | ||
### Bug Fixes | ||
* **storm-ops:** Add @semantic-release/commit-analyzer dependency back to workspace root ([553dd65](https://github.com/storm-software/storm-ops/commit/553dd6548aba57eada49dce635312b2c4bdd474f)) | ||
* **storm-ops:** Resolved issue with prepare script in workspace root ([4caa35a](https://github.com/storm-software/storm-ops/commit/4caa35a09421e0ac48a0d2eddc27843c4dcff6e7)) | ||
# [1.1.0](https://github.com/storm-software/storm-ops/compare/create-storm-workspace-v1.0.1...create-storm-workspace-v1.1.0) (2023-11-06) | ||
### Features | ||
* **workspace-tools:** Added the init generator and tsup build executor ([e34d64c](https://github.com/storm-software/storm-ops/commit/e34d64c84027d60cb29ca54fa957b5994128b4aa)) | ||
## [1.0.1](https://github.com/storm-software/storm-ops/compare/create-storm-workspace-v1.0.0...create-storm-workspace-v1.0.1) (2023-11-06) | ||
@@ -2,0 +39,0 @@ |
{ | ||
"name": "create-storm-workspace", | ||
"version": "1.1.0", | ||
"version": "1.3.0", | ||
"private": false, | ||
@@ -40,2 +40,8 @@ "description": "⚡A CLI tool used to generate and fully configure a Storm Workspace repository.", | ||
}, | ||
"devDependencies": { | ||
"@storm-software/workspace-tools": "*" | ||
}, | ||
"peerDependencies": { | ||
"@storm-software/workspace-tools": "workspace:*" | ||
}, | ||
"publishConfig": { | ||
@@ -42,0 +48,0 @@ "access": "public" |
@@ -18,3 +18,3 @@ <!-- START header --> | ||
[![Version](https://img.shields.io/badge/version-1.0.0-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/) | ||
[![Version](https://img.shields.io/badge/version-1.2.2-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/) | ||
[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/) [![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/) [![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/) ![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) [![documented with docusaurus](https://img.shields.io/badge/documented_with-docusaurus-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://docusaurus.io/) ![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) | ||
@@ -132,3 +132,3 @@ | ||
<div align="center"> | ||
<a href="https://www.patsullivan.org" target="_blank">Website</a> | <a href="https://stormsoftware.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> | ||
<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> | ||
</div> | ||
@@ -135,0 +135,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
44896
228
3
1