Skip to content

Commit 32c7e0c

Browse files
authored
Merge pull request #390 from knockout/claude/inspiring-fermat-4GW77
refactor: migrate generate-verified-behaviors to Bun-native APIs; remove stale @deprecated
2 parents f77d244 + c6f876c commit 32c7e0c

2 files changed

Lines changed: 9 additions & 15 deletions

File tree

packages/utils/src/object.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,6 @@ export function getObjectOwnProperty(obj, propName: string) {
5656
return hasOwnProperty(obj, propName) ? obj[propName] : undefined
5757
}
5858

59-
/**
60-
* @deprecated Function is unused
61-
* */
6259
export function clonePlainObjectDeep(obj, seen?: any[]) {
6360
if (!seen) {
6461
seen = new Array()

tko.io/scripts/generate-verified-behaviors.mjs

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import fs from 'node:fs/promises'
1+
import { readdir, mkdir } from 'node:fs/promises'
22
import path from 'node:path'
33
import { fileURLToPath } from 'node:url'
44

@@ -42,8 +42,7 @@ async function readPackageDescription(packageDir) {
4242
const packageJsonPath = path.join(packagesRoot, packageDir, 'package.json')
4343

4444
try {
45-
const raw = await fs.readFile(packageJsonPath, 'utf8')
46-
const parsed = JSON.parse(raw)
45+
const parsed = await Bun.file(packageJsonPath).json()
4746
return parsed.description ?? ''
4847
} catch {
4948
return ''
@@ -90,17 +89,15 @@ async function assertCuratedPackageIsValid(pkg) {
9089

9190
for (const spec of behavior.specs) {
9291
const specPath = path.join(repoRoot, spec)
93-
try {
94-
await fs.access(specPath)
95-
} catch {
92+
if (!await Bun.file(specPath).exists()) {
9693
throw new Error(`Missing spec reference: ${spec}`)
9794
}
9895
}
9996
}
10097
}
10198

10299
async function getAllPackageDirs() {
103-
const entries = await fs.readdir(packagesRoot, { withFileTypes: true })
100+
const entries = await readdir(packagesRoot, { withFileTypes: true })
104101
return entries
105102
.filter(entry => entry.isDirectory())
106103
.map(entry => entry.name)
@@ -111,7 +108,7 @@ async function readCuratedPackage(packageDir) {
111108
const curatedPath = path.join(packagesRoot, packageDir, curatedFilename)
112109

113110
try {
114-
const raw = await fs.readFile(curatedPath, 'utf8')
111+
const raw = await Bun.file(curatedPath).text()
115112
return {
116113
data: JSON.parse(raw),
117114
curatedRelativePath: `packages/${packageDir}/${curatedFilename}`
@@ -128,7 +125,7 @@ async function hasSpecFiles(packageDir) {
128125
const specDir = path.join(packagesRoot, packageDir, 'spec')
129126

130127
try {
131-
const entries = await fs.readdir(specDir, { withFileTypes: true })
128+
const entries = await readdir(specDir, { withFileTypes: true })
132129
const hasTests = entries.some(
133130
entry => entry.isFile() && /\.(?:[cm]?[jt]s|tsx|jsx)$/.test(entry.name)
134131
)
@@ -190,10 +187,10 @@ function warnForPackagesNeedingCuration(packages) {
190187
const allPackageDirs = await getAllPackageDirs()
191188
const packages = await buildPackages(allPackageDirs)
192189
warnForPackagesNeedingCuration(packages)
193-
await fs.mkdir(outputDir, { recursive: true })
190+
await mkdir(outputDir, { recursive: true })
194191

195192
await Promise.all(
196-
packages.map(pkg => fs.writeFile(path.join(outputDir, `${pkg.slug}.md`), renderPackage(pkg), 'utf8'))
193+
packages.map(pkg => Bun.write(path.join(outputDir, `${pkg.slug}.md`), renderPackage(pkg)))
197194
)
198195

199-
await fs.writeFile(path.join(outputDir, 'index.md'), renderIndex(packages), 'utf8')
196+
await Bun.write(path.join(outputDir, 'index.md'), renderIndex(packages))

0 commit comments

Comments
 (0)