Skip to content

Commit 1b257db

Browse files
authored
Merge pull request #49 from rajbos/makedir
Make the output directories if not exists
2 parents 6c1d547 + 29d8f44 commit 1b257db

File tree

4 files changed

+34
-7
lines changed

4 files changed

+34
-7
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,4 +236,5 @@ $RECYCLE.BIN/
236236

237237
# End of https://www.toptal.com/developers/gitignore/api/node,windows,macos,linux,visualstudiocode
238238

239-
.vscode/
239+
.vscode/
240+
reporting

dist/index.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27793,7 +27793,7 @@ module.exports = {
2779327793
const got = __nccwpck_require__(3061)
2779427794
const core = __nccwpck_require__(2186)
2779527795
const ejs = __nccwpck_require__(8431)
27796-
const { readFile } = (__nccwpck_require__(7147).promises)
27796+
const { readFile, existsSync, mkdirSync } = (__nccwpck_require__(7147).promises)
2779727797
const { join } = __nccwpck_require__(1017)
2779827798
const { softAssign } = __nccwpck_require__(7348)
2779927799
const databaseSchema = __nccwpck_require__(5324)
@@ -27850,14 +27850,24 @@ const generateIssueContent = async (scores, renderBadge) => {
2785027850
return ejs.render(template, { scores: scoresInScope, renderBadge })
2785127851
}
2785227852

27853+
const makeDirectory = ({ path }) => {
27854+
const directories = path.split('/').slice(0, -1).join('/')
27855+
core.debug(`Making directory ${directories}`)
27856+
if (!existsSync(directories)) {
27857+
core.debug('Making directory: ', path)
27858+
mkdirSync(directories, { recursive: true })
27859+
}
27860+
}
27861+
2785327862
module.exports = {
2785427863
validateDatabaseIntegrity: validateAgainstSchema(databaseSchema, 'database'),
2785527864
validateScopeIntegrity: validateAgainstSchema(scopeSchema, 'scope'),
2785627865
getProjectScore,
2785727866
saveScore,
2785827867
getScore,
2785927868
generateReportContent,
27860-
generateIssueContent
27869+
generateIssueContent,
27870+
makeDirectory
2786127871
}
2786227872

2786327873

@@ -28137,7 +28147,7 @@ const { readFile, writeFile, stat } = (__nccwpck_require__(7147).promises)
2813728147
const { isDifferent } = __nccwpck_require__(9497)
2813828148
const { updateOrCreateSegment } = __nccwpck_require__(7794)
2813928149
const { generateScores, generateScope } = __nccwpck_require__(4351)
28140-
const { validateDatabaseIntegrity, validateScopeIntegrity } = __nccwpck_require__(1608)
28150+
const { validateDatabaseIntegrity, validateScopeIntegrity, makeDirectory } = __nccwpck_require__(1608)
2814128151

2814228152
async function run () {
2814328153
let octokit
@@ -28234,6 +28244,8 @@ async function run () {
2823428244

2823528245
// Save changes
2823628246
core.info('Saving changes to database and report')
28247+
console.log('Saving changes to database and report')
28248+
makeDirectory(reportPath)
2823728249
await writeFile(databasePath, JSON.stringify(newDatabaseState, null, 2))
2823828250
await writeFile(reportPath, reportTagsEnabled
2823928251
? updateOrCreateSegment({
@@ -28246,6 +28258,7 @@ async function run () {
2824628258

2824728259
if (discoveryEnabled) {
2824828260
core.info('Saving changes to scope...')
28261+
makeDirectory(scopePath)
2824928262
await writeFile(scopePath, JSON.stringify(scope, null, 2))
2825028263
}
2825128264

src/action.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const { readFile, writeFile, stat } = require('fs').promises
77
const { isDifferent } = require('@ulisesgascon/is-different')
88
const { updateOrCreateSegment } = require('@ulisesgascon/text-tags-manager')
99
const { generateScores, generateScope } = require('./')
10-
const { validateDatabaseIntegrity, validateScopeIntegrity } = require('./utils')
10+
const { validateDatabaseIntegrity, validateScopeIntegrity, makeDirectory } = require('./utils')
1111

1212
async function run () {
1313
let octokit
@@ -104,6 +104,8 @@ async function run () {
104104

105105
// Save changes
106106
core.info('Saving changes to database and report')
107+
console.log('Saving changes to database and report')
108+
makeDirectory(reportPath)
107109
await writeFile(databasePath, JSON.stringify(newDatabaseState, null, 2))
108110
await writeFile(reportPath, reportTagsEnabled
109111
? updateOrCreateSegment({
@@ -116,6 +118,7 @@ async function run () {
116118

117119
if (discoveryEnabled) {
118120
core.info('Saving changes to scope...')
121+
makeDirectory(scopePath)
119122
await writeFile(scopePath, JSON.stringify(scope, null, 2))
120123
}
121124

src/utils.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const got = require('got')
22
const core = require('@actions/core')
33
const ejs = require('ejs')
4-
const { readFile } = require('fs').promises
4+
const { readFile, existsSync, mkdirSync } = require('fs').promises
55
const { join } = require('path')
66
const { softAssign } = require('@ulisesgascon/soft-assign-deep-property')
77
const databaseSchema = require('../schemas/database.json')
@@ -58,12 +58,22 @@ const generateIssueContent = async (scores, renderBadge) => {
5858
return ejs.render(template, { scores: scoresInScope, renderBadge })
5959
}
6060

61+
const makeDirectory = ( path ) => {
62+
const directories = path.split('/').slice(0, -1).join('/')
63+
core.debug(`Making directory ${directories}`)
64+
if (!existsSync(directories)) {
65+
core.debug('Making directory: ', path)
66+
mkdirSync(directories, { recursive: true })
67+
}
68+
}
69+
6170
module.exports = {
6271
validateDatabaseIntegrity: validateAgainstSchema(databaseSchema, 'database'),
6372
validateScopeIntegrity: validateAgainstSchema(scopeSchema, 'scope'),
6473
getProjectScore,
6574
saveScore,
6675
getScore,
6776
generateReportContent,
68-
generateIssueContent
77+
generateIssueContent,
78+
makeDirectory
6979
}

0 commit comments

Comments
 (0)