Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
ts-creator
Advanced tools
npm install ts-creator
import creator from 'ts-creator'
const generatedFactoryCode = creator(`const foo = "your code here"`)
import { transformSourceFile } from 'ts-creator'
declare const file: ts.SourceFile
const factoryFile = transformSourceFile(file)
import { transformNode } from 'ts-creator'
declare const node: ts.Expression
const factoryNode = transformNode(node)
If you want to write a TypeScript codegen.
You got TypeScript code:
function foo(bar: number): number {
return bar + 1
}
ts-creator generate TypeScript factory from given code to:
ts.createFunctionDeclaration(
undefined,
undefined,
undefined,
ts.createIdentifier('foo'),
undefined,
[
ts.createParameter(
undefined,
undefined,
undefined,
ts.createIdentifier('bar'),
undefined,
ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),
undefined
)
],
ts.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword),
ts.createBlock(
[
ts.createReturn(
ts.createBinary(
ts.createIdentifier('bar'),
ts.createToken(ts.SyntaxKind.PlusToken),
ts.createNumericLiteral('1')
)
)
],
true
)
)
Result after run the generated factory code:
function foo(bar: number): number {
return bar + 1;
}
Use ts-creator
cli to generate code:
ts-creator <input> [options]
Simple usage:
# print generate code
ts-creator foo.ts
# or read data from pipeline
echo 42 | ts-creator
cat foo.ts | ts-creator
ts-creator < foo.ts
# write to file
ts-creator foo.ts -o foo.js
ts-creator foo.ts > foo.js
You can install ts-creator
globally.
npm i -g ts-creator
# or yarn
yarn global add ts-creator
If you install locally, may prepend npx
or yarn
you need.
# use npm
npm i ts-creator
npx ts-creator -h
# use yarn
yarn add ts-creator
yarn ts-creator -h
option | description | type | default |
---|---|---|---|
--target, -t | generate targets | Enum { expression , runnable , esmodule , commonjs } | expression |
--output, -o | output to filepath | String | undefined |
--tsx | tsx support | Boolean | false |
--color | colorful print | Boolean | true |
--semi | print semicolons at the ends of statements | Boolean | false |
--single-quote | use single quotes instead of double quotes | Boolean | true |
--jsx-single-quote | use single quotes in JSX | Boolean | false |
--bracket-spacing | print spaces between brackets in object literals | Boolean | true |
--tab-width | pecify the number of spaces per indentation-level | Number | 2 |
--use-tabs | indent lines with tabs instead of spaces | Boolean | false |
--trailing-comma | print trailing commas wherever possible | Enum { none , es5 , all } | none |
--prose-wrap | how to wrap output | Enum { always , never , preserve } | preserve |
--version, -v | show ts-creator versions | Boolean | false |
--help, -h | show helper | Boolean | false |
FAQs
A code generator to generate TypeScript code generator from TypeScript code
The npm package ts-creator receives a total of 11 weekly downloads. As such, ts-creator popularity was classified as not popular.
We found that ts-creator 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
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.