X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=packages%2Ftypes%2Fgenerate-package.ts;h=125259bb406ce4a2bbe6d29bd7ffd15576dfc24a;hb=22e909224c023c10699fce5c8b9db4be2cd049d7;hp=853989d684f9783affdf851e7b7018aa4b763437;hpb=21d68e68039a1eefbe6213fbde46e737e520ee7d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/packages/types/generate-package.ts b/packages/types/generate-package.ts index 853989d68..125259bb4 100644 --- a/packages/types/generate-package.ts +++ b/packages/types/generate-package.ts @@ -1,8 +1,8 @@ import { execSync } from 'child_process' import depcheck, { PackageDependencies } from 'depcheck' import { copyFile, readJson, remove, writeFile, writeJSON } from 'fs-extra' -import { resolve } from 'path' -import { cwd } from 'process' +import { join, resolve } from 'path' +import { root } from '../../shared/core-utils' if (!process.argv[2]) { console.error('Need version as argument') @@ -20,14 +20,14 @@ run() }) async function run () { - const typesPath = resolve(cwd(), './packages/types/') - const typesDistPath = resolve(cwd(), typesPath, './dist/') - const typesDistPackageJsonPath = resolve(typesDistPath, './package.json') - const typesDistGitIgnorePath = resolve(typesDistPath, './.gitignore') - const mainPackageJson = await readJson(resolve(cwd(), './package.json')) - const distTsConfigPath = resolve(cwd(), typesPath, './tsconfig.dist.json') + const typesPath = __dirname + const typesDistPath = join(typesPath, 'dist') + const typesDistPackageJsonPath = join(typesDistPath, 'package.json') + const typesDistGitIgnorePath = join(typesDistPath, '.gitignore') + const mainPackageJson = await readJson(join(root(), 'package.json')) + const distTsConfigPath = join(typesPath, 'tsconfig.dist.json') const distTsConfig = await readJson(distTsConfigPath) - const clientPackageJson = await readJson(resolve(cwd(), './client/package.json')) + const clientPackageJson = await readJson(join(root(), 'client', 'package.json')) await remove(typesDistPath) execSync('npm run tsc -- -b --verbose packages/types', { stdio: 'inherit' }) @@ -35,8 +35,9 @@ async function run () { const allDependencies = Object.assign( mainPackageJson.dependencies, - mainPackageJson.devDepencies, - clientPackageJson.dependencies + mainPackageJson.devDependencies, + clientPackageJson.dependencies, + clientPackageJson.devDependencies ) as PackageDependencies // https://github.com/depcheck/depcheck#api @@ -50,7 +51,20 @@ async function run () { package: { dependencies: allDependencies } } - const { dependencies: unusedDependencies } = await depcheck(resolve(typesPath), depcheckOptions) + const result = await depcheck(typesDistPath, depcheckOptions) + + if (Object.keys(result.invalidDirs).length !== 0) { + console.error('Invalid directories detected.', { invalidDirs: result.invalidDirs }) + process.exit(-1) + } + + if (Object.keys(result.invalidFiles).length !== 0) { + console.error('Invalid files detected.', { invalidFiles: result.invalidFiles }) + process.exit(-1) + } + + const unusedDependencies = result.dependencies + console.log(`Removing ${Object.keys(unusedDependencies).length} unused dependencies.`) const dependencies = Object .keys(allDependencies)