@jakubmazanec/carson-templates 3.1.3 → 3.2.0-unstable.de585c76
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
|
@@ -15,11 +15,12 @@ name: Update pull request
|
|
|
15
15
|
on:
|
|
16
16
|
pull_request_target:
|
|
17
17
|
branches: [development]
|
|
18
|
+
workflow_dispatch:
|
|
18
19
|
|
|
19
20
|
jobs:
|
|
20
21
|
update_pull_request:
|
|
21
22
|
name: Update pull request
|
|
22
|
-
if: ${{ github.actor == 'renovate[bot]' && contains(github.head_ref, 'renovate/') }}
|
|
23
|
+
if: ${{ (github.actor == 'renovate[bot]' && contains(github.head_ref, 'renovate/')) || event.actor }}
|
|
23
24
|
runs-on: ubuntu-latest
|
|
24
25
|
timeout-minutes: 15
|
|
25
26
|
steps:
|
|
@@ -45,7 +46,8 @@ jobs:
|
|
|
45
46
|
uses: actions/github-script@v6
|
|
46
47
|
with:
|
|
47
48
|
script: |
|
|
48
|
-
let {
|
|
49
|
+
let {promises: fs} = require('node:fs');
|
|
50
|
+
let path = require('node:path');
|
|
49
51
|
|
|
50
52
|
async function getPackagesNames(files) {
|
|
51
53
|
let names = [];
|
|
@@ -63,15 +65,12 @@ jobs:
|
|
|
63
65
|
let message = '';
|
|
64
66
|
|
|
65
67
|
for (let [packageName, bump] of packageBumps) {
|
|
66
|
-
message =
|
|
67
|
-
message + `Dependency \`${packageName}\` updated to version \`${bump}\`.\n`;
|
|
68
|
+
message = message + `Dependency \`${packageName}\` updated to version \`${bump}\`.\n`;
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
message = message.replace('\n', ' ');
|
|
71
72
|
|
|
72
|
-
let header = packages
|
|
73
|
-
.map((packageName) => `'${packageName}': patch`)
|
|
74
|
-
.join('\n');
|
|
73
|
+
let header = packages.map((packageName) => `'${packageName}': patch`).join('\n');
|
|
75
74
|
|
|
76
75
|
await fs.writeFile(fileName, `---\n${header}\n---\n${message.trim()}\n`);
|
|
77
76
|
}
|
|
@@ -80,7 +79,7 @@ jobs:
|
|
|
80
79
|
let bumps = new Map();
|
|
81
80
|
|
|
82
81
|
for (let file of files) {
|
|
83
|
-
let {
|
|
82
|
+
let {stdout: changes} = await exec.getExecOutput('git', ['show', file]);
|
|
84
83
|
|
|
85
84
|
for (let change of changes.split('\n')) {
|
|
86
85
|
if (!change.startsWith('+ ')) {
|
|
@@ -96,6 +95,26 @@ jobs:
|
|
|
96
95
|
return bumps;
|
|
97
96
|
}
|
|
98
97
|
|
|
98
|
+
async function getPackageUsingCarsonNames(dir = process.cwd(), result = []) {
|
|
99
|
+
let entries = await fs.readdir(dir, {withFileTypes: true});
|
|
100
|
+
|
|
101
|
+
for (let entry of entries) {
|
|
102
|
+
let fullPath = path.join(dir, entry.name);
|
|
103
|
+
|
|
104
|
+
if (entry.isDirectory()) {
|
|
105
|
+
if (entry.name === '.carson') {
|
|
106
|
+
let packageJson = JSON.parse(await fs.readFile(path.join(dir, 'package.json'), 'utf8'));
|
|
107
|
+
|
|
108
|
+
result.push(packageJson.name);
|
|
109
|
+
} else {
|
|
110
|
+
await getPackageUsingCarsonNames(fullPath, result);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
|
|
99
118
|
let diffOutput = await exec.getExecOutput('git diff --name-only HEAD~1');
|
|
100
119
|
let diffFiles = diffOutput.stdout.split('\n');
|
|
101
120
|
|
|
@@ -109,8 +128,17 @@ jobs:
|
|
|
109
128
|
.filter((file) => file !== 'package.json') // skip root package.json
|
|
110
129
|
.filter((file) => file.includes('package.json'));
|
|
111
130
|
let packageNames = await getPackagesNames(files);
|
|
131
|
+
let {stdout: shortHash} = await exec.getExecOutput('git rev-parse --short HEAD');
|
|
132
|
+
let fileName = `.changeset/renovate-${shortHash.trim()}.md`;
|
|
133
|
+
let packageBumps = await getBumps(files);
|
|
112
134
|
|
|
113
|
-
if (
|
|
135
|
+
if (
|
|
136
|
+
!packageNames.length &&
|
|
137
|
+
packageBumps.size === 1 &&
|
|
138
|
+
packageBumps.has('<%- TEMPLATE_PACKAGE_NAME %>')
|
|
139
|
+
) {
|
|
140
|
+
packageNames = await getPackageUsingCarsonNames();
|
|
141
|
+
} else if (!packageNames.length) {
|
|
114
142
|
console.log('No package.json changes to published packages, skipping...');
|
|
115
143
|
|
|
116
144
|
await exec.exec('npx', ['changeset', '--empty']);
|
|
@@ -118,14 +146,9 @@ jobs:
|
|
|
118
146
|
return;
|
|
119
147
|
}
|
|
120
148
|
|
|
121
|
-
let { stdout: shortHash } = await exec.getExecOutput(
|
|
122
|
-
'git rev-parse --short HEAD',
|
|
123
|
-
);
|
|
124
|
-
let fileName = `.changeset/renovate-${shortHash.trim()}.md`;
|
|
125
|
-
let packageBumps = await getBumps(files);
|
|
126
|
-
|
|
127
149
|
await createChangeset(fileName, packageBumps, packageNames);
|
|
128
150
|
|
|
151
|
+
|
|
129
152
|
- name: Update Carson
|
|
130
153
|
run: |
|
|
131
154
|
npm install
|