scripts/copy_files.js (19 lines of code) (raw):

#!/usr/bin/env node /** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ // Copyright 2025 Google LLC // // 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 fs from 'fs'; import path from 'path'; const sourceDir = path.join('src'); const targetDir = path.join('dist', 'src'); const extensionsToCopy = ['.md', '.json', '.sb']; function copyFilesRecursive(source, target) { if (!fs.existsSync(target)) { fs.mkdirSync(target, { recursive: true }); } const items = fs.readdirSync(source, { withFileTypes: true }); for (const item of items) { const sourcePath = path.join(source, item.name); const targetPath = path.join(target, item.name); if (item.isDirectory()) { copyFilesRecursive(sourcePath, targetPath); } else if (extensionsToCopy.includes(path.extname(item.name))) { fs.copyFileSync(sourcePath, targetPath); } } } if (!fs.existsSync(sourceDir)) { console.error(`Source directory ${sourceDir} not found.`); process.exit(1); } copyFilesRecursive(sourceDir, targetDir); console.log('Successfully copied files.');