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.
@putout/plugin-typescript
Advanced tools
TypeScript is JavaScript with syntax for types.
🐊Putout plugin adds ability to transform TypeScript code. Enabled by default for ts
and tsx
files.
npm i putout @putout/plugin-typescript -D
{
"rules": {
"typescript/apply-as-type-assertion": "on",
"typescript/apply-utility-types": "on",
"typescript/convert-generic-to-shorthand": "on",
"typescript/remove-duplicates-from-union": "on",
"typescript/remove-duplicates-interface-keys": "on",
"typescript/remove-duplicates-exports": "on",
"typescript/remove-useless-types-from-constants": "on",
"typescript/remove-unused-types": "on",
"typescript/remove-useless-types": "on",
"typescript/remove-useless-mapped-types": "on"
}
}
const boundaryElement = <HTMLElement>e.target;
const boundaryElement1 = e.target as HTMLElement;
type SuperType1 = {
[Key in keyof Type]?: Type[Key];
};
type SuperType1 = Partial<Type>;
There is no difference at all.
Type[]
is the shorthand syntax for anarray
ofType
.Array<Type>
is the generic syntax. They are completely equivalent.
Convert generic
to shorthand
.
interface A {
x: Array<X>;
y: Array<Y>;
}
interface A {
x: X[];
y: Y[];
}
type x = boolean[]
| A
| string
| A
| string[]
| boolean[];
type x = boolean[]
| A
| string
| string[];
export {
a,
hello,
a,
world,
};
export {
hello,
a,
world,
};
const x: any = 5;
const x = 5;
type n = number;
type s = string;
const x: n = 5;
type n = number;
const x: n = 5;
type oldType = {
a: number,
b: string,
};
type newType = oldType;
const x: newType = {
a: 5,
b: 'hello',
};
type oldType = {
a: number,
b: string,
};
const x: oldType = {
a: 5,
b: 'hello',
};
Remove useless mapped types.
type SuperType = {
[Key in keyof Type]: Type[Key];
};
type SuperType = Type;
Remove useless mapping modifiers.
type SuperType = {
[Key in keyof Type]+?: Type[Key];
};
type SuperType = {
[Key in keyof Type]?: Type[Key];
};
interface Hello {
'hello': any
'hello': string
}
interface Hello {
'hello': string
}
MIT
FAQs
🐊Putout plugin for transforming TypeScript code
The npm package @putout/plugin-typescript receives a total of 7,067 weekly downloads. As such, @putout/plugin-typescript popularity was classified as popular.
We found that @putout/plugin-typescript demonstrated a healthy version release cadence and project activity because the last version was released less than 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.