Skip to content

Commit

Permalink
feat(bezier-icons): fix to javascript because of typescript file load…
Browse files Browse the repository at this point in the history
… fail
  • Loading branch information
yangwooseong committed Sep 27, 2023
1 parent 06330f9 commit 9e3f147
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 45 deletions.
2 changes: 1 addition & 1 deletion packages/bezier-icons/scripts/add-pr-description.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* eslint-disable no-console */
import { getDescription } from './utils/getPrDescription'
const { getDescription } = require('./utils/getPrDescription.js')

const { exec } = require('child_process')

Expand Down
33 changes: 33 additions & 0 deletions packages/bezier-icons/scripts/utils/generateIconFilesFromJson.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
const fs = require('fs')
const path = require('path')

const flushAndMakeIconsDirectory = (dir) => {
if (fs.existsSync(dir)) {
fs.rmSync(dir, { recursive: true, force: true })
fs.mkdirSync(dir)
}
}

const makeSvgFiles = (dir) => ([iconName, svgObject]) => {
const svgPath = path.resolve(dir, `${iconName}.svg`)
const { svg } = svgObject

fs.writeFileSync(svgPath, svg, 'utf-8')
}

const generateSVGFilesFromMap = (iconsJson, dir) => {
const svgByName = JSON.parse(fs.readFileSync(iconsJson, 'utf-8'))

Object.entries(svgByName)
.forEach(makeSvgFiles(dir))
}


const generateIconFiles = (iconsJson, dir) => {
flushAndMakeIconsDirectory(dir)
generateSVGFilesFromMap(iconsJson, dir)
}

module.exports = {
generateIconFiles,
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import fs from 'fs'
import path from 'path'
const fs = require('fs')
const path = require('path')

import { generateIconFiles } from './generateIconFilesFromJson'
const { generateIconFiles } = require('./generateIconFilesFromJson')

jest.mock('fs', () => ({
existsSync: () => false,
rmSync: () => {},
mkdirSync: () => {},
readFileSync: (v: string) => v,
readFileSync: (v) => v,
writeFileSync: jest.fn(),
}))

Expand Down
30 changes: 0 additions & 30 deletions packages/bezier-icons/scripts/utils/generateIconFilesFromJson.ts

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
type IconsByStatus = Record<string, string[]>

const statusByKey: Record<string, string> = {
const statusByKey = {
M: 'modified',
A: 'added',
D: 'deleted',
}

const emojiByKey: Record<string, string> = {
const emojiByKey = {
M: '✏️',
A: '🆕',
D: '🗑️',
}

const getIconName = (path: string) => path.split('/').at(-1)
const getIconName = (path) => path.split('/').at(-1)

const getSummary = (iconsByStatus: IconsByStatus) => {
const getSummary = (iconsByStatus) => {
let res = ''

for (const [key, icons] of Object.entries(iconsByStatus)) {
Expand All @@ -24,7 +22,7 @@ const getSummary = (iconsByStatus: IconsByStatus) => {
return res
}

const getTable = (iconsByStatus: IconsByStatus) => {
const getTable = (iconsByStatus) => {
let res = '| Name | Status |\n|--|--|\n'

for (const [key, icons] of Object.entries(iconsByStatus)) {
Expand All @@ -36,7 +34,7 @@ const getTable = (iconsByStatus: IconsByStatus) => {
return res
}

export const getDescription = (gitLog: string) => {
const getDescription = (gitLog) => {
let description = '### Icon update is ready to be merged! 🎉\n\n'

const iconsByStatus = gitLog
Expand All @@ -56,11 +54,15 @@ export const getDescription = (gitLog: string) => {
acc[key].push(icon)
}
return acc
}, {} as Record<string, string[]>)
}, {})

description += getSummary(iconsByStatus)
description += '\n'
description += getTable(iconsByStatus)

return description.trim()
}

module.exports = {
getDescription,
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getDescription } from './getPrDescription'
const { getDescription } = require('./getPrDescription.js/index.js')

describe('getDescription function', () => {
test('generates pr description from git log', () => {
Expand Down

0 comments on commit 9e3f147

Please sign in to comment.