@jakubmazanec/carson-templates 3.2.0-unstable.1f0ba35d → 3.2.0-unstable.2bf2d5ce

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakubmazanec/carson-templates",
3
- "version": "3.2.0-unstable.1f0ba35d",
3
+ "version": "3.2.0-unstable.2bf2d5ce",
4
4
  "description": "Collection of Carson templates.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,12 +12,11 @@ strategy: overwrite
12
12
 
13
13
  name: Update pull request
14
14
 
15
- on: [workflow_dispatch]
15
+ on: [push]
16
16
 
17
17
  jobs:
18
18
  update_pull_request:
19
19
  name: Update pull request
20
- if: ${{ (github.actor == 'renovate[bot]' && contains(github.head_ref, 'renovate/')) || event.actor }}
21
20
  runs-on: ubuntu-latest
22
21
  timeout-minutes: 15
23
22
  steps:
@@ -46,7 +45,7 @@ jobs:
46
45
  let {promises: fs} = require('node:fs');
47
46
  let path = require('node:path');
48
47
 
49
- async function getPackagesNames(files) {
48
+ async function getProjects(files) {
50
49
  let names = [];
51
50
 
52
51
  for (let file of files) {
@@ -58,16 +57,30 @@ jobs:
58
57
  return names;
59
58
  }
60
59
 
61
- async function createChangeset(fileName, packageBumps, packages) {
60
+ async function createChangeset(fileName, dependencyBumps, projects) {
62
61
  let message = '';
63
62
 
64
- for (let [packageName, bump] of packageBumps) {
65
- message = message + `Dependency \`${packageName}\` updated to version \`${bump}\`.\n`;
63
+ for (let [dependencyName, bump] of dependencyBumps) {
64
+ message = message + `Dependency \`${dependencyName}\` updated to version \`${bump}\`.\n`;
66
65
  }
67
66
 
68
67
  message = message.replace('\n', ' ');
69
68
 
70
- let header = packages.map((packageName) => `'${packageName}': patch`).join('\n');
69
+ let header = projects.map((projectName) => `'${projectName}': patch`).join('\n');
70
+
71
+ await fs.writeFile(fileName, `---\n${header}\n---\n${message.trim()}\n`);
72
+ }
73
+
74
+ async function createChangesetForCarsonTemplates(fileName, dependencyBumps, projects) {
75
+ let message = '';
76
+
77
+ for (let [dependencyName, bump] of dependencyBumps) {
78
+ message = message + `Applies templates from \`${dependencyName}\` updated to version \`${bump}\`.\n`;
79
+ }
80
+
81
+ message = message.replace('\n', ' ');
82
+
83
+ let header = projects.map((projectName) => `'${projectName}': patch`).join('\n');
71
84
 
72
85
  await fs.writeFile(fileName, `---\n${header}\n---\n${message.trim()}\n`);
73
86
  }
@@ -92,19 +105,19 @@ jobs:
92
105
  return bumps;
93
106
  }
94
107
 
95
- async function getPackageUsingCarsonNames(dir = process.cwd(), result = []) {
108
+ async function getProjectsUsingCarsonTemplates(dir = process.cwd(), result = []) {
96
109
  let entries = await fs.readdir(dir, {withFileTypes: true});
97
110
 
98
111
  for (let entry of entries) {
99
112
  let fullPath = path.join(dir, entry.name);
100
113
 
101
114
  if (entry.isDirectory()) {
102
- if (entry.name === '.carson') {
115
+ if (entry.name === '.carson' && dir !== process.cwd()) {
103
116
  let packageJson = JSON.parse(await fs.readFile(path.join(dir, 'package.json'), 'utf8'));
104
117
 
105
118
  result.push(packageJson.name);
106
119
  } else {
107
- await getPackageUsingCarsonNames(fullPath, result);
120
+ await getProjectsUsingCarsonTemplates(fullPath, result);
108
121
  }
109
122
  }
110
123
  }
@@ -124,18 +137,26 @@ jobs:
124
137
  let files = diffFiles
125
138
  .filter((file) => file !== 'package.json') // skip root package.json
126
139
  .filter((file) => file.includes('package.json'));
127
- let packageNames = await getPackagesNames(files);
140
+ let filesWithWorkspace = diffFiles
141
+ .filter((file) => file.includes('package.json'));
128
142
  let {stdout: shortHash} = await exec.getExecOutput('git rev-parse --short HEAD');
129
- let fileName = `.changeset/renovate-${shortHash.trim()}.md`;
130
- let packageBumps = await getBumps(files);
143
+ let changesetName = `.changeset/renovate-${shortHash.trim()}.md`;
144
+ let projects = await getProjects(files);
145
+ let dependencyBumpsWithWorkspace = await getBumps(filesWithWorkspace);
131
146
 
132
147
  if (
133
- !packageNames.length &&
134
- packageBumps.size === 1 &&
135
- packageBumps.has('<%- TEMPLATE_PACKAGE_NAME %>')
148
+ !projects.length &&
149
+ dependencyBumpsWithWorkspace.size === 1 &&
150
+ dependencyBumpsWithWorkspace.has('<%- TEMPLATE_PACKAGE_NAME %>')
136
151
  ) {
137
- packageNames = await getPackageUsingCarsonNames();
138
- } else if (!packageNames.length) {
152
+ projects = await getProjectsUsingCarsonTemplates();
153
+
154
+ let dependencyBumps = await getBumps(filesWithWorkspace);
155
+
156
+ await createChangesetForCarsonTemplates(changesetName, dependencyBumps, projects);
157
+
158
+ return;
159
+ } else if (!projects.length) {
139
160
  console.log('No package.json changes to published packages, skipping...');
140
161
 
141
162
  await exec.exec('npx', ['changeset', '--empty']);
@@ -143,8 +164,9 @@ jobs:
143
164
  return;
144
165
  }
145
166
 
146
- await createChangeset(fileName, packageBumps, packageNames);
167
+ let dependencyBumps = await getBumps(files);
147
168
 
169
+ await createChangeset(changesetName, dependencyBumps, projects);
148
170
 
149
171
  - name: Update Carson
150
172
  run: |