diff --git a/lib/index.js b/lib/index.js index 2ac99169..1290b653 100644 --- a/lib/index.js +++ b/lib/index.js @@ -38,19 +38,19 @@ const info = logger.info.bind(logger); const error = logger.error.bind(logger); /** - * @typedef {import("../types/api").JsonSchema} JsonSchema + * @typedef {import("../types/api.js").JsonSchema} JsonSchema */ /** - * @typedef {import("../types/api").SchemaList} SchemaList + * @typedef {import("../types/api.js").SchemaList} SchemaList */ /** - * @typedef {import("../types/api").SchemaContent} SchemaContent + * @typedef {import("../types/api.js").SchemaContent} SchemaContent */ /** - * @typedef {import("../types/api").SchemaFiles} SchemaFiles + * @typedef {import("../types/api.js").SchemaFiles} SchemaFiles */ /** - * @typedef {import("../types/api").GeneratedOutput} GeneratedOutput + * @typedef {import("../types/api.js").GeneratedOutput} GeneratedOutput */ /** diff --git a/lib/symbols.js b/lib/symbols.js index 56e399bf..aa59f4e0 100644 --- a/lib/symbols.js +++ b/lib/symbols.js @@ -11,7 +11,7 @@ */ /** - * @typedef {import("../types/api").UniqueSymbols} UniqueSymbols + * @typedef {import("../types/api.js").UniqueSymbols} UniqueSymbols */ export const filename = Symbol('filename'); diff --git a/lib/writeMarkdown.js b/lib/writeMarkdown.js index df1fa957..6185ec1d 100644 --- a/lib/writeMarkdown.js +++ b/lib/writeMarkdown.js @@ -18,13 +18,13 @@ import fs from 'fs-extra'; import yaml from 'js-yaml'; /** - * @typedef {import("../types/api").MarkdownAst} MarkdownAst + * @typedef {import("../types/api.js").MarkdownAst} MarkdownAst */ /** - * @typedef {import("../types/api").MarkdownContent} MarkdownContent + * @typedef {import("../types/api.js").MarkdownContent} MarkdownContent */ /** - * @typedef {import("../types/api").ReadmeContent} ReadmeContent + * @typedef {import("../types/api.js").ReadmeContent} ReadmeContent */ /** * @typedef {{ [name: string]: MarkdownAst }} MarkdownAstFiles diff --git a/lib/writeSchema.js b/lib/writeSchema.js index 7e3bf7e9..23b8dc0a 100644 --- a/lib/writeSchema.js +++ b/lib/writeSchema.js @@ -14,10 +14,10 @@ import path from 'path'; import s from './symbols.js'; /** - * @typedef {import("../types/api").ExtendedJsonSchema} ExtendedJsonSchema + * @typedef {import("../types/api.js").ExtendedJsonSchema} ExtendedJsonSchema */ /** - * @typedef {import("../types/api").SchemaContent} SchemaContent + * @typedef {import("../types/api.js").SchemaContent} SchemaContent */ /** diff --git a/package-lock.json b/package-lock.json index dfcb2141..9b1a39da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6534,9 +6534,9 @@ } }, "node_modules/micromark-extension-gfm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", - "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz", + "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==", "dependencies": { "micromark-extension-gfm-autolink-literal": "^1.0.0", "micromark-extension-gfm-footnote": "^1.0.0", @@ -18214,9 +18214,9 @@ } }, "micromark-extension-gfm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", - "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz", + "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==", "requires": { "micromark-extension-gfm-autolink-literal": "^1.0.0", "micromark-extension-gfm-footnote": "^1.0.0", diff --git a/package.json b/package.json index 8b24af53..8d0f99df 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,33 @@ "jsonschema2md": "./cli.js" }, "type": "module", + "exports": { + ".": { + "import": { + "types": "./types/index.d.ts", + "default": "./lib/index.js" + } + }, + "./lib/*.js": { + "import": { + "types": "./types/*.d.ts", + "default": "./lib/*.js" + } + }, + "./lib/*": { + "import": { + "types": "./types/*.d.ts", + "default": "./lib/*.js" + } + }, + "./lib/index": { + "import": { + "types": "./types/index.d.ts", + "default": "./lib/index.js" + } + }, + "./package.json": "./package.json" + }, "scripts": { "semantic-release": "npm run emit-types && npx semantic-release", "commit": "git-cz", diff --git a/tsconfig.json b/tsconfig.json index 620251bf..8832f1d5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { "target": "es6", - "module": "commonjs", - "moduleResolution": "node", + "module": "NodeNext", + "moduleResolution": "NodeNext", "allowJs": true, "declaration": true, "emitDeclarationOnly": true, diff --git a/types/formatInfo.d.ts b/types/formatInfo.d.ts index 5e69e1df..f9f94d33 100644 --- a/types/formatInfo.d.ts +++ b/types/formatInfo.d.ts @@ -1,8 +1,8 @@ export default function formatmeta(schema: any): { - longcomment: import("mdast").Root; + longcomment: import("remark-stringify/node_modules/@types/mdast").Root; shortcomment: any; comment: string; - longdescription: import("mdast").Root; + longdescription: import("remark-stringify/node_modules/@types/mdast").Root; shortdescription: any; description: any; abstract: boolean; diff --git a/types/index.d.ts b/types/index.d.ts index 3856573f..bc778b67 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -1,17 +1,17 @@ /** - * @typedef {import("../types/api").JsonSchema} JsonSchema + * @typedef {import("../types/api.js").JsonSchema} JsonSchema */ /** - * @typedef {import("../types/api").SchemaList} SchemaList + * @typedef {import("../types/api.js").SchemaList} SchemaList */ /** - * @typedef {import("../types/api").SchemaContent} SchemaContent + * @typedef {import("../types/api.js").SchemaContent} SchemaContent */ /** - * @typedef {import("../types/api").SchemaFiles} SchemaFiles + * @typedef {import("../types/api.js").SchemaFiles} SchemaFiles */ /** - * @typedef {import("../types/api").GeneratedOutput} GeneratedOutput + * @typedef {import("../types/api.js").GeneratedOutput} GeneratedOutput */ /** * Public API for jsonschema2md that can be used to turn JSON Schema files @@ -42,7 +42,7 @@ * skip in markdown. * @returns {GeneratedOutput} List of raw markdown that were generated from input schema. */ -export function jsonschema2md(schema: JsonSchema | import("../types/api").SchemaFiles, options: { +export function jsonschema2md(schema: JsonSchema | import("../types/api.js").SchemaFiles, options: { schemaPath?: string; outDir?: string; metadata?: { @@ -68,8 +68,8 @@ export function jsonschema2md(schema: JsonSchema | import("../types/api").Schema export function main(args: { [key: string]: unknown; }): Promise; -export type JsonSchema = import("../types/api").JsonSchema; -export type SchemaList = import("../types/api").SchemaList; -export type SchemaContent = import("../types/api").SchemaContent; -export type SchemaFiles = import("../types/api").SchemaFiles; -export type GeneratedOutput = import("../types/api").GeneratedOutput; +export type JsonSchema = import("../types/api.js").JsonSchema; +export type SchemaList = import("../types/api.js").SchemaList; +export type SchemaContent = import("../types/api.js").SchemaContent; +export type SchemaFiles = import("../types/api.js").SchemaFiles; +export type GeneratedOutput = import("../types/api.js").GeneratedOutput; diff --git a/types/symbols.d.ts b/types/symbols.d.ts index 39539bdc..ee7cd9bf 100644 --- a/types/symbols.d.ts +++ b/types/symbols.d.ts @@ -1,10 +1,10 @@ /** - * @typedef {import("../types/api").UniqueSymbols} UniqueSymbols + * @typedef {import("../types/api.js").UniqueSymbols} UniqueSymbols */ export const filename: unique symbol; export const fullpath: unique symbol; export default symbols; -export type UniqueSymbols = import("../types/api").UniqueSymbols; +export type UniqueSymbols = import("../types/api.js").UniqueSymbols; /** * @type {UniqueSymbols} * */ diff --git a/types/writeMarkdown.d.ts b/types/writeMarkdown.d.ts index b652eaa9..9bc90ba9 100644 --- a/types/writeMarkdown.d.ts +++ b/types/writeMarkdown.d.ts @@ -1,11 +1,11 @@ /** - * @typedef {import("../types/api").MarkdownAst} MarkdownAst + * @typedef {import("../types/api.js").MarkdownAst} MarkdownAst */ /** - * @typedef {import("../types/api").MarkdownContent} MarkdownContent + * @typedef {import("../types/api.js").MarkdownContent} MarkdownContent */ /** - * @typedef {import("../types/api").ReadmeContent} ReadmeContent + * @typedef {import("../types/api.js").ReadmeContent} ReadmeContent */ /** * @typedef {{ [name: string]: MarkdownAst }} MarkdownAstFiles @@ -48,9 +48,9 @@ export function writereadme({ out, error, info, meta, }: { [key: string]: string; }; }): (markdownAst: MarkdownAst) => ReadmeContent; -export type MarkdownAst = import("../types/api").MarkdownAst; -export type MarkdownContent = import("../types/api").MarkdownContent; -export type ReadmeContent = import("../types/api").ReadmeContent; +export type MarkdownAst = import("../types/api.js").MarkdownAst; +export type MarkdownContent = import("../types/api.js").MarkdownContent; +export type ReadmeContent = import("../types/api.js").ReadmeContent; export type MarkdownAstFiles = { [name: string]: import("mdast").Root; }; diff --git a/types/writeSchema.d.ts b/types/writeSchema.d.ts index b321faa2..8631a81f 100644 --- a/types/writeSchema.d.ts +++ b/types/writeSchema.d.ts @@ -1,8 +1,8 @@ /** - * @typedef {import("../types/api").ExtendedJsonSchema} ExtendedJsonSchema + * @typedef {import("../types/api.js").ExtendedJsonSchema} ExtendedJsonSchema */ /** - * @typedef {import("../types/api").SchemaContent} SchemaContent + * @typedef {import("../types/api.js").SchemaContent} SchemaContent */ /** * Write the JSON Schemas to filesystem or an object @@ -15,5 +15,5 @@ export default function writeSchema({ schemadir, origindir }: { schemadir?: string; origindir?: string; }): (schemas: ExtendedJsonSchema[]) => SchemaContent[]; -export type ExtendedJsonSchema = import("../types/api").ExtendedJsonSchema; -export type SchemaContent = import("../types/api").SchemaContent; +export type ExtendedJsonSchema = import("../types/api.js").ExtendedJsonSchema; +export type SchemaContent = import("../types/api.js").SchemaContent;