
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
typescript-cp
Advanced tools
Copy non-typescript files to outDir
$ npm install typescript-cp -D
# Copy
$ tscp
# Copy for TS project references
$ tscp -b
# Watcher
$ tscp -w
# Watcher for TS project references
$ tscp -b -w
# Custom compiler settings
$ tscp -p tsconfig.production.json
# Help
$ tscp -h
package.json
{
//...
"scripts": {
"start": "tsc -w & tscp -w",
"build": "tsc && tscp"
},
//...
}
.tscprc
{
"ignored_files": ['**/an_ignored_file.ext'], // files not to copy (defaults to `['node_modules']`)
"compiled_files": [], // files compiled by TS (these also get ignored) (defaults to `['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx']`)
"use_ts_exclude": true, // ignore files that are listed in the tsconfig `exclude` array (defaults to `true`)
}
You can attach basic loader rules to the files. Loaders accept the actual content of the given file as the first parameter, and must return the content of the output file.
.tscprc.js
const path = require('path');
/**
* @type {import('typescript-cp/dist/types').Config}
*/
module.exports = {
rules: [
{
test: /\.(scss|sass)$/,
include: [
path.resolve('./file-to-include.css'),
],
exclude: (source_path) => {
return source_path.indexOf('file-to-include.sass') > -1;
},
use: [
{
loader: (content, meta) => {
// Do something with `content`
return content;
},
},
],
},
],
};
See Config and Rule types in src/types.ts for the complete reference.
$ npm run build
Sponsored by: SRG Group Kft.
FAQs
Copy non-typescript files to outDir
We found that typescript-cp demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.