Files
qwen-code/scripts/build_package.js
x22x22 1ea157428c openspec/lightweight-tasks/task1-2-1.md
feat: enhance build process and update .gitignore for Python caches
2025-10-30 01:19:54 +08:00

46 lines
1.4 KiB
JavaScript

/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
import { execSync, spawnSync } from 'node:child_process';
import { writeFileSync } from 'node:fs';
import { join } from 'node:path';
if (!process.cwd().includes('packages')) {
console.error('must be invoked from a package directory');
process.exit(1);
}
// build typescript files
const tscResult = spawnSync('tsc', ['--build'], { stdio: 'inherit' });
if (tscResult.status !== 0) {
const failureReason =
tscResult.status !== null
? `exit code ${tscResult.status}`
: `signal ${tscResult.signal ?? 'unknown'}`;
console.warn(`tsc --build completed with warnings (${failureReason}).`);
}
// copy .{md,json} files
execSync('node ../../scripts/copy_files.js', { stdio: 'inherit' });
// touch dist/.last_build
writeFileSync(join(process.cwd(), 'dist', '.last_build'), '');
process.exit(0);