mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-14 10:01:08 +08:00
chore: core npm prepare handling
This commit is contained in:
30
tools/scripts/build-finish.ts
Normal file
30
tools/scripts/build-finish.ts
Normal file
@ -0,0 +1,30 @@
|
||||
const path = require('path');
|
||||
const fs = require('fs-extra');
|
||||
const { serializeJson, parseJson } = require('@nx/devkit');
|
||||
|
||||
const rootDir = path.resolve(path.join(__dirname, '..', '..'));
|
||||
|
||||
const cmdArgs = process.argv.slice(2);
|
||||
const packageName = cmdArgs[0];
|
||||
const publish = cmdArgs[1] === 'publish';
|
||||
|
||||
const packagePath = path.join('packages', packageName, 'package.json');
|
||||
const packageJson = JSON.parse(fs.readFileSync(packagePath));
|
||||
const npmPackageName = packageJson.name;
|
||||
console.log(`Building ${npmPackageName}...${publish ? 'and publishing.' : ''}`);
|
||||
|
||||
function cleanPackage() {
|
||||
// helps remove unwanted properties which may be added by other tooling
|
||||
const packageJsonPath = path.resolve(rootDir, 'dist', 'packages', packageName, 'package.json');
|
||||
let packageJson = fs.readFileSync(packageJsonPath, { encoding: 'utf-8' });
|
||||
if (packageJson) {
|
||||
packageJson = parseJson(packageJson);
|
||||
// we don't need module or type properties at the moment
|
||||
delete packageJson['module'];
|
||||
delete packageJson['type'];
|
||||
fs.writeFileSync(packageJsonPath, serializeJson(packageJson));
|
||||
}
|
||||
}
|
||||
|
||||
cleanPackage();
|
||||
console.log(`${npmPackageName} ready to publish.`);
|
Reference in New Issue
Block a user