@storybook/addon-svelte-csf
Advanced tools
Comparing version 4.2.0--canary.186.ede9fbf.0 to 4.2.0--canary.186.fdebf5c.0
@@ -19,3 +19,3 @@ /** | ||
export async function preTransformPlugin() { | ||
const [{ createFilter }] = await Promise.all([import('vite')]); | ||
const [{ createFilter }, { print }] = await Promise.all([import('vite'), import('svelte-ast-print')]); | ||
const include = /\.stories\.svelte$/; | ||
@@ -29,10 +29,16 @@ const filter = createFilter(include); | ||
return undefined; | ||
const { print } = await import('svelte-ast-print'); | ||
const svelteAST = getSvelteAST({ code, filename: id }); | ||
const transformedSvelteAST = await codemodLegacyNodes(svelteAST); | ||
const transformedSvelteAST = await codemodLegacyNodes({ | ||
ast: svelteAST, | ||
filename: id, | ||
}); | ||
let magicCode = new MagicString(code); | ||
magicCode.overwrite(0, code.length - 1, print(transformedSvelteAST)); | ||
const stringifiedMagicCode = magicCode.toString(); | ||
return { | ||
code: magicCode.toString(), | ||
code: stringifiedMagicCode, | ||
map: magicCode.generateMap({ hires: true, source: id }), | ||
meta: { | ||
_storybook_csf_pre_transform: stringifiedMagicCode, | ||
}, | ||
}; | ||
@@ -58,8 +64,4 @@ }, | ||
let magicCompiledCode = new MagicString(compiledCode); | ||
// FIXME: This needs to change. | ||
// we need to access the code - results from `pre-transform` plugin - 'storybook:addon-svelte-csf-plugin-post'. | ||
// But how? | ||
// @ts-expect-error FIXME: `this.originalCode` exists at runtime in the development mode only. | ||
// Need to research if its documented somewhere | ||
let rawCode = this.originalCode ?? fs.readFileSync(id).toString(); | ||
let rawCode = this.getModuleInfo(id)?.meta._storybook_csf_pre_transform ?? | ||
fs.readFileSync(id).toString(); | ||
if (svelteConfig?.preprocess) { | ||
@@ -66,0 +68,0 @@ const processed = await preprocess(rawCode, svelteConfig.preprocess, { |
@@ -16,3 +16,2 @@ import pkg from '@storybook/addon-svelte-csf/package.json' with { type: 'json' }; | ||
type: 'Literal', | ||
// TODO: Probably possible to achieve picking the whole path from `pkg.exports` with Object.keys or something like that | ||
value: `${pkg.name}/internal/create-runtime-stories`, | ||
@@ -19,0 +18,0 @@ }, |
@@ -1,2 +0,2 @@ | ||
import { logger } from '@storybook/client-logger'; | ||
import { logger } from '@storybook/node-logger'; | ||
import { findASTPropertyIndex, findPropertyDescriptionIndex, findPropertyDocsIndex, findPropertyParametersIndex, getDescriptionPropertyValue, getDocsPropertyValue, getParametersPropertyValue, } from '#compiler/post-transform/shared/description'; | ||
@@ -70,3 +70,6 @@ import { createASTProperty, createASTObjectExpression } from '#parser/ast'; | ||
}) !== -1) { | ||
logger.warn(`defineMeta() already has explicitly set description. Ignoring the JSDoc comment above. Stories file: ${filename}`); | ||
logger.warn(`Svelte CSF: | ||
Description was already set in parameters.docs.description.component, | ||
ignoring JSDoc comment above defineMeta() in: | ||
${filename}`); | ||
return; | ||
@@ -73,0 +76,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import { logger } from '@storybook/client-logger'; | ||
import { logger } from '@storybook/node-logger'; | ||
import dedent from 'dedent'; | ||
@@ -60,7 +60,11 @@ import { createASTObjectExpression } from '#parser/ast'; | ||
logger.warn(dedent ` | ||
Encountered invalid schema in an attempt to access 'parameters' of ${component ? "Story's prop" : 'defineMeta'}}. | ||
Expected value to be an object expression. | ||
Instead it was '${property.value.type}'. | ||
This issue occurred in the stories file: ${filename} | ||
Svelte CSF: | ||
Could not access 'parameters' of ${component ? "Story's prop" : 'defineMeta'}}. | ||
Expected value to be an object expression. | ||
Instead it was '${property.value.type}', in: | ||
${filename} | ||
Property: | ||
${JSON.stringify(property, null, 2)} | ||
`); | ||
// TODO: this is unsafe. If this happens, we'll just have an error later on. we want to skip instead. | ||
return undefined; | ||
@@ -92,6 +96,9 @@ } | ||
logger.warn(dedent ` | ||
Encountered invalid schema in an attempt to access 'parameters.docs' of ${component ? "Story's prop" : 'defineMeta'}}. | ||
Expected value to be an object expression. | ||
Instead it was '${value.type}'. | ||
This issue occurred in the stories file: ${filename} | ||
Svelte CSF: | ||
Could not access 'parameters.docs' of ${component ? "Story's prop" : 'defineMeta'}}. | ||
Expected value to be an object expression. | ||
Instead it was '${property.value.type}', in: | ||
${filename} | ||
Property: | ||
${JSON.stringify(property, null, 2)} | ||
`); | ||
@@ -118,6 +125,9 @@ return undefined; | ||
logger.warn(dedent ` | ||
Encountered invalid schema in an attempt to access 'parameters.docs.description' of ${component ? "Story's prop" : 'defineMeta'}}. | ||
Expected value to be an object expression. | ||
Instead it was '${value.type}'. | ||
This issue occurred in the stories file: ${filename}. | ||
Svelte CSF: | ||
Could not access 'parameters.docs.description' of ${component ? "Story's prop" : 'defineMeta'}}. | ||
Expected value to be an object expression. | ||
Instead it was '${property.value.type}', in: | ||
${filename} | ||
Property: | ||
${JSON.stringify(property, null, 2)} | ||
`); | ||
@@ -124,0 +134,0 @@ return undefined; |
@@ -1,2 +0,2 @@ | ||
import { logger } from '@storybook/client-logger'; | ||
import { logger } from '@storybook/node-logger'; | ||
import dedent from 'dedent'; | ||
@@ -63,6 +63,8 @@ import { findASTPropertyIndex, findPropertyDescriptionIndex, findPropertyDocsIndex, findPropertyParametersIndex, getParametersPropertyValue, getDocsPropertyValue, getDescriptionPropertyValue, } from '#compiler/post-transform/shared/description'; | ||
logger.warn(dedent ` | ||
<Story name="${name}" /> component(s) already has explicitly set 'parameterds.docs.description.story'. | ||
Ignoring the HTML comment above. | ||
Stories file: file://${filename} | ||
`); | ||
Svelte CSF: | ||
Description was already set in parameters.docs.description.story | ||
in the story: <Story name="${name}" />. | ||
ignoring JSDoc comment above. | ||
in: | ||
${filename}`); | ||
return; | ||
@@ -69,0 +71,0 @@ } |
import type { ImportDeclaration } from 'estree'; | ||
interface Params { | ||
node: ImportDeclaration; | ||
filename?: string; | ||
} | ||
/** | ||
@@ -15,2 +19,3 @@ * | ||
*/ | ||
export declare function transformImportDeclaration(importDeclaration: ImportDeclaration): ImportDeclaration; | ||
export declare function transformImportDeclaration(params: Params): ImportDeclaration; | ||
export {}; |
@@ -0,1 +1,2 @@ | ||
import { DefaultOrNamespaceImportUsedError } from '#utils/error/parser/extract/svelte'; | ||
/** | ||
@@ -14,4 +15,5 @@ * | ||
*/ | ||
export function transformImportDeclaration(importDeclaration) { | ||
let { specifiers, ...rest } = importDeclaration; | ||
export function transformImportDeclaration(params) { | ||
const { node, filename } = params; | ||
let { specifiers, ...rest } = node; | ||
let newSpecifiers = []; | ||
@@ -21,8 +23,8 @@ let hasDefineMeta = false; | ||
if (specifier.type !== 'ImportSpecifier') { | ||
// TODO: Update and document error message, this issue could exist in both legacy and new syntax | ||
throw new Error(); | ||
throw new DefaultOrNamespaceImportUsedError(filename); | ||
} | ||
if (specifier.imported.name === 'defineMeta') { | ||
if (['defineMeta', 'setTemplate'].includes(specifier.imported.name)) { | ||
newSpecifiers.push(specifier); | ||
hasDefineMeta = true; | ||
if (specifier.imported.name === 'defineMeta') | ||
hasDefineMeta = true; | ||
} | ||
@@ -29,0 +31,0 @@ } |
import type { Component } from 'svelte/compiler'; | ||
export declare function transformLegacyStory(component: Component): Component; | ||
interface Params { | ||
node: Component; | ||
filename?: string; | ||
} | ||
export declare function transformLegacyStory(params: Params): Component; | ||
export {}; |
@@ -0,4 +1,8 @@ | ||
import { camelCase } from 'es-toolkit/string'; | ||
import { createASTAttribute, createASTExpressionTag, createASTObjectExpression, createASTProperty, } from '#parser/ast'; | ||
export function transformLegacyStory(component) { | ||
let { attributes, fragment, ...rest } = component; | ||
import { InvalidTemplateAttribute } from '#utils/error/codemod/index'; | ||
import { storyNameToExportName } from '#utils/identifier-utils'; | ||
export function transformLegacyStory(params) { | ||
const { node, filename } = params; | ||
let { attributes, fragment, ...rest } = node; | ||
let newAttributes = []; | ||
@@ -46,3 +50,3 @@ let autodocs; | ||
if (attribute.type === 'Attribute' && attribute.name === 'template') { | ||
attribute = templateToChildren(attribute); | ||
attribute = templateToChildren(attribute, filename); | ||
} | ||
@@ -143,7 +147,6 @@ newAttributes.push(attribute); | ||
} | ||
function templateToChildren(attribute) { | ||
function templateToChildren(attribute, filename) { | ||
const { name, value, ...rest } = attribute; | ||
if (value === true) { | ||
// TODO: Improve error message | ||
throw new Error(''); | ||
throw new InvalidTemplateAttribute({ attribute, filename }); | ||
} | ||
@@ -156,6 +159,5 @@ return { | ||
type: 'Identifier', | ||
// TODO: Transform name to be snakeCase or valid JavaScript syntax for naming variables | ||
name: value[0].type === 'Text' | ||
name: camelCase(value[0].type === 'Text' | ||
? value[0].data | ||
: value[0].expression.value, | ||
: value[0].expression.value), | ||
}), | ||
@@ -162,0 +164,0 @@ ], |
@@ -29,6 +29,3 @@ import { getStringValueFromAttribute } from '#parser/analyse/story/attributes'; | ||
const attributeId = attributes.find((attr) => { | ||
if (attr.type === 'Attribute') { | ||
return attr.name === 'id'; | ||
} | ||
// Will TypeScript 5.5 handle type inference for this one better? 🤔 | ||
return attr.type === 'Attribute' && attr.name === 'id'; | ||
}); | ||
@@ -40,12 +37,6 @@ const id = getStringValueFromAttribute({ | ||
const letDirectiveArgs = attributes.find((attr) => { | ||
if (attr.type === 'LetDirective') { | ||
return attr.name === 'args'; | ||
} | ||
// Will TypeScript 5.5 handle type inference for this one better? 🤔 | ||
return attr.type === 'LetDirective' && attr.name === 'args'; | ||
}); | ||
const letDirectiveContext = attributes.find((attr) => { | ||
if (attr.type === 'LetDirective') { | ||
return attr.name === 'context'; | ||
} | ||
// Will TypeScript 5.5 handle type inference for this one better? 🤔 | ||
return attr.type === 'LetDirective' && attr.name === 'context'; | ||
}); | ||
@@ -52,0 +43,0 @@ let parameters = []; |
import type { Root } from 'svelte/compiler'; | ||
export declare function codemodLegacyNodes(ast: Root): Promise<Root>; | ||
interface Params { | ||
ast: Root; | ||
filename?: string; | ||
} | ||
export declare function codemodLegacyNodes(params: Params): Promise<Root>; | ||
export {}; |
@@ -7,4 +7,6 @@ import pkg from '@storybook/addon-svelte-csf/package.json' with { type: 'json' }; | ||
import { transformTemplateToSnippet } from '#compiler/pre-transform/codemods/template-to-snippet'; | ||
export async function codemodLegacyNodes(ast) { | ||
import { MissingModuleTagError } from '#utils/error/parser/extract/svelte'; | ||
export async function codemodLegacyNodes(params) { | ||
const { walk } = await import('zimmerframe'); | ||
const { ast, filename } = params; | ||
const state = { | ||
@@ -22,4 +24,3 @@ componentIdentifierName: {}, | ||
if (!module) { | ||
// TODO: Add description & document - invalid syntax in both modern and legacy | ||
throw new Error(); | ||
throw new MissingModuleTagError(filename); | ||
} | ||
@@ -50,3 +51,3 @@ const transformedModule = visit(module, state); | ||
state.componentIdentifierName = getComponentsIdentifiersNames(specifiers); | ||
return transformImportDeclaration(node); | ||
return transformImportDeclaration({ node, filename }); | ||
} | ||
@@ -84,3 +85,3 @@ }, | ||
state.componentMetaHtmlComment = undefined; | ||
return transformLegacyStory(node); | ||
return transformLegacyStory({ node, filename }); | ||
} | ||
@@ -87,0 +88,0 @@ if (name === componentIdentifierName?.Template) { |
import StoryComponent from './runtime/Story.svelte'; | ||
// TODO: Remove in next major release | ||
import LegacyMetaComponent from './runtime/LegacyMeta.svelte'; | ||
// TODO: Remove in next major release | ||
import LegacyStoryComponent from './runtime/LegacyStory.svelte'; | ||
// TODO: Remove in next major release | ||
import LegacyTemplateComponent from './runtime/LegacyTemplate.svelte'; | ||
@@ -13,2 +15,3 @@ export { setTemplate } from './runtime/contexts/template.svelte'; | ||
} | ||
// TODO: Remove in next major release | ||
export { | ||
@@ -15,0 +18,0 @@ /** |
import type { Indexer } from '@storybook/types'; | ||
export declare const indexer: Indexer; | ||
export declare const createIndexer: (legacyTemplate: boolean) => Indexer; |
import { combineTags } from '@storybook/csf'; | ||
import { parseForIndexer } from '#indexer/parser'; | ||
export const indexer = { | ||
export const createIndexer = (legacyTemplate) => ({ | ||
test: /\.svelte$/, | ||
createIndex: async (filename, { makeTitle }) => { | ||
const { meta, stories } = await parseForIndexer(filename, | ||
// TODO: @JReinhold Replace with dynamic pass of options | ||
{ | ||
supportLegacy: false, | ||
}); | ||
const { meta, stories } = await parseForIndexer(filename, { legacyTemplate }); | ||
return stories.map((story) => { | ||
@@ -22,2 +18,2 @@ return { | ||
}, | ||
}; | ||
}); |
@@ -9,3 +9,4 @@ import fs from 'node:fs/promises'; | ||
import { getPropertyArrayOfStringsValue, getPropertyStringValue, } from '#parser/analyse/define-meta/properties'; | ||
import { DefaultOrNamespaceImportUsedError, GetDefineMetaFirstArgumentError, MissingModuleTagError, } from '#utils/error/parser/extract/svelte'; | ||
import { DefaultOrNamespaceImportUsedError, GetDefineMetaFirstArgumentError, MissingModuleTagError, NoStoryComponentDestructuredError, } from '#utils/error/parser/extract/svelte'; | ||
import { NoDestructuredDefineMetaCallError } from '#utils/error/parser/analyse/define-meta'; | ||
export async function parseForIndexer(filename, options) { | ||
@@ -17,8 +18,4 @@ let [code, { walk }, { loadSvelteConfig }] = await Promise.all([ | ||
]); | ||
const { supportLegacy } = options; | ||
const { legacyTemplate } = options; | ||
const svelteConfig = await loadSvelteConfig(); | ||
let defineMetaIdentifier = 'defineMeta'; | ||
let componentStoryIdentifier = 'Story'; | ||
// TODO: Remove it in the next major version | ||
let componentMetaIdentifier = 'Meta'; | ||
if (svelteConfig?.preprocess) { | ||
@@ -43,3 +40,6 @@ code = (await preprocess(code, svelteConfig.preprocess, { | ||
const { state, visit } = context; | ||
if (!module && !supportLegacy) { | ||
if (module) { | ||
visit(module, state); | ||
} | ||
else if (!legacyTemplate) { | ||
throw new MissingModuleTagError(filename); | ||
@@ -60,5 +60,3 @@ } | ||
for (const statement of body) { | ||
if (supportLegacy && | ||
statement.type === 'ImportDeclaration' && | ||
statement.source.value === pkg.name) { | ||
if (statement.type === 'ImportDeclaration' && statement.source.value === pkg.name) { | ||
visit(statement, state); | ||
@@ -70,3 +68,3 @@ } | ||
// TODO: Remove it in the next major version | ||
if (supportLegacy && statement.type === 'ExportNamedDeclaration') { | ||
if (legacyTemplate && statement.type === 'ExportNamedDeclaration') { | ||
const { declaration } = statement; | ||
@@ -79,4 +77,5 @@ if (declaration?.type === 'VariableDeclaration') { | ||
}, | ||
ImportDeclaration(node, _context) { | ||
ImportDeclaration(node, context) { | ||
const { specifiers } = node; | ||
const { state } = context; | ||
for (const specifier of specifiers) { | ||
@@ -86,12 +85,12 @@ if (specifier.type !== 'ImportSpecifier') { | ||
} | ||
if (supportLegacy && specifier.import.name === defineMetaIdentifier) { | ||
componentMetaIdentifier = specifier.local.name; | ||
if (specifier.imported.name === 'defineMeta') { | ||
state.defineMetaImport = specifier; | ||
} | ||
// TODO: Remove it in the next major version | ||
if (supportLegacy && specifier.import.name === componentMetaIdentifier) { | ||
componentMetaIdentifier = specifier.local.name; | ||
if (legacyTemplate && specifier.imported.name === 'Meta') { | ||
state.legacyMetaImport = specifier; | ||
} | ||
// TODO: Remove it in the next major version | ||
if (supportLegacy && specifier.import.name === componentStoryIdentifier) { | ||
componentStoryIdentifier = specifier.local.name; | ||
if (legacyTemplate && specifier.imported.name === 'Story') { | ||
state.legacyStoryImport = specifier; | ||
} | ||
@@ -106,7 +105,9 @@ } | ||
const { arguments: arguments_, callee } = init; | ||
if (callee.type === 'Identifier' && callee.name === defineMetaIdentifier) { | ||
if (callee.type === 'Identifier' && callee.name === state.defineMetaImport?.local.name) { | ||
foundMeta = true; | ||
if (id?.type !== 'ObjectPattern') { | ||
// TODO: | ||
throw new Error('Invalid syntax'); | ||
throw new NoDestructuredDefineMetaCallError({ | ||
defineMetaVariableDeclarator: declarations[0], | ||
filename, | ||
}); | ||
} | ||
@@ -116,8 +117,10 @@ const { properties } = id; | ||
property.key.type === 'Identifier' && | ||
property.key.name === componentStoryIdentifier); | ||
property.key.name === 'Story'); | ||
if (!destructuredStoryIdentifier) { | ||
// TODO: | ||
throw new Error('Invalid syntax'); | ||
throw new NoStoryComponentDestructuredError({ | ||
filename, | ||
defineMetaImport: state.defineMetaImport, | ||
}); | ||
} | ||
componentStoryIdentifier = destructuredStoryIdentifier.value.name; | ||
state.defineMetaStory = destructuredStoryIdentifier.value; | ||
if (arguments_[0].type !== 'ObjectExpression') { | ||
@@ -132,3 +135,4 @@ throw new GetDefineMetaFirstArgumentError({ | ||
} | ||
if (supportLegacy && !foundMeta && id.type === 'Identifier') { | ||
// TODO: Remove in the next major version | ||
if (legacyTemplate && !foundMeta && id.type === 'Identifier') { | ||
const { name } = id; | ||
@@ -154,3 +158,3 @@ if (name === 'meta') { | ||
if (property.type === 'Property' && property.key.type === 'Identifier') { | ||
visit(node, state); | ||
visit(property, state); | ||
} | ||
@@ -187,3 +191,3 @@ } | ||
// TODO: Remove in the next major version | ||
if (!foundMeta && supportLegacy && name === componentMetaIdentifier) { | ||
if (!foundMeta && legacyTemplate && name === state.legacyMetaImport?.local.name) { | ||
const { attributes } = node; | ||
@@ -212,3 +216,5 @@ for (const attribute of attributes) { | ||
} | ||
if (name === componentStoryIdentifier) { | ||
if (state.defineMetaStory?.name === name || | ||
// TODO: Remove in the next major version | ||
(legacyTemplate && name === state.legacyStoryImport?.local.name)) { | ||
const attribute = extractStoryAttributesNodes({ | ||
@@ -237,3 +243,7 @@ component: node, | ||
}); | ||
return results; | ||
const { meta, stories } = results; | ||
return { | ||
meta, | ||
stories, | ||
}; | ||
} |
@@ -5,12 +5,14 @@ import type { StorybookConfig } from '@storybook/svelte-vite'; | ||
/** | ||
* **Do you want to enable support for legacy code?** | ||
* Enable support for legacy templating. | ||
* This option is deprecated, it will be removed in a future major version and should only be used for gradual migration purposes. | ||
* Please migrate to the new snippet-based templating API when possible. | ||
* | ||
* It will add overhead to the runtime, because it will trigger a pre-transform plugin, | ||
* which will run codemods to transform legacy syntax into modern. | ||
* Enabling this can slow down the build-performance because it requires more transformations. | ||
* | ||
* @default false | ||
* @deprecated | ||
*/ | ||
supportLegacy?: boolean; | ||
legacyTemplate?: boolean; | ||
} | ||
export declare const viteFinal: StorybookConfig['viteFinal']; | ||
export declare const experimental_indexers: StorybookConfig['experimental_indexers']; |
import { postTransformPlugin, preTransformPlugin } from '#compiler/plugins'; | ||
import { indexer } from '#indexer/index'; | ||
import { createIndexer } from '#indexer/index'; | ||
export const viteFinal = async (config, options) => { | ||
let { plugins = [], ...restConfig } = config; | ||
const { supportLegacy = false } = options; | ||
if (supportLegacy) { | ||
const { legacyTemplate = false } = options; | ||
if (legacyTemplate) { | ||
plugins.unshift(await preTransformPlugin()); | ||
@@ -15,4 +15,4 @@ } | ||
}; | ||
export const experimental_indexers = (indexers) => { | ||
return [indexer, ...(indexers || [])]; | ||
export const experimental_indexers = (indexers, options) => { | ||
return [createIndexer(options.legacyTemplate ?? false), ...(indexers || [])]; | ||
}; |
@@ -16,3 +16,3 @@ import { type Component } from 'svelte'; | ||
*/ | ||
export declare const createRuntimeStories: (Stories: Component, meta: Meta<Cmp>) => Record<string, import("@storybook/types").StoryAnnotations<import("@storybook/svelte").SvelteRenderer<import("svelte").SvelteComponent<{ | ||
export declare const createRuntimeStories: (Stories: Component, meta: Meta<Cmp>) => Record<string, import("@storybook/csf").StoryAnnotations<import("@storybook/svelte").SvelteRenderer<import("svelte").SvelteComponent<{ | ||
Stories: Component; | ||
@@ -26,3 +26,3 @@ exportName: string; | ||
$$bindings?: "" | undefined; | ||
} & Record<string, any>>, { | ||
}>, { | ||
Stories: Component; | ||
@@ -29,0 +29,0 @@ exportName: string; |
@@ -12,6 +12,6 @@ import { SvelteComponent } from "svelte"; | ||
} | ||
declare const LegacyMeta: $$__sveltets_2_IsomorphicComponent<import("@storybook/types").ComponentAnnotations<import("@storybook/svelte").SvelteRenderer<SvelteComponent<Record<string, any>, any, any>>, import("@storybook/types").Args>, { | ||
declare const LegacyMeta: $$__sveltets_2_IsomorphicComponent<import("@storybook/csf").ComponentAnnotations<import("@storybook/svelte").SvelteRenderer<SvelteComponent<Record<string, any>, any, any>>, import("@storybook/csf").Args>, { | ||
[evt: string]: CustomEvent<any>; | ||
}, {}, Record<string, any>, "">; | ||
}, {}, {}, "">; | ||
type LegacyMeta = InstanceType<typeof LegacyMeta>; | ||
export default LegacyMeta; |
@@ -18,4 +18,4 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> { | ||
}; | ||
}, Record<string, any>, "">; | ||
}, {}, "">; | ||
type LegacyStory = InstanceType<typeof LegacyStory>; | ||
export default LegacyStory; |
@@ -18,4 +18,4 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> { | ||
}; | ||
}, Record<string, any>, string>; | ||
}, {}, string>; | ||
type LegacyTemplate = InstanceType<typeof LegacyTemplate>; | ||
export default LegacyTemplate; |
@@ -20,4 +20,4 @@ import type { Component } from 'svelte'; | ||
[evt: string]: CustomEvent<any>; | ||
}, {}, Record<string, any>, "">; | ||
}, {}, {}, "">; | ||
type StoriesExtractor = InstanceType<typeof StoriesExtractor>; | ||
export default StoriesExtractor; |
@@ -20,4 +20,4 @@ import type { Component } from 'svelte'; | ||
[evt: string]: CustomEvent<any>; | ||
}, {}, Record<string, any>, "">; | ||
}, {}, {}, "">; | ||
type StoryRenderer = InstanceType<typeof StoryRenderer>; | ||
export default StoryRenderer; |
@@ -17,2 +17,3 @@ import url from 'node:url'; | ||
readonly compiler: "COMPILER"; | ||
readonly codemod: "CODEMOD"; | ||
}; | ||
@@ -19,0 +20,0 @@ /** |
@@ -17,2 +17,3 @@ import url from 'node:url'; | ||
compiler: 'COMPILER', | ||
codemod: 'CODEMOD', | ||
}; | ||
@@ -19,0 +20,0 @@ /** |
@@ -6,2 +6,3 @@ import { StorybookSvelteCSFError } from '#utils/error'; | ||
readonly code = 1; | ||
documentation: boolean; | ||
componentProperty: Property; | ||
@@ -17,2 +18,3 @@ constructor({ filename, componentProperty, }: { | ||
readonly code = 2; | ||
documentation: boolean; | ||
defineMetaVariableDeclarator: VariableDeclarator; | ||
@@ -28,2 +30,3 @@ constructor({ filename, defineMetaVariableDeclarator, }: { | ||
readonly code = 3; | ||
documentation: boolean; | ||
constructor(filename: StorybookSvelteCSFError['filename']); | ||
@@ -35,2 +38,3 @@ template(): string; | ||
readonly code = 4; | ||
documentation: boolean; | ||
readonly property: Property; | ||
@@ -46,2 +50,3 @@ constructor({ filename, property, }: { | ||
readonly code = 5; | ||
documentation: boolean; | ||
readonly property: Property; | ||
@@ -57,2 +62,3 @@ constructor({ filename, property, }: { | ||
readonly code = 6; | ||
documentation: boolean; | ||
readonly property: Property; | ||
@@ -59,0 +65,0 @@ readonly element: ArrayExpression['elements'][number]; |
@@ -6,2 +6,3 @@ import { StorybookSvelteCSFError } from '#utils/error'; | ||
code = 1; | ||
documentation = true; | ||
componentProperty; | ||
@@ -14,7 +15,5 @@ constructor({ filename, componentProperty, }) { | ||
return dedent ` | ||
Invalid schema. | ||
The 'component' property of 'defineMeta' must reference an imported Svelte component. | ||
The current type of the property is '${this.componentProperty.value.type}'. | ||
'defineMeta's property with key 'component' value should be an identifier to Svelte component import specifier. | ||
The current type is '${this.componentProperty.value.type}'. | ||
The issue occurred in Stories file: ${this.filepathURL} | ||
@@ -27,2 +26,3 @@ `; | ||
code = 2; | ||
documentation = true; | ||
defineMetaVariableDeclarator; | ||
@@ -35,5 +35,3 @@ constructor({ filename, defineMetaVariableDeclarator, }) { | ||
return dedent ` | ||
Invalid schema. | ||
Storybook addon "${StorybookSvelteCSFError.packageName}" tried to access destructured object pattern from a variable declaration with 'defineMeta()' call. | ||
The return value of the 'defineMeta' call was not destructured to { Story }. | ||
The issue occurred in Stories file: ${this.filepathURL} | ||
@@ -48,2 +46,3 @@ | ||
code = 3; | ||
documentation = true; | ||
constructor(filename) { | ||
@@ -55,2 +54,3 @@ super({ filename }); | ||
Could not find 'meta' identifier in the compiled output of stories file: ${this.filepathURL} | ||
This is most likely a bug in @storybook/addon-svelte-csf. Please open an issue on GitHub. | ||
`; | ||
@@ -62,2 +62,3 @@ } | ||
code = 4; | ||
documentation = true; | ||
property; | ||
@@ -70,7 +71,5 @@ constructor({ filename, property, }) { | ||
return dedent ` | ||
Invalid schema. | ||
The '${this.property.key.name}' passed to 'defineMeta()' must be a static string literal. | ||
But it is of type '${this.property.value.type}'. | ||
'defineMeta()' first argument object property '${this.property.key.name}' value is supposed to be a static string literal. | ||
Instead it has a type '${this.property.value.type}'. | ||
This issue occurred in stories file: ${this.filepathURL} | ||
@@ -83,2 +82,3 @@ `; | ||
code = 5; | ||
documentation = true; | ||
property; | ||
@@ -91,7 +91,5 @@ constructor({ filename, property, }) { | ||
return dedent ` | ||
Invalid schema. | ||
The '${this.property.key.name}' passed to 'defineMeta()' must be a static array. | ||
But it is of type '${this.property.value.type}'. | ||
'defineMeta()' first argument object property '${this.property.key.name}' value is supposed to be an array expression. | ||
Instead it has a type '${this.property.value.type}'. | ||
This issue occurred in stories file: ${this.filepathURL} | ||
@@ -104,2 +102,3 @@ `; | ||
code = 6; | ||
documentation = true; | ||
property; | ||
@@ -114,7 +113,5 @@ element; | ||
return dedent ` | ||
Invalid schema. | ||
All entries in the '${this.property.key.name}' property passed to 'defineMeta()' must be static strings. | ||
One of the elements is not a string but is instead of type '${this.element?.type}'. | ||
'defineMeta()' first argument object property '${this.property.key.name}' value is supposed to be an array with only static string literals. | ||
One of the elements is not a string. Instead it has a type '${this.element?.type}'. | ||
This issue occurred in stories file: ${this.filepathURL} | ||
@@ -121,0 +118,0 @@ `; |
@@ -8,2 +8,3 @@ import type { Attribute } from 'svelte/compiler'; | ||
readonly code = 1; | ||
documentation: boolean; | ||
attribute: Attribute; | ||
@@ -20,2 +21,3 @@ constructor({ filename, attribute, component, }: { | ||
readonly code = 2; | ||
documentation: boolean; | ||
attribute: Attribute; | ||
@@ -33,2 +35,3 @@ constructor({ filename, attribute, component, }: { | ||
readonly code = 3; | ||
documentation: boolean; | ||
attribute: Attribute; | ||
@@ -48,2 +51,3 @@ element: ArrayExpression['elements'][number]; | ||
readonly code = 4; | ||
documentation: boolean; | ||
constructor({ filename, component, }: { | ||
@@ -58,2 +62,3 @@ filename: StorybookSvelteCSFError['filename']; | ||
readonly code = 5; | ||
documentation: boolean; | ||
value: string; | ||
@@ -70,2 +75,3 @@ constructor({ filename, component, value, }: { | ||
readonly code = 6; | ||
documentation: boolean; | ||
identifiers: ReturnType<typeof getStoryIdentifiers>; | ||
@@ -72,0 +78,0 @@ duplicateIdentifiers: NonNullable<ReturnType<typeof getStoryIdentifiers>>; |
@@ -6,2 +6,3 @@ import dedent from 'dedent'; | ||
code = 1; | ||
documentation = true; | ||
attribute; | ||
@@ -14,6 +15,5 @@ constructor({ filename, attribute, component, }) { | ||
return dedent ` | ||
Invalid schema. | ||
In the stories file: ${this.filepathURL} | ||
A '${this.quickStoryRawCodeIdentifier}' has an attribute '${this.attribute.name}' whose value was expected to be a static literal string. | ||
A '${this.quickStoryRawCodeIdentifier}' has a prop '${this.attribute.name}' whose value must be a static literal string. | ||
`; | ||
@@ -25,2 +25,3 @@ } | ||
code = 2; | ||
documentation = true; | ||
attribute; | ||
@@ -43,7 +44,6 @@ constructor({ filename, attribute, component, }) { | ||
return dedent ` | ||
Invalid schema. | ||
In the stories file: ${this.filepathURL} | ||
A '${this.quickStoryRawCodeIdentifier}' has attribute '${this.attribute.name}' whose value was expected to be an array expression. | ||
Instead the value type is '${this.valueType}'. | ||
A '${this.quickStoryRawCodeIdentifier}' has a prop'${this.attribute.name}' whose value was expected to be a static array. | ||
Instead the value type is '${this.valueType}'. | ||
`; | ||
@@ -55,2 +55,3 @@ } | ||
code = 3; | ||
documentation = true; | ||
attribute; | ||
@@ -75,8 +76,6 @@ element; | ||
return dedent ` | ||
Invalid schema. | ||
In the stories file: ${this.filepathURL} | ||
A '${this.quickStoryRawCodeIdentifier}' has attribute '${this.attribute.name}' whose value was expected to be an array expression. | ||
And this array elements are supposed to be static literal strings only. | ||
One of the elements has a type '${this.valueType}' | ||
All elements in the array must be static literal strings only, but one of the elements is of type '${this.valueType}'. | ||
`; | ||
@@ -88,2 +87,3 @@ } | ||
code = 4; | ||
documentation = true; | ||
constructor({ filename, component, }) { | ||
@@ -95,3 +95,3 @@ super({ component, filename }); | ||
Missing 'name' or 'exportName' attribute (prop) in a '<Story />' definition in the stories file: '${this.filepathURL}'. | ||
All stories must either have a 'name' or an 'exportName' prop. | ||
All stories must either have a 'name' or an 'exportName' prop, or both. | ||
`; | ||
@@ -103,2 +103,3 @@ } | ||
code = 5; | ||
documentation = true; | ||
value; | ||
@@ -122,2 +123,3 @@ constructor({ filename, component, value, }) { | ||
code = 6; | ||
documentation = true; | ||
identifiers; | ||
@@ -124,0 +126,0 @@ duplicateIdentifiers; |
{ | ||
"name": "@storybook/addon-svelte-csf", | ||
"version": "4.2.0--canary.186.ede9fbf.0", | ||
"version": "4.2.0--canary.186.fdebf5c.0", | ||
"description": "Allows to write stories in Svelte syntax", | ||
@@ -12,7 +12,6 @@ "keywords": [ | ||
"type": "git", | ||
"url": "https://github.com/storybookjs/addon-svelte-csf" | ||
"url": "git+https://github.com/storybookjs/addon-svelte-csf.git" | ||
}, | ||
"license": "MIT", | ||
"type": "module", | ||
"packageManager": "pnpm@9.1.3+sha512.7c2ea089e1a6af306409c4fc8c4f0897bdac32b772016196c469d9428f1fe2d5a21daf8ad6512762654ac645b5d9136bb210ec9a00afa8dbc4677843ba362ecd", | ||
"imports": { | ||
@@ -49,22 +48,28 @@ "#tests/*": { | ||
"scripts": { | ||
"clean": "rimraf ./dist ./node_modules/.cache ./storybook-static ./svelte-kit ./.vite-inspect", | ||
"build": "svelte-package --input ./src --types", | ||
"prepublish": "pnpm run clean && pnpm run build", | ||
"test": "vitest run", | ||
"test:watch": "vitest watch", | ||
"format": "prettier --write .", | ||
"build-storybook": "storybook build", | ||
"check": "svelte-check", | ||
"chromatic": "chromatic --exit-zero-on-changes", | ||
"clean": "rimraf ./dist ./node_modules/.cache ./storybook-static ./svelte-kit ./.vite-inspect", | ||
"coverage": "vitest run --coverage", | ||
"check": "svelte-check", | ||
"format": "prettier --write .", | ||
"lint": "eslint --cache --cache-location=.cache/eslint --ext .js,.json,.html,.svelte,.ts --report-unused-disable-directives", | ||
"prepublish": "pnpm run clean && pnpm run build", | ||
"release": "pnpm run build && auto shipit", | ||
"start": "concurrently \"pnpm run storybook --quiet\" \"pnpm run build --watch\"", | ||
"storybook": "storybook dev --port 6006 --no-open", | ||
"start": "concurrently \"pnpm run storybook --quiet\" \"pnpm run build --watch\"", | ||
"build-storybook": "storybook build", | ||
"release": "pnpm run build && auto shipit" | ||
"test": "vitest run", | ||
"test:watch": "vitest watch" | ||
}, | ||
"dependencies": { | ||
"@storybook/csf": "^0.1.11", | ||
"@storybook/docs-tools": "^8.0.0", | ||
"@storybook/node-logger": "^8.0.0", | ||
"@storybook/types": "^8.0.0", | ||
"dedent": "^1.5.3", | ||
"es-toolkit": "^1.13.1", | ||
"esrap": "^1.2.2", | ||
"lodash-es": "^4.17.21", | ||
"magic-string": "^0.30.10", | ||
"svelte-ast-print": "0.2.3", | ||
"zimmerframe": "^1.1.2" | ||
@@ -74,16 +79,11 @@ }, | ||
"@auto-it/released": "^11.1.6", | ||
"@storybook/addon-actions": "^8.1.11", | ||
"@storybook/addon-essentials": "^8.1.11", | ||
"@storybook/addon-interactions": "^8.1.11", | ||
"@storybook/client-logger": "^8.1.11", | ||
"@storybook/core-common": "^8.1.11", | ||
"@storybook/csf": "^0.1.9", | ||
"@storybook/docs-tools": "^8.1.11", | ||
"@storybook/eslint-config-storybook": "^3.1.2", | ||
"@storybook/node-logger": "^8.1.11", | ||
"@storybook/preview-api": "^8.1.11", | ||
"@storybook/svelte": "^8.1.11", | ||
"@storybook/svelte-vite": "^8.1.11", | ||
"@storybook/test": "^8.1.11", | ||
"@storybook/types": "^8.1.11", | ||
"@storybook/addon-actions": "^8.2.2", | ||
"@storybook/addon-essentials": "^8.2.2", | ||
"@storybook/addon-interactions": "^8.2.2", | ||
"@storybook/client-logger": "^8.2.2", | ||
"@storybook/eslint-config-storybook": "^4.0.0", | ||
"@storybook/preview-api": "^8.2.2", | ||
"@storybook/svelte": "^8.2.2", | ||
"@storybook/svelte-vite": "^8.2.2", | ||
"@storybook/test": "^8.2.2", | ||
"@sveltejs/package": "^2.3.2", | ||
@@ -99,3 +99,3 @@ "@sveltejs/vite-plugin-svelte": "4.0.0-next.3", | ||
"eslint": "^7.32.0", | ||
"eslint-plugin-storybook": "^0.6.15", | ||
"eslint-plugin-storybook": "^0.8.0", | ||
"jsdom": "^24.1.0", | ||
@@ -106,5 +106,4 @@ "prettier": "^3.3.2", | ||
"rollup": "^4.18.0", | ||
"storybook": "^8.1.11", | ||
"storybook": "^8.2.2", | ||
"svelte": "5.0.0-next.155", | ||
"svelte-ast-print": "0.2.2", | ||
"svelte-check": "^3.8.4", | ||
@@ -126,2 +125,6 @@ "tslib": "^2.6.3", | ||
}, | ||
"packageManager": "pnpm@9.5.0+sha256.dbdf5961c32909fb030595a9daa1dae720162e658609a8f92f2fa99835510ca5", | ||
"publishConfig": { | ||
"access": "public" | ||
}, | ||
"auto": { | ||
@@ -133,4 +136,6 @@ "plugins": [ | ||
}, | ||
"publishConfig": { | ||
"access": "public" | ||
"pnpm": { | ||
"overrides": { | ||
"svelte-preprocess": "^6.0.2" | ||
} | ||
}, | ||
@@ -137,0 +142,0 @@ "storybook": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
215639
37
133
5026
15
+ Added@storybook/csf@^0.1.11
+ Added@storybook/docs-tools@^8.0.0
+ Added@storybook/types@^8.0.0
+ Addedes-toolkit@^1.13.1
+ Addedsvelte-ast-print@0.2.3
+ Added@auto-it/all-contributors@11.1.6(transitive)
+ Added@auto-it/bot-list@11.1.6(transitive)
+ Added@auto-it/conventional-commits@11.1.6(transitive)
+ Added@auto-it/core@11.1.6(transitive)
+ Added@auto-it/first-time-contributor@11.1.6(transitive)
+ Added@auto-it/npm@11.1.6(transitive)
+ Added@auto-it/package-json-utils@11.1.6(transitive)
+ Added@auto-it/released@11.1.6(transitive)
+ Added@auto-it/version-file@11.1.6(transitive)
+ Added@babel/code-frame@7.24.7(transitive)
+ Added@babel/helper-string-parser@7.24.8(transitive)
+ Added@babel/helper-validator-identifier@7.24.7(transitive)
+ Added@babel/highlight@7.24.7(transitive)
+ Added@babel/parser@7.25.6(transitive)
+ Added@babel/runtime@7.25.6(transitive)
+ Added@babel/types@7.25.6(transitive)
+ Added@bcoe/v8-coverage@0.2.3(transitive)
+ Added@biomejs/biome@1.8.3(transitive)
+ Added@biomejs/cli-darwin-arm64@1.8.3(transitive)
+ Added@biomejs/cli-darwin-x64@1.8.3(transitive)
+ Added@biomejs/cli-linux-arm64@1.8.3(transitive)
+ Added@biomejs/cli-linux-arm64-musl@1.8.3(transitive)
+ Added@biomejs/cli-linux-x64@1.8.3(transitive)
+ Added@biomejs/cli-linux-x64-musl@1.8.3(transitive)
+ Added@biomejs/cli-win32-arm64@1.8.3(transitive)
+ Added@biomejs/cli-win32-x64@1.8.3(transitive)
+ Added@cspotcode/source-map-support@0.8.1(transitive)
+ Added@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2(transitive)
+ Added@hutson/parse-repository-url@3.0.2(transitive)
+ Added@istanbuljs/schema@0.1.3(transitive)
+ Added@jest/schemas@29.6.3(transitive)
+ Added@jridgewell/trace-mapping@0.3.9(transitive)
+ Added@nodelib/fs.scandir@2.1.5(transitive)
+ Added@nodelib/fs.stat@2.0.5(transitive)
+ Added@nodelib/fs.walk@1.2.8(transitive)
+ Added@octokit/auth-token@2.5.0(transitive)
+ Added@octokit/core@3.6.0(transitive)
+ Added@octokit/endpoint@6.0.12(transitive)
+ Added@octokit/graphql@4.8.0(transitive)
+ Added@octokit/openapi-types@12.11.0(transitive)
+ Added@octokit/plugin-enterprise-compatibility@1.3.0(transitive)
+ Added@octokit/plugin-paginate-rest@2.21.3(transitive)
+ Added@octokit/plugin-request-log@1.0.4(transitive)
+ Added@octokit/plugin-rest-endpoint-methods@5.16.2(transitive)
+ Added@octokit/plugin-retry@3.0.9(transitive)
+ Added@octokit/plugin-throttling@3.7.0(transitive)
+ Added@octokit/request@5.6.3(transitive)
+ Added@octokit/request-error@2.1.0(transitive)
+ Added@octokit/rest@18.12.0(transitive)
+ Added@octokit/types@6.41.0(transitive)
+ Added@polka/url@1.0.0-next.25(transitive)
+ Added@shikijs/core@1.17.0(transitive)
+ Added@shikijs/engine-javascript@1.17.0(transitive)
+ Added@shikijs/engine-oniguruma@1.17.0(transitive)
+ Added@shikijs/types@1.17.0(transitive)
+ Added@shikijs/vscode-textmate@9.2.2(transitive)
+ Added@sinclair/typebox@0.27.8(transitive)
+ Added@sindresorhus/merge-streams@2.3.0(transitive)
+ Added@storybook/docs-tools@8.3.0(transitive)
+ Added@storybook/node-logger@8.3.0(transitive)
+ Added@storybook/types@8.3.0(transitive)
+ Added@tsconfig/node10@1.0.11(transitive)
+ Added@tsconfig/node12@1.0.11(transitive)
+ Added@tsconfig/node14@1.0.3(transitive)
+ Added@tsconfig/node16@1.0.4(transitive)
+ Added@types/command-line-args@5.2.3(transitive)
+ Added@types/command-line-usage@5.0.4(transitive)
+ Added@types/hast@3.0.4(transitive)
+ Added@types/mdast@4.0.4(transitive)
+ Added@types/minimist@1.2.5(transitive)
+ Added@types/normalize-package-data@2.4.4(transitive)
+ Added@types/parse-json@4.0.2(transitive)
+ Added@types/unist@3.0.3(transitive)
+ Added@ungap/structured-clone@1.2.0(transitive)
+ Added@vitest/coverage-v8@1.6.0(transitive)
+ Added@vitest/expect@1.6.0(transitive)
+ Added@vitest/runner@1.6.0(transitive)
+ Added@vitest/snapshot@1.6.0(transitive)
+ Added@vitest/spy@1.6.0(transitive)
+ Added@vitest/ui@1.6.0(transitive)
+ Added@vitest/utils@1.6.0(transitive)
+ Added@zeit/schemas@2.36.0(transitive)
+ AddedJSONStream@1.3.5(transitive)
+ Addedacorn-walk@8.3.4(transitive)
+ Addedadd-stream@1.0.0(transitive)
+ Addedagent-base@6.0.2(transitive)
+ Addedaggregate-error@4.0.1(transitive)
+ Addedajv@8.12.0(transitive)
+ Addedall-contributors-cli@6.19.06.26.1(transitive)
+ Addedansi-align@3.0.1(transitive)
+ Addedansi-escapes@4.3.2(transitive)
+ Addedansi-regex@6.1.0(transitive)
+ Addedansi-styles@3.2.15.2.06.2.1(transitive)
+ Addedanymatch@3.1.3(transitive)
+ Addedarch@2.2.0(transitive)
+ Addedarg@4.1.35.0.2(transitive)
+ Addedarray-back@3.1.04.0.2(transitive)
+ Addedarray-buffer-byte-length@1.0.1(transitive)
+ Addedarray-union@1.0.2(transitive)
+ Addedarray-uniq@1.0.3(transitive)
+ Addedarray.prototype.flatmap@1.3.2(transitive)
+ Addedarraybuffer.prototype.slice@1.0.3(transitive)
+ Addedarrify@1.0.1(transitive)
+ Addedassertion-error@1.1.0(transitive)
+ Addedasync@3.2.6(transitive)
+ Addedauthor-regex@1.0.0(transitive)
+ Addedauto@11.1.6(transitive)
+ Addedawait-to-js@3.0.0(transitive)
+ Addedbefore-after-hook@2.2.3(transitive)
+ Addedbottleneck@2.19.5(transitive)
+ Addedboxen@7.0.0(transitive)
+ Addedbrace-expansion@2.0.1(transitive)
+ Addedbraces@3.0.3(transitive)
+ Addedbuffer-from@1.1.2(transitive)
+ Addedbytes@3.0.0(transitive)
+ Addedcac@6.7.14(transitive)
+ Addedcamelcase@5.3.16.3.07.0.1(transitive)
+ Addedcamelcase-keys@6.2.27.0.2(transitive)
+ Addedccount@2.0.1(transitive)
+ Addedchai@4.5.0(transitive)
+ Addedchalk@2.4.25.0.15.3.0(transitive)
+ Addedchalk-template@0.4.0(transitive)
+ Addedcharacter-entities-html4@2.1.0(transitive)
+ Addedcharacter-entities-legacy@3.0.0(transitive)
+ Addedchardet@0.7.0(transitive)
+ Addedcheck-error@1.0.3(transitive)
+ Addedclean-stack@4.2.0(transitive)
+ Addedcli-boxes@3.0.0(transitive)
+ Addedcli-cursor@3.1.0(transitive)
+ Addedcli-width@3.0.0(transitive)
+ Addedclipboardy@3.0.0(transitive)
+ Addedcliui@6.0.07.0.4(transitive)
+ Addedcolor-convert@1.9.3(transitive)
+ Addedcolor-name@1.1.3(transitive)
+ Addedcomma-separated-tokens@2.0.3(transitive)
+ Addedcommand-line-application@0.10.1(transitive)
+ Addedcommand-line-args@5.2.1(transitive)
+ Addedcommand-line-usage@6.1.3(transitive)
+ Addedcompressible@2.0.18(transitive)
+ Addedcompression@1.7.4(transitive)
+ Addedconfbox@0.1.7(transitive)
+ Addedcontent-disposition@0.5.2(transitive)
+ Addedconventional-changelog-core@4.2.4(transitive)
+ Addedconventional-changelog-preset-loader@2.3.4(transitive)
+ Addedconventional-changelog-writer@5.0.1(transitive)
+ Addedconventional-commits-filter@2.0.7(transitive)
+ Addedconventional-commits-parser@3.2.4(transitive)
+ Addedcore-util-is@1.0.3(transitive)
+ Addedcosmiconfig@7.0.0(transitive)
+ Addedcreate-require@1.1.1(transitive)
+ Addeddargs@7.0.0(transitive)
+ Addeddata-view-buffer@1.0.1(transitive)
+ Addeddata-view-byte-length@1.0.1(transitive)
+ Addeddata-view-byte-offset@1.0.0(transitive)
+ Addeddateformat@3.0.3(transitive)
+ Addeddecamelize@1.2.05.0.1(transitive)
+ Addeddecamelize-keys@1.1.1(transitive)
+ Addeddedent@0.7.0(transitive)
+ Addeddeep-eql@4.1.4(transitive)
+ Addeddeep-extend@0.6.0(transitive)
+ Addeddefine-properties@1.2.1(transitive)
+ Addeddel@7.1.0(transitive)
+ Addeddel-cli@5.1.0(transitive)
+ Addeddeprecation@2.3.1(transitive)
+ Addeddevlop@1.1.0(transitive)
+ Addeddidyoumean@1.2.2(transitive)
+ Addeddiff@4.0.2(transitive)
+ Addeddiff-sequences@29.6.3(transitive)
+ Addeddir-glob@2.2.23.0.1(transitive)
+ Addeddotenv@8.6.0(transitive)
+ Addedeastasianwidth@0.2.0(transitive)
+ Addedemoji-regex@8.0.09.2.2(transitive)
+ Addedendent@2.1.0(transitive)
+ Addedentities@4.5.0(transitive)
+ Addedenv-ci@5.5.0(transitive)
+ Addederror-ex@1.3.2(transitive)
+ Addedes-abstract@1.23.3(transitive)
+ Addedes-object-atoms@1.0.0(transitive)
+ Addedes-set-tostringtag@2.0.3(transitive)
+ Addedes-shim-unscopables@1.0.2(transitive)
+ Addedes-to-primitive@1.2.1(transitive)
+ Addedes-toolkit@1.18.0(transitive)
+ Addedescalade@3.2.0(transitive)
+ Addedescape-string-regexp@1.0.55.0.0(transitive)
+ Addedestree-walker@3.0.3(transitive)
+ Addedexeca@5.1.18.0.1(transitive)
+ Addedexternal-editor@3.1.0(transitive)
+ Addedfast-glob@3.3.2(transitive)
+ Addedfast-json-parse@1.0.3(transitive)
+ Addedfast-url-parser@1.1.3(transitive)
+ Addedfastq@1.17.1(transitive)
+ Addedfflate@0.8.2(transitive)
+ Addedfigures@2.0.03.2.0(transitive)
+ Addedfill-range@7.1.1(transitive)
+ Addedfind-replace@3.0.0(transitive)
+ Addedfind-up@2.1.04.1.05.0.0(transitive)
+ Addedfp-ts@2.16.9(transitive)
+ Addedfromentries@1.3.2(transitive)
+ Addedfunction.prototype.name@1.1.6(transitive)
+ Addedfunctions-have-names@1.2.3(transitive)
+ Addedget-caller-file@2.0.5(transitive)
+ Addedget-func-name@2.0.2(transitive)
+ Addedget-monorepo-packages@1.2.0(transitive)
+ Addedget-pkg-repo@4.2.1(transitive)
+ Addedget-stream@6.0.18.0.1(transitive)
+ Addedget-symbol-description@1.0.2(transitive)
+ Addedgit-raw-commits@2.0.11(transitive)
+ Addedgit-remote-origin-url@2.0.0(transitive)
+ Addedgit-semver-tags@4.1.1(transitive)
+ Addedgitconfiglocal@1.0.0(transitive)
+ Addedgitlog@4.0.8(transitive)
+ Addedglob-parent@5.1.2(transitive)
+ Addedglobalthis@1.0.4(transitive)
+ Addedglobby@13.2.214.0.17.1.1(transitive)
+ Addedgraceful-fs@4.2.11(transitive)
+ Addedhandlebars@4.7.8(transitive)
+ Addedhard-rejection@2.1.0(transitive)
+ Addedhas-bigints@1.0.2(transitive)
+ Addedhas-flag@3.0.0(transitive)
+ Addedhast-util-to-html@9.0.2(transitive)
+ Addedhast-util-whitespace@3.0.0(transitive)
+ Addedhosted-git-info@2.8.94.1.0(transitive)
+ Addedhtml-escaper@2.0.2(transitive)
+ Addedhtml-void-elements@3.0.0(transitive)
+ Addedhttps-proxy-agent@5.0.1(transitive)
+ Addedhuman-signals@2.1.05.0.0(transitive)
+ Addedignore@3.3.10(transitive)
+ Addedimport-cwd@3.0.0(transitive)
+ Addedimport-from@3.0.0(transitive)
+ Addedindent-string@4.0.05.0.0(transitive)
+ Addedini@1.3.8(transitive)
+ Addedinquirer@7.3.3(transitive)
+ Addedinternal-slot@1.0.7(transitive)
+ Addedio-ts@2.2.21(transitive)
+ Addedis-array-buffer@3.0.4(transitive)
+ Addedis-arrayish@0.2.1(transitive)
+ Addedis-bigint@1.0.4(transitive)
+ Addedis-boolean-object@1.1.2(transitive)
+ Addedis-core-module@2.15.1(transitive)
+ Addedis-data-view@1.0.1(transitive)
+ Addedis-date-object@1.0.5(transitive)
+ Addedis-docker@2.2.1(transitive)
+ Addedis-fullwidth-code-point@3.0.0(transitive)
+ Addedis-negative-zero@2.0.3(transitive)
+ Addedis-number@7.0.0(transitive)
+ Addedis-number-object@1.0.7(transitive)
+ Addedis-path-cwd@3.0.0(transitive)
+ Addedis-path-inside@4.0.0(transitive)
+ Addedis-plain-obj@1.1.0(transitive)
+ Addedis-plain-object@5.0.0(transitive)
+ Addedis-port-reachable@4.0.0(transitive)
+ Addedis-regex@1.1.4(transitive)
+ Addedis-shared-array-buffer@1.0.3(transitive)
+ Addedis-stream@2.0.13.0.0(transitive)
+ Addedis-string@1.0.7(transitive)
+ Addedis-symbol@1.0.4(transitive)
+ Addedis-text-path@1.0.1(transitive)
+ Addedis-unicode-supported@0.1.0(transitive)
+ Addedis-weakref@1.0.2(transitive)
+ Addedis-wsl@2.2.0(transitive)
+ Addedisarray@1.0.02.0.5(transitive)
+ Addedistanbul-lib-coverage@3.2.2(transitive)
+ Addedistanbul-lib-report@3.0.1(transitive)
+ Addedistanbul-lib-source-maps@5.0.6(transitive)
+ Addedistanbul-reports@3.1.7(transitive)
+ Addedjava-properties@1.0.2(transitive)
+ Addedjs-tokens@4.0.09.0.0(transitive)
+ Addedjson-fixer@1.6.15(transitive)
+ Addedjson-parse-better-errors@1.0.2(transitive)
+ Addedjson-parse-even-better-errors@2.3.1(transitive)
+ Addedjson-schema-traverse@1.0.0(transitive)
+ Addedjson-stringify-safe@5.0.1(transitive)
+ Addedjsonc-parser@3.2.1(transitive)
+ Addedjsonparse@1.3.1(transitive)
+ Addedkind-of@6.0.3(transitive)
+ Addedlefthook@1.6.18(transitive)
+ Addedlefthook-darwin-arm64@1.6.18(transitive)
+ Addedlefthook-darwin-x64@1.6.18(transitive)
+ Addedlefthook-freebsd-arm64@1.6.18(transitive)
+ Addedlefthook-freebsd-x64@1.6.18(transitive)
+ Addedlefthook-linux-arm64@1.6.18(transitive)
+ Addedlefthook-linux-x64@1.6.18(transitive)
+ Addedlefthook-windows-arm64@1.6.18(transitive)
+ Addedlefthook-windows-x64@1.6.18(transitive)
+ Addedlines-and-columns@1.2.4(transitive)
+ Addedlinkify-it@5.0.0(transitive)
+ Addedload-json-file@4.0.0(transitive)
+ Addedlocal-pkg@0.5.0(transitive)
+ Addedlocate-path@2.0.05.0.06.0.0(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedlodash.camelcase@4.3.0(transitive)
+ Addedlodash.chunk@4.2.0(transitive)
+ Addedlodash.get@4.4.2(transitive)
+ Addedlodash.ismatch@4.4.0(transitive)
+ Addedlog-symbols@4.1.0(transitive)
+ Addedloupe@2.3.7(transitive)
+ Addedlru-cache@6.0.0(transitive)
+ Addedlunr@2.3.9(transitive)
+ Addedmagicast@0.3.5(transitive)
+ Addedmake-dir@4.0.0(transitive)
+ Addedmake-error@1.3.6(transitive)
+ Addedmap-obj@1.0.14.3.0(transitive)
+ Addedmarkdown-it@14.1.0(transitive)
+ Addedmarkdownlint@0.34.0(transitive)
+ Addedmarkdownlint-cli2@0.13.0(transitive)
+ Addedmarkdownlint-cli2-formatter-default@0.0.4(transitive)
+ Addedmarkdownlint-micromark@0.1.9(transitive)
+ Addedmdast-util-to-hast@13.2.0(transitive)
+ Addedmdurl@2.0.0(transitive)
+ Addedmeant@1.0.3(transitive)
+ Addedmeow@10.1.58.1.2(transitive)
+ Addedmerge-stream@2.0.0(transitive)
+ Addedmerge2@1.4.1(transitive)
+ Addedmicromark-util-character@2.1.0(transitive)
+ Addedmicromark-util-encode@2.0.0(transitive)
+ Addedmicromark-util-sanitize-uri@2.0.0(transitive)
+ Addedmicromatch@4.0.54.0.8(transitive)
+ Addedmime-db@1.33.0(transitive)
+ Addedmime-types@2.1.18(transitive)
+ Addedmimic-fn@2.1.04.0.0(transitive)
+ Addedmin-indent@1.0.1(transitive)
+ Addedminimatch@9.0.5(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedminimist-options@4.1.0(transitive)
+ Addedmlly@1.7.1(transitive)
+ Addedmodify-values@1.0.1(transitive)
+ Addedmodule-alias@2.2.3(transitive)
+ Addedmrmime@2.0.0(transitive)
+ Addedmute-stream@0.0.8(transitive)
+ Addedneo-async@2.6.2(transitive)
+ Addednested-error-stacks@2.0.1(transitive)
+ Addednode-fetch@2.6.72.7.0(transitive)
+ Addednormalize-package-data@2.5.03.0.3(transitive)
+ Addednormalize-path@3.0.0(transitive)
+ Addednpm-run-path@4.0.15.3.0(transitive)
+ Addedobject-keys@1.1.1(transitive)
+ Addedobject.assign@4.1.5(transitive)
+ Addedobjectorarray@1.0.5(transitive)
+ Addedon-headers@1.0.2(transitive)
+ Addedonetime@5.1.26.0.0(transitive)
+ Addedoniguruma-to-js@0.3.3(transitive)
+ Addedos-homedir@1.0.2(transitive)
+ Addedos-tmpdir@1.0.2(transitive)
+ Addedp-limit@1.3.02.3.03.1.05.0.0(transitive)
+ Addedp-locate@2.0.04.1.05.0.0(transitive)
+ Addedp-map@5.5.0(transitive)
+ Addedp-try@1.0.02.2.0(transitive)
+ Addedparse-author@2.0.0(transitive)
+ Addedparse-github-url@1.0.2(transitive)
+ Addedparse-json@4.0.05.2.0(transitive)
+ Addedparse-ms@2.1.0(transitive)
+ Addedpath-exists@3.0.04.0.0(transitive)
+ Addedpath-is-inside@1.0.2(transitive)
+ Addedpath-key@4.0.0(transitive)
+ Addedpath-parse@1.0.7(transitive)
+ Addedpath-to-regexp@2.2.1(transitive)
+ Addedpath-type@3.0.04.0.05.0.0(transitive)
+ Addedpathe@1.1.2(transitive)
+ Addedpathval@1.1.1(transitive)
+ Addedpegjs@0.10.0(transitive)
+ Addedpicomatch@2.3.1(transitive)
+ Addedpify@2.3.03.0.05.0.0(transitive)
+ Addedpkg-conf@2.1.0(transitive)
+ Addedpkg-types@1.2.0(transitive)
+ Addedprettier@2.8.8(transitive)
+ Addedpretty-format@29.7.0(transitive)
+ Addedpretty-ms@7.0.1(transitive)
+ Addedprocess-nextick-args@2.0.1(transitive)
+ Addedproperty-information@6.5.0(transitive)
+ Addedpunycode@1.4.1(transitive)
+ Addedpunycode.js@2.3.1(transitive)
+ Addedq@1.5.1(transitive)
+ Addedqueue-microtask@1.2.3(transitive)
+ Addedquick-lru@4.0.15.1.1(transitive)
+ Addedrange-parser@1.2.0(transitive)
+ Addedrc@1.2.8(transitive)
+ Addedreact-is@18.3.1(transitive)
+ Addedread-pkg@3.0.05.2.06.0.0(transitive)
+ Addedread-pkg-up@3.0.07.0.18.0.0(transitive)
+ Addedreadable-stream@2.3.83.6.2(transitive)
+ Addedredent@3.0.04.0.0(transitive)
+ Addedreduce-flatten@2.0.0(transitive)
+ Addedregenerator-runtime@0.14.1(transitive)
+ Addedregex@4.3.2(transitive)
+ Addedregexp.prototype.flags@1.5.2(transitive)
+ Addedregistry-auth-token@3.3.2(transitive)
+ Addedregistry-url@3.1.05.1.0(transitive)
+ Addedremove-markdown@0.3.0(transitive)
+ Addedrequire-directory@2.1.1(transitive)
+ Addedrequire-from-string@2.0.2(transitive)
+ Addedrequire-main-filename@2.0.0(transitive)
+ Addedrequireg@0.2.2(transitive)
+ Addedresolve@1.22.81.7.1(transitive)
+ Addedresolve-from@5.0.0(transitive)
+ Addedrestore-cursor@3.1.0(transitive)
+ Addedreusify@1.0.4(transitive)
+ Addedrun-async@2.4.1(transitive)
+ Addedrun-parallel@1.2.0(transitive)
+ Addedrxjs@6.6.7(transitive)
+ Addedsafe-array-concat@1.1.2(transitive)
+ Addedsafe-buffer@5.1.2(transitive)
+ Addedsafe-regex-test@1.0.3(transitive)
+ Addedsemver@5.7.26.3.1(transitive)
+ Addedserve@14.2.3(transitive)
+ Addedserve-handler@6.1.5(transitive)
+ Addedset-blocking@2.0.0(transitive)
+ Addedset-function-name@2.0.2(transitive)
+ Addedshiki@1.17.0(transitive)
+ Addedsiginfo@2.0.0(transitive)
+ Addedsignal-exit@3.0.74.1.0(transitive)
+ Addedsignale@1.4.0(transitive)
+ Addedsirv@2.0.4(transitive)
+ Addedslash@1.0.04.0.05.1.0(transitive)
+ Addedsource-map-support@0.5.21(transitive)
+ Addedspace-separated-tokens@2.0.2(transitive)
+ Addedspdx-correct@3.2.0(transitive)
+ Addedspdx-exceptions@2.5.0(transitive)
+ Addedspdx-expression-parse@3.0.1(transitive)
+ Addedspdx-license-ids@3.0.20(transitive)
+ Addedsplit@1.0.1(transitive)
+ Addedsplit2@3.2.2(transitive)
+ Addedstackback@0.0.2(transitive)
+ Addedstd-env@3.7.0(transitive)
+ Addedstring-width@4.2.35.1.2(transitive)
+ Addedstring.prototype.trim@1.2.9(transitive)
+ Addedstring.prototype.trimend@1.0.8(transitive)
+ Addedstring.prototype.trimstart@1.0.8(transitive)
+ Addedstring_decoder@1.1.1(transitive)
+ Addedstringify-entities@4.0.4(transitive)
+ Addedstrip-ansi@7.1.0(transitive)
+ Addedstrip-bom@3.0.0(transitive)
+ Addedstrip-final-newline@2.0.03.0.0(transitive)
+ Addedstrip-indent@3.0.04.0.0(transitive)
+ Addedstrip-json-comments@2.0.1(transitive)
+ Addedstrip-literal@2.1.0(transitive)
+ Addedsupports-color@5.5.0(transitive)
+ Addedsupports-hyperlinks@2.3.0(transitive)
+ Addedsupports-preserve-symlinks-flag@1.0.0(transitive)
+ Addedsvelte-ast-print@0.2.3(transitive)
+ Addedtable-layout@1.0.2(transitive)
+ Addedtapable@2.2.1(transitive)
+ Addedterminal-link@2.1.1(transitive)
+ Addedtest-exclude@6.0.0(transitive)
+ Addedtext-extensions@1.9.0(transitive)
+ Addedthrough@2.3.8(transitive)
+ Addedthrough2@2.0.54.0.2(transitive)
+ Addedtinybench@2.9.0(transitive)
+ Addedtinycolor2@1.6.0(transitive)
+ Addedtinypool@0.8.4(transitive)
+ Addedtinyspy@2.2.1(transitive)
+ Addedtmp@0.0.33(transitive)
+ Addedto-fast-properties@2.0.0(transitive)
+ Addedto-regex-range@5.0.1(transitive)
+ Addedtotalist@3.0.1(transitive)
+ Addedtr46@0.0.3(transitive)
+ Addedtrim-lines@3.0.1(transitive)
+ Addedtrim-newlines@3.0.14.1.1(transitive)
+ Addedts-node@10.9.29.1.1(transitive)
+ Addedtslib@1.10.01.14.12.1.0(transitive)
+ Addedtype-detect@4.1.0(transitive)
+ Addedtype-fest@0.18.10.21.30.6.00.8.11.4.0(transitive)
+ Addedtyped-array-buffer@1.0.2(transitive)
+ Addedtyped-array-byte-length@1.0.1(transitive)
+ Addedtyped-array-byte-offset@1.0.2(transitive)
+ Addedtyped-array-length@1.0.6(transitive)
+ Addedtypedoc@0.26.3(transitive)
+ Addedtypedoc-plugin-coverage@3.3.0(transitive)
+ Addedtypedoc-plugin-mdn-links@3.2.2(transitive)
+ Addedtypescript@5.5.45.6.2(transitive)
+ Addedtypescript-memoize@1.1.1(transitive)
+ Addedtypical@4.0.05.2.0(transitive)
+ Addeduc.micro@2.1.0(transitive)
+ Addedufo@1.5.4(transitive)
+ Addeduglify-js@3.19.3(transitive)
+ Addedunbox-primitive@1.0.2(transitive)
+ Addedunicorn-magic@0.1.0(transitive)
+ Addedunist-util-is@6.0.0(transitive)
+ Addedunist-util-position@5.0.0(transitive)
+ Addedunist-util-visit@5.0.0(transitive)
+ Addeduniversal-user-agent@6.0.1(transitive)
+ Addedupdate-check@1.5.4(transitive)
+ Addedurl-join@4.0.1(transitive)
+ Addeduser-home@2.0.0(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
+ Addedv8-compile-cache-lib@3.0.1(transitive)
+ Addedvalidate-npm-package-license@3.0.4(transitive)
+ Addedvfile@6.0.3(transitive)
+ Addedvfile-message@4.0.2(transitive)
+ Addedvite-node@1.6.0(transitive)
+ Addedvitest@1.6.0(transitive)
+ Addedwebidl-conversions@3.0.1(transitive)
+ Addedwhatwg-url@5.0.0(transitive)
+ Addedwhich-boxed-primitive@1.0.2(transitive)
+ Addedwhich-module@2.0.1(transitive)
+ Addedwhy-is-node-running@2.3.0(transitive)
+ Addedwidest-line@4.0.1(transitive)
+ Addedwordwrap@1.0.0(transitive)
+ Addedwordwrapjs@4.0.1(transitive)
+ Addedwrap-ansi@6.2.07.0.08.1.0(transitive)
+ Addedxtend@4.0.2(transitive)
+ Addedy18n@4.0.35.0.8(transitive)
+ Addedyallist@4.0.0(transitive)
+ Addedyaml@1.10.22.5.1(transitive)
+ Addedyargs@15.4.116.2.0(transitive)
+ Addedyargs-parser@18.1.320.2.9(transitive)
+ Addedyn@3.1.1(transitive)
+ Addedyocto-queue@0.1.01.1.1(transitive)
+ Addedzwitch@2.0.4(transitive)