@storm-software/workspace-tools 1.1.0 → 1.2.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 (52) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +2 -2
  3. package/config/nx.json +22 -53
  4. package/package.json +1 -1
  5. package/src/generators/init/init.js +1 -16
  6. package/src/generators/init/init.js.map +1 -1
  7. package/src/generators/preset/files/.all-contributorsrc.template +18 -4
  8. package/src/generators/preset/files/.env.template +11 -32
  9. package/src/generators/preset/files/.gitattributes +9 -0
  10. package/src/generators/preset/files/.github/CONTRIBUTING.md.template +1 -1
  11. package/src/generators/preset/files/.github/ISSUE_TEMPLATE/bug-report.yml.template +38 -7
  12. package/src/generators/preset/files/.github/ISSUE_TEMPLATE/documentation.yml.template +12 -12
  13. package/src/generators/preset/files/.github/ISSUE_TEMPLATE/feature-request.yml.template +4 -7
  14. package/src/generators/preset/files/.github/PULL_REQUEST_TEMPLATE.md.template +1 -1
  15. package/src/generators/preset/files/.github/actions/node/action.yaml +11 -12
  16. package/src/generators/preset/files/.github/codecov.yml +1 -1
  17. package/src/generators/preset/files/.github/renovate.json.template +3 -7
  18. package/src/generators/preset/files/.github/workflows/ci.yml.template +91 -0
  19. package/src/generators/preset/files/.github/workflows/codeql.yml +4 -1
  20. package/src/generators/preset/files/.github/workflows/git-guardian.yml +5 -3
  21. package/src/generators/preset/files/.github/workflows/labels.yml +6 -5
  22. package/src/generators/preset/files/.github/workflows/lock.yml +1 -4
  23. package/src/generators/preset/files/.github/workflows/nextjs-bundle-analysis.yml +12 -28
  24. package/src/generators/preset/files/.husky/post-checkout +1 -2
  25. package/src/generators/preset/files/.husky/post-commit +4 -0
  26. package/src/generators/preset/files/.husky/post-merge +1 -2
  27. package/src/generators/preset/files/.husky/pre-commit +1 -2
  28. package/src/generators/preset/files/.husky/pre-push +3 -2
  29. package/src/generators/preset/files/.markdownlint.json +4 -1
  30. package/src/generators/preset/files/.verdaccio/config.yml.template +1 -1
  31. package/src/generators/preset/files/.vscode/extensions.json +1 -1
  32. package/src/generators/preset/files/.vscode/launch.json +3 -3
  33. package/src/generators/preset/files/README.md.template +31 -30
  34. package/src/generators/preset/files/nx.json +98 -0
  35. package/src/generators/preset/files/pnpm-workspace.yaml +2 -0
  36. package/src/generators/preset/files/socket.yaml +20 -0
  37. package/src/generators/preset/files/tsconfig.base.json.template +1 -1
  38. package/src/generators/preset/generator.js +139 -65
  39. package/src/generators/preset/generator.js.map +1 -1
  40. package/src/generators/preset/schema.d.ts +8 -0
  41. package/src/generators/preset/schema.json +86 -2
  42. package/src/utils/versions.d.ts +4 -1
  43. package/src/generators/preset/files/.alexignore +0 -4
  44. package/src/generators/preset/files/.alexrc +0 -39
  45. package/src/generators/preset/files/.github/workflows/ci.yml +0 -131
  46. package/src/generators/preset/files/.github/workflows/documentation.yml.template +0 -85
  47. package/src/generators/preset/files/.husky/commit-msg +0 -4
  48. package/src/generators/preset/files/commitlint.config.d.ts +0 -2
  49. package/src/generators/preset/files/commitlint.config.js +0 -3
  50. package/src/generators/preset/files/commitlint.config.js.map +0 -1
  51. package/src/generators/preset/files/src/index.ts.template +0 -1
  52. /package/src/generators/preset/files/{.log4brains.yml → .log4brains.yml.template} +0 -0
@@ -0,0 +1,20 @@
1
+ # top level version field is required
2
+ version: 2
3
+
4
+ triggerPaths:
5
+ - "packages/*/package.json"
6
+ - "package.json"
7
+ - "pnpm-lock.yaml"
8
+ - "pnpm-workspace.yaml"
9
+ - "apps/*/package.json"
10
+ - "libs/*/package.json"
11
+
12
+ projectIgnorePaths:
13
+ - ".github/"
14
+ - ".vscode/"
15
+ - ".verdaccio/"
16
+ - ".nx/"
17
+ - "benchmarks/"
18
+ - "docs/"
19
+ - "examples/"
20
+ - "test/"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/tsconfig",
3
- "extends": "@storm-software/workspace-tools/config/tsconfig.root.json",
3
+ "extends": "@storm-software/linting-tools/tsconfig/tsconfig.root.json",
4
4
  "display": "Storm Software - <%= name %>",
5
5
  "compilerOptions": {
6
6
  "rootDir": ".",
@@ -3,26 +3,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const path = require("path");
6
+ const versions_1 = require("../../utils/versions");
6
7
  function default_1(tree, options) {
8
+ var _a, _b;
7
9
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
10
  const projectRoot = `.`;
9
- (0, devkit_1.addProjectConfiguration)(tree, options.name, {
11
+ (_a = options.description) !== null && _a !== void 0 ? _a : (options.description = `⚡The ${options.namespace ? options.namespace : options.name} monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.`);
12
+ (_b = options.namespace) !== null && _b !== void 0 ? _b : (options.namespace = options.organization);
13
+ (0, devkit_1.addProjectConfiguration)(tree, `@${options.namespace}/${options.name}`, {
10
14
  root: projectRoot,
11
15
  projectType: "application",
12
- targets: {}
16
+ targets: {
17
+ "local-registry": {
18
+ "executor": "@nx/js:verdaccio",
19
+ "options": {
20
+ "port": 4873,
21
+ "config": ".verdaccio/config.yml",
22
+ "storage": "tmp/local-registry/storage"
23
+ }
24
+ }
25
+ }
13
26
  });
14
27
  (0, devkit_1.updateJson)(tree, "package.json", json => {
15
- var _a, _b, _c, _d, _e, _f;
28
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
16
29
  json.scripts = json.scripts || {};
17
30
  json.version = "0.0.0";
18
31
  json.private = true;
19
32
  (_a = json.keywords) !== null && _a !== void 0 ? _a : (json.keywords = [
33
+ options.name,
34
+ options.namespace,
20
35
  "storm",
21
36
  "stormstack",
22
- "storm-stack",
23
- "forecast",
24
- "forecast-lang",
25
- "forecast-model",
37
+ "storm-ops",
38
+ "powerplant",
39
+ "power-plant",
40
+ "power-plant-lang",
41
+ "power-plant-model",
26
42
  "impact",
27
43
  "nextjs",
28
44
  "prisma",
@@ -31,7 +47,6 @@ function default_1(tree, options) {
31
47
  "strapi",
32
48
  "graphql",
33
49
  "sullivanpj",
34
- "open-system",
35
50
  "monorepo"
36
51
  ]);
37
52
  (_b = json.homepage) !== null && _b !== void 0 ? _b : (json.homepage = "https://stormsoftware.org");
@@ -45,59 +60,104 @@ function default_1(tree, options) {
45
60
  email: "contact@stormsoftware.org",
46
61
  url: "https://stormsoftware.org"
47
62
  });
63
+ (_f = json.namespace) !== null && _f !== void 0 ? _f : (json.namespace = `@${options.namespace}`);
64
+ (_g = json.description) !== null && _g !== void 0 ? _g : (json.description = options.description);
65
+ (_h = options.repositoryUrl) !== null && _h !== void 0 ? _h : (options.repositoryUrl = `https://github.com/${options.organization}/${options.name}}`);
66
+ (_j = json.repository) !== null && _j !== void 0 ? _j : (json.repository = {
67
+ type: "github",
68
+ url: `${options.repositoryUrl}.git`
69
+ });
48
70
  // generate a start script into the package.json
49
71
  json.scripts.adr = "pnpm log4brains adr new";
50
72
  json.scripts["adr-preview"] = "pnpm log4brains preview";
51
- json.scripts.prepare = "pnpm prepare:husky && npx patch-package -y";
52
- json.scripts["prepare:husky"] = "is-ci || husky install";
73
+ json.scripts.prepare = "pnpm @storm-software/git-tools/scripts/prepare.js";
53
74
  json.scripts.preinstall =
54
- "pnpm @storm-software/workspace-tools/scripts/pre-install.js || npx -y only-allow pnpm";
75
+ "pnpm @storm-software/git-tools/scripts/pre-install.js || npx -y only-allow pnpm";
55
76
  json.scripts["install:csb"] =
56
77
  "corepack enable && pnpm install --frozen-lockfile";
57
78
  json.scripts.clean = "rimraf dist";
58
79
  json.scripts.prebuild = "pnpm clean";
80
+ json.scripts["clean:tools"] = "rimraf dist/tools";
81
+ json.scripts["clean:docs"] = "rimraf dist/docs";
82
+ if (!options.includeApps) {
83
+ json.scripts["clean:packages"] = "rimraf dist/packages";
84
+ }
85
+ else {
86
+ json.scripts["clean:apps"] = "rimraf dist/apps";
87
+ json.scripts["clean:libs"] = "rimraf dist/libs";
88
+ json.scripts["clean:storybook"] = "rimraf dist/storybook";
89
+ }
59
90
  json.scripts.build = "nx affected -t build --parallel=5";
60
91
  json.scripts["build:all"] = "nx run-many -t build --all --parallel=5";
61
92
  json.scripts["build:production"] =
62
93
  "nx run-many -t build --all --prod --parallel=5";
94
+ json.scripts["build:tools"] =
95
+ "nx run-many -t build --projects=tools/* --parallel=5";
96
+ json.scripts["build:docs"] =
97
+ "nx run-many -t build --projects=docs/* --parallel=5";
98
+ if (!options.includeApps) {
99
+ json.scripts["build:packages"] =
100
+ "nx run-many -t build --projects=packages/* --parallel=5";
101
+ }
102
+ else {
103
+ json.scripts["build:apps"] =
104
+ "nx run-many -t build --projects=apps/* --parallel=5";
105
+ json.scripts["build:libs"] =
106
+ "nx run-many -t build --projects=libs/* --parallel=5";
107
+ json.scripts["build:storybook"] = "storybook build -s public";
108
+ }
63
109
  json.scripts.nx = "nx";
64
110
  json.scripts.graph = "nx graph";
65
111
  json.scripts.lint = "pnpm storm-lint all";
66
- json.scripts.start = "nx serve";
67
- json.scripts.test = "nx test";
68
- json.scripts.e2e = "nx e2e";
69
- json.scripts.format = "nx format:write && pnpm doctoc --github README.md";
112
+ if (options.includeApps) {
113
+ json.scripts.start = "nx serve";
114
+ json.scripts.storybook = "pnpm storybook dev -p 6006";
115
+ }
116
+ json.scripts.format = "nx format:write";
70
117
  json.scripts.help = "nx help";
71
118
  json.scripts["dep-graph"] = "nx dep-graph";
72
119
  json.scripts["local-registry"] =
73
120
  "nx local-registry @storm-software/storm-ops";
74
- json.scripts["pre-push"] =
75
- "lint-staged --concurrent false --config @storm-software/linting-tools/lint-staged/config";
121
+ json.scripts.e2e = "nx e2e";
122
+ if (options.includeApps) {
123
+ json.scripts.test = "nx test";
124
+ }
125
+ else {
126
+ json.scripts.test = "nx test && pnpm test:storybook";
127
+ json.scripts["test:storybook"] = "pnpm test-storybook";
128
+ }
129
+ json.scripts.lint = "pnpm storm-lint all --skip-cspell";
76
130
  json.scripts.commit = "pnpm storm-git commit";
131
+ json.scripts.readme =
132
+ 'pnpm storm-git readme --templates="tools/readme-templates"';
77
133
  json.scripts["api-extractor"] =
78
134
  "nx g @storm-software/workspace-tools:api-extractor --outputPath 'docs/api-reference' --clean --no-interactive";
79
135
  json.scripts.release = "pnpm storm-git release";
80
- (_f = json.packageManager) !== null && _f !== void 0 ? _f : (json.packageManager = "pnpm@8.7.4");
136
+ (_k = json.packageManager) !== null && _k !== void 0 ? _k : (json.packageManager = "pnpm@8.10.2");
81
137
  json.engines = {
82
- node: ">=18.17.0",
83
- pnpm: ">=8.7.4"
138
+ pnpm: `>=${versions_1.pnpmVersion}`
84
139
  };
85
- json.prettier = "@storm-software/linting-tools/prettier/config";
86
- json.resolutions = {
87
- graphql: "^16.8.0",
88
- minimist: "^1.2.6"
89
- };
90
- json.bundlewatch = {
91
- files: [
92
- {
93
- path: "dist/*/*.js",
94
- maxSize: "200kB"
140
+ if (options.includeApps) {
141
+ json.engines.node = `>=${versions_1.nodeVersion}`;
142
+ }
143
+ (_l = json.packageManager) !== null && _l !== void 0 ? _l : (json.packageManager = "pnpm@8.10.2");
144
+ json.prettier = "@storm-software/linting-tools/prettier/config.json";
145
+ if (options.includeApps) {
146
+ json.bundlewatch = {
147
+ files: [
148
+ {
149
+ path: "dist/*/*.js",
150
+ maxSize: "200kB"
151
+ }
152
+ ],
153
+ ci: {
154
+ trackBranches: ["main", "alpha", "beta"]
95
155
  }
96
- ],
97
- ci: {
98
- trackBranches: ["main", "alpha", "beta"]
99
- }
100
- };
156
+ };
157
+ json.nextBundleAnalysis = {
158
+ "buildOutputDirectory": "dist/apps/web/app/.next"
159
+ };
160
+ }
101
161
  json.nx = {
102
162
  includedScripts: ["lint", "format"]
103
163
  };
@@ -105,43 +165,57 @@ function default_1(tree, options) {
105
165
  });
106
166
  (0, devkit_1.generateFiles)(tree, path.join(__dirname, "files"), projectRoot, options);
107
167
  yield (0, devkit_1.formatFiles)(tree);
108
- return (0, devkit_1.addDependenciesToPackageJson)(tree, {
109
- react: "latest",
110
- nx: "latest",
111
- "react-dom": "latest",
112
- "react-scripts": "latest"
113
- }, {
168
+ let dependencies = {
169
+ "nx": "latest",
170
+ "@nx/js": "latest",
171
+ "@nx/workspace": "latest",
172
+ "@nx/devkit": "latest",
173
+ "@nx/eslint": "latest",
174
+ "@nx/eslint-plugin": "latest",
175
+ "@nx/jest": "latest",
114
176
  "@storm-software/git-tools": "latest",
115
177
  "@storm-software/linting-tools": "latest",
116
178
  "@storm-software/workspace-tools": "latest",
117
179
  "prettier-plugin-packagejson": "latest",
118
180
  "prettier-plugin-prisma": "latest",
119
- "patch-package": "latest",
120
- tsup: "latest",
121
- eslint: "latest",
122
- "eslint-config-next": "latest",
123
- "eslint-config-prettier": "latest",
124
- "eslint-plugin-cypress": "latest",
125
- "eslint-plugin-import": "latest",
126
- "eslint-plugin-jest": "latest",
127
- "eslint-plugin-jsx-a11y": "latest",
128
- "eslint-plugin-react": "latest",
129
- "eslint-plugin-react-hooks": "latest",
130
- "eslint-plugin-storybook": "latest",
131
- "nx-cloud": "latest",
132
- log4brains: "latest",
133
- husky: "latest",
134
- prettier: "latest",
135
- "is-ci": "latest",
181
+ "tsup": "latest",
182
+ "eslint": "latest",
183
+ "log4brains": "latest",
184
+ "husky": "latest",
185
+ "prettier": "latest",
136
186
  "lint-staged": "latest",
137
- jest: "29.5.0",
138
- "jest-cli": "^29.5.0",
139
- "jest-environment-jsdom": "29.5.0",
140
- "jest-environment-node": "^29.4.1",
141
- jsdom: "~22.1.0",
187
+ "semantic-release": "latest",
188
+ "@semantic-release/changelog": "latest",
189
+ "@semantic-release/commit-analyzer": "latest",
190
+ "@semantic-release/exec": "latest",
191
+ "@semantic-release/git": "latest",
192
+ "@semantic-release/github": "latest",
193
+ "@semantic-release/npm": "latest",
194
+ "@semantic-release/release-notes-generator": "latest",
195
+ "jest": "latest",
196
+ "jest-environment-jsdom": "latest",
197
+ "jest-environment-node": "latest",
198
+ "ts-jest": "latest",
199
+ "ts-node": "latest",
200
+ "tslib": "latest",
201
+ "typescript": versions_1.typescriptVersion,
202
+ "@swc-node/register": "latest",
203
+ "@swc/cli": "latest",
204
+ "@swc/core": "latest",
205
+ "@swc/helpers": "latest",
142
206
  "@types/react": "latest",
143
- "@types/react-dom": "latest"
144
- });
207
+ "@types/react-dom": "latest",
208
+ "@types/jest": "latest",
209
+ "@types/node": "20.8.10",
210
+ "verdaccio": "latest"
211
+ };
212
+ if (options.includeApps) {
213
+ dependencies = Object.assign(Object.assign({}, dependencies), { "bundlewatch": "latest", "react": "latest", "react-dom": "latest", "storybook": "latest", "@storybook/addons": "latest", "@nx/react": "latest", "@nx/next": "latest", "@nx/node": "latest", "@nx/storybook": "latest" });
214
+ }
215
+ if (options.nxCloud) {
216
+ dependencies = Object.assign(Object.assign({}, dependencies), { "nx-cloud": "latest" });
217
+ }
218
+ return (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, {});
145
219
  });
146
220
  }
147
221
  exports.default = default_1;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/workspace-tools/src/generators/preset/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/workspace-tools/src/generators/preset/generator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ export type NxClientMode = "light" | "dark";
1
2
  export interface PresetGeneratorSchema {
2
3
  name: string;
4
+ organization: string;
5
+ includeApps: boolean;
6
+ namespace?: string;
7
+ description?: string;
8
+ repositoryUrl?: string;
9
+ nxCloud: boolean;
10
+ mode: NxClientMode;
3
11
  }
@@ -2,17 +2,101 @@
2
2
  "$schema": "http://json-schema.org/schema",
3
3
  "$id": "Preset",
4
4
  "title": "Storm Workspace preset",
5
+ "description": "Storm workspace preset generator",
5
6
  "type": "object",
7
+ "example": [
8
+ {
9
+ "command": "nx g @storm-software/workspace-tools:preset --name 'example-repo'",
10
+ "description": "Generate a storm workspace with the name: example-repo, namespace: storm-software, organization: storm-software, and repositoryUrl: 'https://github.com/storm-software/example-repo'."
11
+ },
12
+
13
+ {
14
+ "command": "nx g @storm-software/workspace-tools:preset --name 'example-repo' --namespace 'example'",
15
+ "description": "Generate a storm workspace with the name: example-repo, namespace: example, and repositoryUrl: 'https://github.com/storm-software/example-repo'."
16
+ },
17
+ {
18
+ "command": "nx g @storm-software/workspace-tools:preset --name 'example-repo' --namespace 'example' --organization 'example-org' --description 'An example workspace'",
19
+ "description": "Generate a storm workspace with the name: example-repo, namespace: example, organization: example-org, description: 'An example workspace', and repositoryUrl: 'https://github.com/example-org/example-repo'."
20
+ }
21
+ ],
6
22
  "properties": {
7
23
  "name": {
8
24
  "type": "string",
9
- "description": "",
25
+ "description": "The name of the workspace root.",
10
26
  "$default": {
11
27
  "$source": "argv",
12
28
  "index": 0
13
29
  },
14
30
  "x-prompt": "What name would you like to use?"
31
+ },
32
+ "organization": {
33
+ "type": "string",
34
+ "description": "The organization that owns the workspace.",
35
+ "default": "storm-software",
36
+ "$default": {
37
+ "$source": "argv",
38
+ "index": 1
39
+ },
40
+ "x-prompt": "What organization owns this repository?"
41
+ },
42
+ "namespace": {
43
+ "type": "string",
44
+ "description": "The npm scope used for the workspace. Defaults to the organization name.",
45
+ "$default": {
46
+ "$source": "argv",
47
+ "index": 2
48
+ },
49
+ "x-prompt": "What namespace (npm scope) would you like to use? Defaults to the organization name."
50
+ },
51
+ "includeApps": {
52
+ "type": "boolean",
53
+ "description": "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)?",
54
+ "default": false,
55
+ "$default": {
56
+ "$source": "argv",
57
+ "index": 3
58
+ },
59
+ "x-prompt": "Is the workspace a purely package based repository (one large packages folder) or does it include apps (split between apps and libs folders)?"
60
+ },
61
+ "description": {
62
+ "type": "string",
63
+ "description": "The description of the workspace to use in the package.json and README.md files.",
64
+ "$default": {
65
+ "$source": "argv",
66
+ "index": 4
67
+ },
68
+ "x-prompt": "Provide a description of the workspace to use in the package.json and README.md files."
69
+ },
70
+ "repositoryUrl": {
71
+ "type": "string",
72
+ "description": "The URL of the workspace in GitHub. Defaults to the https://github.com/<organization>/<name>",
73
+ "$default": {
74
+ "$source": "argv",
75
+ "index": 5
76
+ },
77
+ "x-prompt": "What is the workspace's GitHub repository URL?"
78
+ },
79
+ "nxCloud": {
80
+ "type": "boolean",
81
+ "description": "Should distributed caching with Nx Cloud be enabled for the workspace?",
82
+ "default": false,
83
+ "$default": {
84
+ "$source": "argv",
85
+ "index": 6
86
+ },
87
+ "x-prompt": "Should distributed caching with Nx Cloud be enabled for the workspace?"
88
+ },
89
+ "mode": {
90
+ "type": "string",
91
+ "description": "Which client mode should be used for the Nx Task Runner?",
92
+ "default": "dark",
93
+ "enum": ["light", "dark"],
94
+ "$default": {
95
+ "$source": "argv",
96
+ "index": 7
97
+ },
98
+ "x-prompt": "Which client mode should be used for the Nx Task Runner?"
15
99
  }
16
100
  },
17
- "required": ["name"]
101
+ "required": ["name", "organization", "includeApps", "nxCloud", "mode"]
18
102
  }
@@ -9,9 +9,12 @@ export declare const swcCoreVersion = "~1.3.95";
9
9
  export declare const swcHelpersVersion = "~0.5.3";
10
10
  export declare const swcNodeVersion = "1.6.8";
11
11
  export declare const tsLibVersion = "2.6.2";
12
- export declare const typesNodeVersion = "20.8.10";
12
+ export declare const typesNodeVersion = "20.9.0";
13
13
  export declare const verdaccioVersion = "5.27.0";
14
14
  export declare const typescriptVersion = "~5.2.2";
15
15
  export declare const eslintVersion = "~8.53.0";
16
16
  export declare const lintStagedVersion = "15.0.2";
17
17
  export declare const semanticReleaseVersion = "22.0.7";
18
+
19
+ export declare const nodeVersion = "20.9.0";
20
+ export declare const pnpmVersion = "8.10.2";
@@ -1,4 +0,0 @@
1
- # `node_modules` is ignored by default
2
-
3
- **/CODE_OF_CONDUCT.md
4
-
@@ -1,39 +0,0 @@
1
- {
2
- "allow": [
3
- "attacks",
4
- "color",
5
- "dead",
6
- "execute",
7
- "executed",
8
- "executes",
9
- "execution",
10
- "executions",
11
- "failed",
12
- "failure",
13
- "failures",
14
- "fire",
15
- "fires",
16
- "firing",
17
- "hook",
18
- "hooks",
19
- "host-hostess",
20
- "invalid",
21
- "remains",
22
- "special",
23
- "white",
24
- "just",
25
- "easy",
26
- "easily",
27
- "simple",
28
- "colors",
29
- "clearly",
30
- "obvious",
31
- "pros",
32
- "blind",
33
- "xxx",
34
- "tinker",
35
- "reject",
36
- "terror",
37
- "Primitive"
38
- ]
39
- }
@@ -1,131 +0,0 @@
1
- name: "CI/CD"
2
-
3
- on:
4
- workflow_dispatch:
5
- inputs:
6
- tag:
7
- description: override release tag
8
- required: false
9
- push:
10
- branches:
11
- - "main"
12
- - "alpha"
13
- - "beta"
14
-
15
- env:
16
- CI: true
17
- NX_DAEMON: false
18
- NX_VERBOSE_LOGGING: true
19
- NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
20
- NX_CLOUD_AUTH_TOKEN: ${{ secrets.NX_CLOUD_AUTH_TOKEN }}
21
- GITHUB_ACTOR: "🤖 Storm Bot"
22
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24
-
25
- jobs:
26
- build-and-release:
27
- if: github.repository == 'storm-software/<%= name %>' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/alpha' || github.ref == 'refs/heads/beta')
28
- name: "Build & Release"
29
- runs-on: ubuntu-latest
30
- steps:
31
- - uses: actions/checkout@v3
32
- with:
33
- fetch-depth: 0
34
-
35
- - name: configure git
36
- run: |
37
- git config user.name "${GITHUB_ACTOR}"
38
- git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
39
-
40
- - name: Setup pnpm
41
- uses: pnpm/action-setup@v2.2.4
42
- with:
43
- version: 8
44
-
45
- - uses: actions/setup-node@v3
46
- with:
47
- registry-url: https://registry.npmjs.org/
48
- node-version-file: .github/.nvmrc
49
- cache: pnpm
50
- cache-dependency-path: pnpm-lock.yaml
51
-
52
- - name: Install Dependencies
53
- run: pnpm ci
54
-
55
- - name: Get appropriate base and head commits for `nx affected` commands
56
- uses: nrwl/nx-set-shas@v3
57
- with:
58
- main-branch-name: "main"
59
-
60
- - name: Set appropriate base and head commits for `nx affected` commands
61
- run: |
62
- echo "BASE: ${{ env.NX_BASE }}"
63
- echo "HEAD: ${{ env.NX_HEAD }}"
64
-
65
- #- name: Prepare for build
66
- # run: pnpm build
67
-
68
- - name: Build repository packages
69
- run: pnpm build --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
70
-
71
- #- name: Run Linters
72
- # run: pnpm nx affected -t lint --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
73
-
74
- - name: Run Formatters
75
- run: pnpm nx format
76
-
77
- # - run: npx nx affected -t lint --parallel=3
78
- # - run: npx nx affected -t test --parallel=3 --configuration=ci --base=${{ github.event.before }}
79
-
80
- # run: pnpm nx affected -t build --parallel=5 --exclude="core-server-cloudflare,worker-*" --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
81
- # run: pnpm nx affected -t build --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
82
-
83
- #- name: Run Tests
84
- # uses: nick-fields/retry@v2.8.3
85
- # with:
86
- # command: npx nx affected -t test --parallel=3 --configuration=ci --base=${{ github.event.before }}
87
- # timeout_minutes: 10
88
- # max_attempts: 3
89
-
90
- - name: Upload coverage to Codecov
91
- uses: codecov/codecov-action@v3
92
-
93
- - name: Release Library Version Updates
94
- run: npx nx affected -t semantic-release --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
95
-
96
- #- name: Release Repository Version Updates
97
- # run: pnpm nx run-many --target=semantic-release --parallel=false
98
-
99
- - name: Create Pull Request
100
- uses: repo-sync/pull-request@v2
101
- with:
102
- destination_branch: main
103
- pr_title: "chore(repo): Github CI/CD automated updates"
104
- pr_body: "This changeset is the result of updates made in the repository's files via the CI/CD pipeline automatically. The changes include linting, formatting, and version updates."
105
- github_token: ${{ secrets.GITHUB_TOKEN }}
106
-
107
- # - name: Publish
108
- # run: |
109
- # git config --global user.name 'Pat Sullivan'
110
- # git config --global user.email 'sullivanpj@users.noreply.github.com'
111
- # npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
112
- # npm run cipublish
113
- # env:
114
- # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
115
- # GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
116
- # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
117
- # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
118
- # TAG: ${{ inputs.tag }}
119
-
120
- #- name: Release Library Version Updates
121
- # run: npx nx affected -t semantic-release --parallel=3 --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }}
122
- # env:
123
- # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
124
-
125
- #- name: Release Repository Version Updates
126
- # run: npm run semantic-release
127
- # env:
128
- # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
129
-
130
- # - name: Build Latest Documentation
131
- # run: npx nx run docs:build