diff --git a/lib/db/index.js b/lib/db/index.js index 7e5dd7d..b625754 100644 --- a/lib/db/index.js +++ b/lib/db/index.js @@ -1,7 +1,7 @@ 'use strict' const path = require('path') const level = require('level') -const fs = require('fs-extra') +const fs = require('node:fs/promises') const buildIndex = require('./build-index') const readProject = require('./read-project') const readFullIndex = require('./read-full-index') @@ -14,7 +14,7 @@ async function connect (dbPath) { } const dbp = dbPath || 'data.db' - await fs.ensureDir(path.dirname(dbp)) + await fs.mkdir(path.dirname(dbp), { recursive: true }) _db = _db || level(dbp, { valueEncoding: 'json' }) diff --git a/lib/template/builder.js b/lib/template/builder.js index 93fdd90..72b5754 100644 --- a/lib/template/builder.js +++ b/lib/template/builder.js @@ -1,6 +1,6 @@ 'use strict' const path = require('path') -const fs = require('fs-extra') +const fs = require('node:fs/promises') const cptmpl = require('cptmpl') const buildjs = require('@wesleytodd/buildjs') const buildcss = require('@wesleytodd/buildcss') @@ -35,7 +35,8 @@ module.exports = async function (config, data) { function buildData (outDir, data, config) { return Promise.all(Object.entries(data).map(async ([name, data]) => { const outPath = path.join(outDir, 'data', `${name}.json`) - await fs.outputJSON(outPath, data) + await fs.mkdir(path.dirname(outPath), { recursive: true }) + await fs.writeFile(outPath, `${JSON.stringify(data)}\n`) return `${config.baseUrl}/${path.relative(outDir, outPath)}` })) } @@ -48,7 +49,8 @@ function buildIcons (outDir, config) { const svg = octicons[icon].toSVG({ xmlns: 'http://www.w3.org/2000/svg' }) - await fs.outputFile(outPath, svg) + await fs.mkdir(path.dirname(outPath), { recursive: true }) + await fs.writeFile(outPath, svg) return `${config.baseUrl}/${path.relative(outDir, outPath)}` })) } diff --git a/package.json b/package.json index 381973f..68c01b0 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,6 @@ "es5-lit-element": "^2.2.1", "es5-lit-html": "^1.1.1", "express": "^5.2.1", - "fs-extra": "^8.1.0", "inquirer": "^12.4.2", "install": "^0.13.0", "level": "^5.0.1", diff --git a/test/build-index.js b/test/build-index.js index 8de7e49..cab361f 100644 --- a/test/build-index.js +++ b/test/build-index.js @@ -3,7 +3,7 @@ const { suite, test, beforeEach, afterEach } = require('mocha') const assert = require('assert') const os = require('os') const path = require('path') -const fs = require('fs-extra') +const fs = require('node:fs/promises') const level = require('level') const github = require('../lib/github') const files = require('../lib/files') @@ -49,7 +49,7 @@ suite('Private package indexing', () => { afterEach(async () => { for (const reset of restore) reset() await db.close() - await fs.remove(directory) + await fs.rm(directory, { recursive: true, force: true }) }) function index () { diff --git a/test/index.js b/test/index.js index 0e1631b..28df717 100644 --- a/test/index.js +++ b/test/index.js @@ -2,7 +2,7 @@ require('dotenv').config() const { suite, test, before } = require('mocha') const assert = require('assert') -const fs = require('fs-extra') +const fs = require('node:fs/promises') const pkg = require('../package.json') const statusboard = require('../') @@ -19,7 +19,7 @@ Then run: const CONFIG = require('./fixtures/config') suite(pkg.name, () => { before(async () => { - await fs.remove(CONFIG.outputDirectory) + await fs.rm(CONFIG.outputDirectory, { recursive: true, force: true }) }) test('Configure a statusboard instance', async () => {