| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- const test = require('node:test')
- const assert = require('node:assert/strict')
- const fs = require('fs')
- const path = require('path')
- const config = require('./forge.config')
- const repoRoot = path.resolve(__dirname, '..')
- function normalizeResourcePath(resourcePath) {
- return path.resolve(resourcePath)
- }
- function collectExtraResources() {
- return (config.packagerConfig?.extraResource || []).map(normalizeResourcePath)
- }
- function isCoveredByExtraResources(targetPath, extraResources) {
- const normalizedTarget = path.resolve(targetPath)
- return extraResources.some((resource) =>
- normalizedTarget === resource || normalizedTarget.startsWith(resource + path.sep)
- )
- }
- test('packager includes all JavaScript files under dist/', () => {
- const distDir = path.resolve(repoRoot, 'dist')
- const distJsFiles = fs
- .readdirSync(distDir)
- .filter((name) => name.endsWith('.js'))
- .map((name) => path.join(distDir, name))
- assert.ok(
- distJsFiles.length > 0,
- 'Expected dist/ to contain at least one JavaScript file for packaging checks'
- )
- const extraResources = collectExtraResources()
- for (const jsFile of distJsFiles) {
- assert.ok(
- isCoveredByExtraResources(jsFile, extraResources),
- `Expected extraResource to include or cover ${jsFile}`
- )
- }
- })
- test('packager includes dist/build directory', () => {
- const distBuildDir = path.resolve(repoRoot, 'dist/build')
- assert.ok(
- fs.existsSync(distBuildDir),
- 'Expected dist/build directory to exist for packaging checks'
- )
- const extraResources = collectExtraResources()
- assert.ok(
- isCoveredByExtraResources(distBuildDir, extraResources),
- `Expected extraResource to include or cover ${distBuildDir}`
- )
- })
|