chore: core npm prepare handling

This commit is contained in:
Nathan Walker
2025-05-07 13:31:16 -07:00
parent bc887dfb1d
commit 93e6eb9687
3 changed files with 44 additions and 1 deletions

View File

@ -37,7 +37,7 @@ jobs:
# TODO: build ui-mobile-base first
- name: Build @nativescript/core
run: npx nx run core:build
run: npx nx run core:build.npm
- name: Publish @nativescript/core
working-directory: dist/packages/core

View File

@ -62,6 +62,19 @@
},
"dependsOn": ["^build"]
},
"build.npm": {
"executor": "nx:run-commands",
"options": {
"commands": ["node tools/scripts/build-finish.ts core"],
"parallel": false
},
"outputs": ["{workspaceRoot}/dist/packages/core"],
"dependsOn": [
{
"target": "build"
}
]
},
"test": {
"executor": "@nx/vite:test",
"outputs": ["{options.reportsDirectory}"],

View 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.`);