@jakubmazanec/carson-templates 3.1.3 → 3.2.0-unstable.b3cceb17

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