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.
@anttiviljami/dtsgenerator
Advanced tools
TypeScript d.ts file generator from JSON Schema file or OpenAPI(Swagger) spec file.
npm install -g dtsgenerator
$ dtsgen --help
Usage: script [options] <file ... | file patterns using node-glob>
Options:
-V, --version output the version number
--url <url> input json schema from the url. (default: )
--stdin read stdin with other files or urls.
-o, --out <file> output d.ts filename.
-n, --namespace <namespace> use root namespace instead of definitions or components.schema from OpenAPI, or -n "" to suppress namespaces.
-h, --help output usage information
Examples:
$ dtsgen --help
$ dtsgen --out types.d.ts schema/**/*.schema.json
$ cat schema1.json | dtsgen
$ dtsgen -o swaggerSchema.d.ts --url https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v2.0/schema.json
$ dtsgen -o petstore.d.ts -n PetStore --url https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v2.0/yaml/petstore.yaml
For customize the output type name.
npm install -S dtsgenerator
For example, it want to add the I
prefix to the interface name.
This is not usual example...
https://github.com/horiuchi/dtsgenerator/blob/master/example/add-prefix/index.ts
import dtsGenerator, { DefaultTypeNameConvertor, SchemaId } from 'dtsgenerator';
import * as fs from 'fs';
const filePath = '../../test/snapshots/json-schema-draft-04/schema/schema.json';
function typeNameConvertor(id: SchemaId): string[] {
const names = DefaultTypeNameConvertor(id);
if (names.length > 0) {
const lastIndex = names.length - 1;
names[lastIndex] = 'I' + names[lastIndex];
}
return names;
}
async function main(): Promise<void> {
const content = JSON.parse( fs.readFileSync(filePath, 'utf-8') );
const result = await dtsGenerator({
contents: [content],
typeNameConvertor,
});
console.log(result);
}
main();
Output debug message by debug library.
$ DEBUG=dtsgen dtsgen schema/news.json
JSON Schema
OpenAPI
nullable
property on OpenAPI by #319. Thank you @sakari :+1:
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#data-types.npmignore
--namespace <namespace>
option to control the emitted namespace. Thank you @DavidBiesack :+1:title
, const
, readOnly
dtsgenerator
is licensed under the MIT license.
Copyright © 2016-2019, Hiroki Horiuchi
FAQs
TypeScript d.ts file generator for JSON Schema file
The npm package @anttiviljami/dtsgenerator receives a total of 7,861 weekly downloads. As such, @anttiviljami/dtsgenerator popularity was classified as popular.
We found that @anttiviljami/dtsgenerator 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.