Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
typescript-compiler
Advanced tools
Typescript compiler wrapper. Exposes the TypeScript command line compiler to your code.
$ npm install typescript-compiler
Require the compiler...
var tsc = require('typescript-compiler');
call it like this...
tsc.compile(['a.ts', 'b.ts'], ['--out', 'out.js'])
or this..
var js = tsc.compileString('class TSC { awesome: boolean = true; }')
or even this!
var result = tsc.compileStrings({
'ship.ts' : 'module Navy { export class Ship { isSunk: boolean; } }',
'fleet.ts': '///<reference path="ship.ts" />\n' +
'module Navy { \n' +
'export class Fleet { ships: Ship[] } '+
'}'
})
Did you notice you can use ///<reference /> tags?
Note: A ?
indicates an optional parameter
All Methods accept the following parameters:
tscArgs? :
string[]
|string
,
The same arguments you can pass to tsc when you run it from the command line
options? :CompilerOptions
,
Options to be passed to the compiler
onError? : fn (Diagnostic
)
A function you want called for each error the compiler encounters.
compile(files, tscArgs?, options?, onError?)
input :
string
|string[]
The name of the file or an array of file names to compile.
returnsCompilationResult
Compiles one or many files
tsc.compile(['test/cases/ship.ts', 'test/cases/fleet.ts'],
'-m commonjs -t ES5 --out test/tmp/navy.js');
compileString(input, tscArgs?, options?, onError?)
input :
Map<string>
|StringSource[]
|string[]
The source to compile or an array of sources. The source(s) can be passed as strings orStringSource
objects.
returnsstring
Compiles a string
tsc.compileString('module Navy { class Ship { isSunk: boolean; } }')
compileStrings(input, tscArgs?, options?, onError?)
input :
Map<string>
|StringSource
|string[]
A collection of sources to be compiled.
returnsCompilationResult
Compiles one or many strings
tsc.compileStrings({
"ship.ts" : 'module Navy { export class Ship { isSunk: boolean; }}',
"fleet.ts": '///<reference path="ship.ts" />\n' +
'module Navy { export class Fleet { ships: Ship[] }}'
},
// tscArgs
'--module commonjs -t ES5 --out navy.js',
// options (DEPRECATED, will be removed in the next version)
null,
// onError
function(e) { console.log(e) }
)
When in doubt about what you can pass in the tscArgs
param you can run the compiler from the command line to get some help. Every option you see below is accepted as a value for the tscArgs
array.
$ tsc
Version 1.1.0.1
Syntax: tsc [options] [file ...]
Examples: tsc hello.ts
tsc --out foo.js foo.ts
tsc @args.txt
Options:
-d, --declaration Generates corresponding '.d.ts' file.
-h, --help Print this message.
--mapRoot Specifies the location where debugger should locate map files instead of generated locations.
-m, --module Specify module code generation: 'commonjs' or 'amd'
--noImplicitAny Warn on expressions and declarations with an implied 'any' type.
--out Concatenate and emit output to single file.
--outDir Redirect output structure to the directory.
--removeComments Do not emit comments to output.
--sourceMap Generates corresponding '.map' file.
--sourceRoot Specifies the location where debugger should locate TypeScript files instead of source locations.
-t, --target Specify ECMAScript target version: 'ES3' (default), or 'ES5'
-v, --version Print the compiler's version.
-w, --watch Watch input files.
@<file> Insert command line options and files from a file.
FAQs
Typescript compiler wrapper
We found that typescript-compiler 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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.