@nrwl/workspace 14.0.0-beta.1 → 14.0.0-beta.2

Sign up to get free protection for your applications and to get access to all the features.
package/generators.json CHANGED
@@ -141,6 +141,12 @@
141
141
  "schema": "./src/generators/npm-package/schema.json",
142
142
  "description": "Create a minimal NPM package.",
143
143
  "x-type": "library"
144
+ },
145
+
146
+ "ci-workflow": {
147
+ "factory": "./src/generators/ci-workflow/ci-workflow#ciWorkflowGenerator",
148
+ "schema": "./src/generators/ci-workflow/schema.json",
149
+ "description": "Generete a CI workflow."
144
150
  }
145
151
  }
146
152
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/workspace",
3
- "version": "14.0.0-beta.1",
3
+ "version": "14.0.0-beta.2",
4
4
  "description": "Smart, Fast and Extensible Build System.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,26 +32,26 @@
32
32
  "requirements": {},
33
33
  "migrations": "./migrations.json",
34
34
  "packageGroup": {
35
- "@nrwl/angular": "14.0.0-beta.1",
36
- "@nrwl/cypress": "14.0.0-beta.1",
37
- "@nrwl/devkit": "14.0.0-beta.1",
38
- "@nrwl/eslint-plugin-nx": "14.0.0-beta.1",
39
- "@nrwl/express": "14.0.0-beta.1",
40
- "@nrwl/jest": "14.0.0-beta.1",
41
- "@nrwl/linter": "14.0.0-beta.1",
42
- "@nrwl/nest": "14.0.0-beta.1",
43
- "@nrwl/next": "14.0.0-beta.1",
44
- "@nrwl/node": "14.0.0-beta.1",
45
- "@nrwl/nx-plugin": "14.0.0-beta.1",
46
- "@nrwl/react": "14.0.0-beta.1",
47
- "@nrwl/storybook": "14.0.0-beta.1",
48
- "@nrwl/web": "14.0.0-beta.1",
49
- "@nrwl/js": "14.0.0-beta.1",
50
- "@nrwl/cli": "14.0.0-beta.1",
35
+ "@nrwl/angular": "14.0.0-beta.2",
36
+ "@nrwl/cypress": "14.0.0-beta.2",
37
+ "@nrwl/devkit": "14.0.0-beta.2",
38
+ "@nrwl/eslint-plugin-nx": "14.0.0-beta.2",
39
+ "@nrwl/express": "14.0.0-beta.2",
40
+ "@nrwl/jest": "14.0.0-beta.2",
41
+ "@nrwl/linter": "14.0.0-beta.2",
42
+ "@nrwl/nest": "14.0.0-beta.2",
43
+ "@nrwl/next": "14.0.0-beta.2",
44
+ "@nrwl/node": "14.0.0-beta.2",
45
+ "@nrwl/nx-plugin": "14.0.0-beta.2",
46
+ "@nrwl/react": "14.0.0-beta.2",
47
+ "@nrwl/storybook": "14.0.0-beta.2",
48
+ "@nrwl/web": "14.0.0-beta.2",
49
+ "@nrwl/js": "14.0.0-beta.2",
50
+ "@nrwl/cli": "14.0.0-beta.2",
51
51
  "@nrwl/nx-cloud": "latest",
52
- "@nrwl/react-native": "14.0.0-beta.1",
53
- "@nrwl/detox": "14.0.0-beta.1",
54
- "nx": "14.0.0-beta.1"
52
+ "@nrwl/react-native": "14.0.0-beta.2",
53
+ "@nrwl/detox": "14.0.0-beta.2",
54
+ "nx": "14.0.0-beta.2"
55
55
  }
56
56
  },
57
57
  "peerDependencies": {
@@ -84,9 +84,9 @@
84
84
  "minimatch": "3.0.4",
85
85
  "enquirer": "~2.3.6",
86
86
  "tslib": "^2.3.0",
87
- "nx": "14.0.0-beta.1",
88
- "@nrwl/devkit": "14.0.0-beta.1",
89
- "@nrwl/jest": "14.0.0-beta.1",
90
- "@nrwl/linter": "14.0.0-beta.1"
87
+ "nx": "14.0.0-beta.2",
88
+ "@nrwl/devkit": "14.0.0-beta.2",
89
+ "@nrwl/jest": "14.0.0-beta.2",
90
+ "@nrwl/linter": "14.0.0-beta.2"
91
91
  }
92
92
  }
@@ -0,0 +1,6 @@
1
+ import { Tree } from '@nrwl/devkit';
2
+ export interface Schema {
3
+ name?: string;
4
+ ci: 'github' | 'azure' | 'circleci';
5
+ }
6
+ export declare function ciWorkflowGenerator(host: Tree, schema: Schema): Promise<void>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ciWorkflowGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nrwl/devkit");
6
+ const default_base_1 = require("../../utilities/default-base");
7
+ function ciWorkflowGenerator(host, schema) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
+ const ci = schema.ci;
10
+ const options = normalizeOptions(schema);
11
+ (0, devkit_1.generateFiles)(host, (0, devkit_1.joinPathFragments)(__dirname, 'files', ci), '', options);
12
+ });
13
+ }
14
+ exports.ciWorkflowGenerator = ciWorkflowGenerator;
15
+ function normalizeOptions(options) {
16
+ const { name: workflowName, fileName: workflowFileName } = (0, devkit_1.names)(options.name || 'build');
17
+ const { exec: packageManagerPrefix, ciInstall: packageManagerInstall } = (0, devkit_1.getPackageManagerCommand)();
18
+ return {
19
+ workflowName,
20
+ workflowFileName,
21
+ packageManagerInstall,
22
+ packageManagerPrefix,
23
+ mainBranch: (0, default_base_1.deduceDefaultBase)(),
24
+ tmpl: '',
25
+ };
26
+ }
27
+ //# sourceMappingURL=ci-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-workflow.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/generators/ci-workflow/ci-workflow.ts"],"names":[],"mappings":";;;;AAAA,yCAMsB;AACtB,+DAAiE;AAOjE,SAAsB,mBAAmB,CAAC,IAAU,EAAE,MAAc;;QAClE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;CAAA;AALD,kDAKC;AAWD,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAA,cAAK,EAC9D,OAAO,CAAC,IAAI,IAAI,OAAO,CACxB,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,qBAAqB,EAAE,GACpE,IAAA,iCAAwB,GAAE,CAAC;IAC7B,OAAO;QACL,YAAY;QACZ,gBAAgB;QAChB,qBAAqB;QACrB,oBAAoB;QACpB,UAAU,EAAE,IAAA,gCAAiB,GAAE;QAC/B,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,67 @@
1
+ name: <%= workflowName %>
2
+
3
+ trigger:
4
+ - <%= mainBranch %>
5
+ pr:
6
+ - <%= mainBranch %>
7
+
8
+ variables:
9
+ - name: NX_CLOUD_DISTRIBUTED_EXECUTION
10
+ value: 'true'
11
+ - name: NX_BRANCH
12
+ ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
13
+ value: $(System.PullRequest.PullRequestNumber)
14
+ ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
15
+ value: $(Build.SourceBranchName)
16
+ - name: TARGET_BRANCH
17
+ ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
18
+ value: $[replace(variables['System.PullRequest.TargetBranch'],'refs/heads/','origin/')]
19
+ - name: BASE_SHA
20
+ ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
21
+ value: $(git merge-base $(TARGET_BRANCH) HEAD)
22
+ ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
23
+ value: $(git rev-parse HEAD~1)
24
+ - name: HEAD_SHA
25
+ value: $(git rev-parse HEAD)
26
+
27
+ jobs:
28
+ - job: agents
29
+ strategy:
30
+ parallel: 3
31
+ displayName: 'Nx Cloud Agent'
32
+ pool:
33
+ vmImage: 'ubuntu-latest'
34
+ steps:
35
+ <% if(packageManagerPrefix == 'pnpm exec'){ %>
36
+ - script: npm install --prefix=$HOME/.local -g pnpm@6.32.4
37
+ displayName: Install PNPM
38
+ <% } %>- script: <%= packageManagerInstall %>
39
+ displayName: NPM Install Dependencies
40
+ - script: npx nx-cloud start-agent
41
+ displayName: 'Start Nx-Cloud agent
42
+
43
+ - job: main
44
+ displayName: 'Nx Cloud Main'
45
+ pool:
46
+ vmImage: 'ubuntu-latest'
47
+ steps:
48
+ <% if(packageManagerPrefix == 'pnpm exec'){ %>
49
+ - script: npm install --prefix=$HOME/.local -g pnpm@6.32.4
50
+ displayName: Install PNPM
51
+ <% } %>- script: <%= packageManagerInstall %>
52
+ displayName: NPM Install Dependencies
53
+ - script: <%= packageManagerPrefix %> nx-cloud start-ci-run
54
+ displayName: Start CI run
55
+ - script: <%= packageManagerPrefix %> nx workspace-lint
56
+ displayName: Run workspace lint
57
+ - script: <%= packageManagerPrefix %> nx format:check --base=$(BASE_SHA) --head=$(HEAD_SHA)
58
+ displayName: Check format
59
+ - script: <%= packageManagerPrefix %> nx affected --base=$(BASE_SHA) --head=$(HEAD_SHA) --target=lint --parallel=3
60
+ displayName: Run lint
61
+ - script: <%= packageManagerPrefix %> nx affected --base=$(BASE_SHA) --head=$(HEAD_SHA) --target=test --parallel=3 --ci --code-coverage
62
+ displayName: Run test
63
+ - script: <%= packageManagerPrefix %> nx affected --base=$(BASE_SHA) --head=$(HEAD_SHA) --target=build --parallel=3
64
+ displayName: Run build
65
+ - script: <%= packageManagerPrefix %> nx-cloud stop-all-agents
66
+ condition: always()
67
+ displayName: Stop all Nx-Cloud agents
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "NxWorkspaceCIWorkflow",
4
+ "title": "Generate a CI workflow.",
5
+ "description": "Generate a CI workflow.",
6
+ "cli": "nx",
7
+ "type": "object",
8
+ "properties": {
9
+ "ci": {
10
+ "type": "string",
11
+ "description": "CI provider.",
12
+ "enum": ["github", "circleci", "azure"],
13
+ "x-prompt": {
14
+ "message": "What is your target CI provider?",
15
+ "type": "list",
16
+ "items": [
17
+ { "value": "github", "label": "Github Actions" },
18
+ { "value": "circleci", "label": "Circle CI" },
19
+ { "value": "azure", "label": "Azure DevOps" }
20
+ ]
21
+ }
22
+ },
23
+ "name": {
24
+ "type": "string",
25
+ "description": "Workflow name.",
26
+ "$default": {
27
+ "$source": "argv",
28
+ "index": 0
29
+ },
30
+ "x-prompt": "How should we name your workflow?",
31
+ "pattern": "^[a-zA-Z].*$"
32
+ }
33
+ },
34
+ "required": ["ci"]
35
+ }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.eslintConfigPrettierVersion = exports.eslintVersion = exports.typescriptESLintVersion = exports.tslintVersion = exports.prettierVersion = exports.typescriptVersion = exports.angularCliVersion = exports.nxVersion = void 0;
4
- exports.nxVersion = '14.0.0-beta.1';
4
+ exports.nxVersion = '14.0.0-beta.2';
5
5
  exports.angularCliVersion = '~13.3.0';
6
6
  exports.typescriptVersion = '~4.6.2';
7
7
  exports.prettierVersion = '^2.5.1';