@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakubmazanec/carson-templates",
3
- "version": "3.1.3",
3
+ "version": "3.2.0-unstable.de585c76",
4
4
  "description": "Collection of Carson templates.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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 { promises: fs } = require('fs');
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 { stdout: changes } = await exec.getExecOutput('git', ['show', file]);
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 (!packageNames.length) {
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