New Typedoc implementation

tailwindcss-presets
tugcekucukoglu 2024-06-28 10:27:22 +03:00
parent d2f8719773
commit 7a11318b9c
7 changed files with 918 additions and 131 deletions

View File

@ -4,8 +4,9 @@ on:
push:
branches: [master]
paths:
- '**/**/**/*.d.ts'
- '/api-generator/build-apidoc.js'
- 'packages/primevue/src/**/*.d.ts'
- 'packages/primevue/src/**/style/*.js'
- 'packages/themes/src/presets/**/**/index.js'
permissions:
contents: write
@ -17,7 +18,7 @@ jobs:
strategy:
matrix:
node-version: [18, 20]
node-version: [20]
steps:
- name: Checkout repository
@ -26,7 +27,7 @@ jobs:
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
version: 9
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
@ -38,7 +39,7 @@ jobs:
run: pnpm run setup
- name: Generate api doc
run: pnpm run apidoc
run: pnpm run build:apidoc
- name: Code Format
run: pnpm run format

View File

@ -1,6 +1,6 @@
{
"name": "showcase",
"version": "4.0.0-rc.2",
"version": "4.0.0-rc.3",
"author": "PrimeTek Informatics",
"description": "",
"homepage": "https://primevue.org/",
@ -20,6 +20,7 @@
"preview": "nuxt preview",
"postinstall": "nuxt prepare",
"build:prebuild": "node ./scripts/prebuild.js",
"build:apidoc": "node ./scripts/build-apidoc.js",
"test:unit": "vitest run",
"test:unit:watch": "vitest watch",
"test:coverage": "vitest run --coverage"

View File

@ -0,0 +1,760 @@
const TypeDoc = require('typedoc');
const path = require('path');
const fs = require('fs');
const rootDir = path.resolve(__dirname, '../../../');
const outputPath = path.resolve(rootDir, 'apps/showcase/doc/common/apidoc');
const staticMessages = {
methods: "Defines methods that can be accessed by the component's reference.",
emits: 'Defines emit that determine the behavior of the component based on a given condition or report the actions that the component takes.',
slots: 'Defines the slots used by the component.',
functions: 'Defines the custom functions used by the module.',
events: "Defines the custom events used by the component's emit.",
interfaces: 'Defines the custom interfaces used by the module.',
types: 'Defines the custom types used by the module.',
tokens: 'Define design tokens used by the component.'
};
const app = new TypeDoc.Application();
// If you want TypeDoc to load tsconfig.json / typedoc.json files
app.options.addReader(new TypeDoc.TSConfigReader());
app.options.addReader(new TypeDoc.TypeDocReader());
app.bootstrap({
// typedoc options here
name: 'PrimeVue',
entryPoints: [`src/`],
entryPointStrategy: 'expand',
hideGenerator: true,
excludeExternals: true,
includeVersion: true,
searchInComments: true,
disableSources: true,
logLevel: 'Error',
sort: ['source-order'],
exclude: ['node_modules', 'src/**/*.js']
});
const project = app.convert();
if (project) {
const doc = {};
const parseText = (text) => {
return text.replace(/{/g, '{').replace(/}/g, '}');
};
project.children.forEach((module) => {
const { name, comment } = module;
const description = comment && comment.summary.map((s) => s.text || '').join(' ');
doc[name] = {
description
};
const module_component_group = module.groups?.find((g) => g.title === 'Component');
let methods = {
description: staticMessages['methods'],
values: []
};
module_component_group &&
module_component_group.children.forEach((component) => {
const description =
component.comment &&
component.comment.summary
.map((s) => {
const text = s.text || '';
const splittedText = text.split('_');
return splittedText[1] ? splittedText[1] : text;
})
.join(' ');
!doc[name]['components'] && (doc[name]['components'] = {});
const component_method_group = component.groups && component.groups.find((g) => g.title === 'Methods');
component_method_group &&
component_method_group.children.forEach((method) => {
const signature = method.getAllSignatures()[0];
methods.values.push({
name: signature.name,
parameters: signature.parameters.map((param) => {
return {
name: param.name,
type: param.type.toString(),
description: param.comment && param.comment.summary.map((s) => s.text || '').join(' ')
};
}),
returnType: signature.type.toString(),
description: signature.comment && signature.comment.summary.map((s) => s.text || '').join(' ')
});
});
const component_props_id = component.extendedTypes && component.extendedTypes[0].typeArguments && component.extendedTypes[0].typeArguments[0] && component.extendedTypes[0].typeArguments[0]._target;
const module_properties_group = module.groups.find((g) => g.title === 'Properties');
const component_props = module_properties_group && module_properties_group.children.find((c) => (component_props_id ? c.id === component_props_id : true));
const props = {
description: '',
values: []
};
const emit = {
description: staticMessages['emit'],
values: []
};
if (component_props) {
props.description = component_props.comment ? component_props.comment.summary.map((s) => parseText(s.text || '')).join(' ') : '';
const component_props_group = component_props.groups && component_props.groups.find((g) => g.title === 'Properties');
component_props_group &&
component_props_group.children.forEach((prop) => {
if (!prop.inheritedFrom || (prop.inheritedFrom && !prop.inheritedFrom.toString().startsWith('Omit.data-pr-'))) {
props.values.push({
name: prop.name,
optional: prop.flags.isOptional,
readonly: prop.flags.isReadonly,
type: prop.type.toString(),
default: prop.comment && prop.comment.getTag('@defaultValue') ? parseText(prop.comment.getTag('@defaultValue').content[0]?.text || '') : '', // TODO: Check
description: prop.comment && prop.comment.summary.map((s) => parseText(s.text || '')).join(' '),
deprecated: prop.comment && prop.comment.getTag('@deprecated') ? parseText(prop.comment.getTag('@deprecated').content[0]?.text) : undefined
});
}
});
const component_props_methods_group = component_props.groups && component_props.groups.find((g) => g.title === 'Methods');
component_props_methods_group &&
component_props_methods_group.children.forEach((method) => {
const signature = method.getAllSignatures()[0];
methods.values.push({
name: signature.name,
parameters: signature.parameters.map((param) => {
return {
name: param.name,
optional: param.flags.isOptional,
type: param.type.toString(),
description: param.comment && param.comment.summary.map((s) => parseText(s.text || '')).join(' ')
};
}),
returnType: signature.type.toString(),
description: signature.comment.summary.map((s) => parseText(s.text || '')).join(' ')
});
});
}
doc[name]['components'][component.name] = {
description,
methods
};
});
const module_model_group = module.groups?.find((g) => g.title === 'Model');
module_model_group &&
module_model_group.children.forEach((model) => {
const event_props_description = model.comment && model.comment.summary.map((s) => s.text || '').join(' ');
!doc[name]['model'] && (doc[name]['model'] = {});
const props = {
description: '',
values: []
};
const methods = {
description: '',
values: []
};
const model_props_group = model.groups.find((g) => g.title === 'Properties');
model_props_group &&
model_props_group.children.forEach((prop) => {
props.values.push({
name: prop.name,
optional: prop.flags.isOptional,
readonly: prop.flags.isReadonly,
type: prop.type.toString(),
default: prop.comment && prop.comment.getTag('@defaultValue') ? prop.comment.getTag('@defaultValue').content[0]?.text || '' : '', // TODO: Check
description: prop.comment && prop.comment.summary.map((s) => s.text || '').join(' ')
});
});
const model_methods_group = model.groups.find((g) => g.title === 'Methods');
model_methods_group &&
model_methods_group.children.forEach((method) => {
const signature = method.getAllSignatures()[0];
const isSlot = model.name.includes('Slots');
methods.values.push({
name: signature.name,
parameters: signature.parameters.map((param) => {
let type = param.type.toString();
if (param.type.declaration && isSlot) {
type = '';
if (param.type.declaration.children) {
param.type.declaration.children.forEach((child) => {
if (child.signatures) {
const childSinature = child.signatures[0];
const parameters = childSinature.parameters.reduce((acc, { name, type }, index) => (index === 0 ? `${name}: ${type.name}` : `${acc}, ${name}: ${type.name}`), '');
type += ` \t ${childSinature.name}(${parameters}): ${childSinature.type?.name}, // ${childSinature.comment?.summary[0]?.text}\n `;
} else {
const childType = child.type.elementType ? child.type.elementType.name : child.type.name;
type += ` \t ${child.name}: ${childType}, // ${child.comment?.summary[0]?.text}\n `;
}
});
}
type = `{\n ${type} }`;
}
return {
name: param.name,
optional: param.flags.isOptional,
type: type,
description: param.comment && param.comment.summary.map((s) => parseText(s.text || '')).join(' ')
};
}),
returnType: signature.type.toString(),
description: signature.comment && signature.comment.summary.map((s) => parseText(s.text || '')).join(' '),
deprecated: signature.comment && signature.comment.getTag('@deprecated') ? parseText(signature.comment.getTag('@deprecated').content[0]?.text) : undefined
});
});
doc[name]['model'][model.name] = {
description: event_props_description,
props,
methods
};
});
const module_functions_group = module.groups?.find((g) => g.title === 'Functions');
module_functions_group &&
module_functions_group.children.forEach((method) => {
!doc[name]['functions'] &&
(doc[name]['functions'] = {
description: staticMessages['functions'],
values: {}
});
const signatures = method.getAllSignatures();
if (signatures && signatures.length > 0) {
const signature = signatures[0];
doc[name]['functions'].values[method.name] = {
name: signature.name,
parameters: signature.parameters.map((param) => {
return {
name: param.name,
type: param.type.toString(),
description: param.comment && param.comment.summary.map((s) => s.text || '').join(' ')
};
}),
returnType: signature.type.toString(),
description: signature.comment && signature.comment.summary.map((s) => s.text || '').join(' ')
};
}
});
const module_events_group = module.groups?.find((g) => g.title === 'Events');
module_events_group &&
module_events_group.children.forEach((event) => {
const event_props_description = event.comment && event.comment.summary.map((s) => s.text || '').join(' ');
const component_prop = event.comment && event.comment.getTag('@see') ? event.comment.getTag('@see').content[0]?.text || '' : ''; // TODO: Check
const event_extendedBy = event.extendedBy && event.extendedBy.toString();
!doc[name]['events'] &&
(doc[name]['events'] = {
description: staticMessages['events'],
values: {}
});
const props = [];
const event_props_group = event.groups.find((g) => g.title === 'Properties');
event_props_group &&
event_props_group.children.forEach((prop) => {
props.push({
name: prop.name,
optional: prop.flags.isOptional,
readonly: prop.flags.isReadonly,
type: prop.type.toString(),
//default: prop.comment && prop.comment.getTag('@defaultValue') ? prop.comment.getTag('@defaultValue').content[0].text : '', // TODO: Check
description: prop.comment && prop.comment.summary.map((s) => s.text || '').join(' ')
});
});
doc[name]['events'].values[event.name] = {
description: event_props_description,
relatedProp: component_prop,
props,
extendedBy: event_extendedBy
};
});
const module_interfaces_group = module.groups?.find((g) => g.title === 'Interfaces');
module_interfaces_group &&
module_interfaces_group.children.forEach((event) => {
const event_props_description = event.comment && event.comment.summary.map((s) => s.text || '').join(' ');
let component_prop = '';
if (event.comment && event.comment.getTag('@see')) {
const tag = event.comment.getTag('@see');
const content = tag.content[0];
if (content.text.includes("['")) {
component_prop = `${content.target.name}${content.text}`;
} else {
component_prop = `${content.text === content.target?.name ? content.target.parent.name : content.target?.name}.${content.text}`;
}
}
const event_extendedBy = event.extendedBy && event.extendedBy.toString();
const event_extendedTypes = event.extendedTypes && event.extendedTypes.toString();
!doc[name]['interfaces'] &&
(doc[name]['interfaces'] = {
description: staticMessages['interfaces'],
eventDescription: staticMessages['events'],
methodDescription: staticMessages['methods'],
typeDescription: staticMessages['types'],
values: {}
});
const props = [];
const methods = [];
if (event.groups) {
const event_props_group = event.groups.find((g) => g.title === 'Properties');
event_props_group &&
event_props_group.children.forEach((prop) => {
props.push({
name: prop.name,
optional: prop.flags.isOptional,
readonly: prop.flags.isReadonly,
type: prop.type.toString(),
default: prop.comment && prop.comment.getTag('@defaultValue') ? prop.comment.getTag('@defaultValue').content[0]?.text || '' : '', // TODO: Check
description:
prop.comment &&
prop.comment.summary
.map((s) => {
if (s.text.indexOf('[here]') > -1) {
return `${s.text.slice(0, s.text.indexOf('[here]'))} <a target="_blank" href="${s.text.slice(s.text.indexOf('(') + 1, s.text.indexOf(')'))}">here</a> ${s.text.slice(s.text.indexOf(')') + 1)}`;
}
return s.text || '';
})
.join(' '),
deprecated: prop.comment && prop.comment.getTag('@deprecated') ? parseText(prop.comment.getTag('@deprecated').content[0]?.text) : undefined
});
});
const event_methods_group = event.groups.find((g) => g.title === 'Methods');
event_methods_group &&
event_methods_group.children.forEach((method) => {
const signature = method.getAllSignatures()[0];
const isSlot = event.name.includes('Slots');
methods.push({
name: signature.name,
parameters: signature.parameters.map((param) => {
let type = param.type.toString();
if (param.type.declaration && isSlot) {
type = '';
if (param.type.declaration.children) {
param.type.declaration.children.forEach((child) => {
if (child.signatures) {
const childSinature = child.signatures[0];
const parameters = childSinature.parameters.reduce((acc, { name, type }, index) => (index === 0 ? `${name}: ${type.name}` : `${acc}, ${name}: ${type.name}`), '');
type += ` \t <span class="font-medium">${childSinature.name}(${parameters})</span>: ${childSinature.type?.name}, // ${childSinature.comment?.summary[0]?.text}\n `;
} else {
if (child.type?.declaration?.signatures) {
let functionParameters = '';
child.type?.declaration?.signatures[0]?.parameters.map((param, index) => {
if (index !== 0) functionParameters += `, `;
functionParameters += `<span class="doc-option-parameter-name">${param.name}</span>: ${param.type?.name}`;
});
if (child.type?.declaration?.signatures[0]?.comment?.getTag('@deprecated')?.content[0]?.text) {
type += `\t <span class="ml-3 doc-option-parameter-name line-through">${child.name}</span>: <span class="doc-option-parameter-type line-through">(${functionParameters}) &rArr; ${child.type?.declaration?.signatures[0]?.type?.name}</span>, <span class="doc-option-parameter-type line-through">// ${child.type?.declaration?.signatures[0]?.comment.summary[0]?.text}</span>\n`;
} else {
type += `\t <span class="ml-3 doc-option-parameter-name">${child.name}</span>: <span class="doc-option-parameter-type">(${functionParameters}) &rArr; ${child.type?.declaration?.signatures[0]?.type?.name}</span>, <span class="doc-option-parameter-type">// ${child.type?.declaration?.signatures[0]?.comment.summary[0]?.text}</span>\n`;
}
} else {
const childType = child.type.elementType ? child.type.elementType.name : child.type.name;
type += ` \t <span class="ml-3 doc-option-parameter-name">${child.name}</span>: <span class="doc-option-parameter-type">${childType}</span>, <span class="doc-option-parameter-type">// ${child.comment?.summary[0]?.text}</span>\n `;
}
}
});
}
type = `{\n ${type}}`;
}
return {
name: param.name,
optional: param.flags.isOptional,
type: type,
description: param.comment && param.comment.summary.map((s) => parseText(s.text || '')).join(' ')
};
}),
returnType: signature.type.toString(),
description: signature.comment && signature.comment.summary.map((s) => parseText(s.text || '')).join(' '),
deprecated: signature.comment && signature.comment.getTag('@deprecated') ? parseText(signature.comment.getTag('@deprecated').content[0]?.text) : undefined
});
});
}
const signature = event.getAllSignatures();
if (signature && signature.length > 0) {
const parameter = signature[0].parameters[0];
props.push({
name: `[${parameter.name}: ${parameter.type.toString()}]`,
optional: parameter.flags.isOptional,
readonly: parameter.flags.isReadonly,
type: signature[0].type.toString(),
//default: prop.comment && prop.comment.getTag('@defaultValue') ? prop.comment.getTag('@defaultValue').content[0].text : '', // TODO: Check
description: signature[0].comment && signature[0].comment.summary.map((s) => s.text || '').join(' ')
});
}
doc[name]['interfaces'].values[event.name] = {
description: event_props_description,
relatedProp: component_prop,
props,
methods,
extendedBy: event_extendedBy,
extendedTypes: event_extendedTypes
};
!doc[name]['tokens'] &&
(doc[name]['tokens'] = {
description: staticMessages['tokens'],
values: {}
});
const tokens = [];
const setTokens = (_declaration, _name) => {
if (_declaration?.groups) {
const event_props_group = _declaration.groups.find((g) => g.title === 'Properties');
event_props_group &&
event_props_group.children.forEach((prop) => {
if (prop.type?.declaration) {
setTokens(prop.type?.declaration, prop.name);
} else if (prop.comment?.getTag('@designToken')) {
tokens.push({
name: _name ? `${_name}.${prop.name}` : prop.name,
token: prop.comment.getTag('@designToken').content[0]?.text || '',
optional: prop.flags.isOptional,
readonly: prop.flags.isReadonly,
type: prop.type.toString(),
default: prop.comment && prop.comment.getTag('@defaultValue') ? prop.comment.getTag('@defaultValue').content[0]?.text || '' : '', // TODO: Check
description:
prop.comment &&
prop.comment.summary
.map((s) => {
if (s.text.indexOf('[here]') > -1) {
return `${s.text.slice(0, s.text.indexOf('[here]'))} <a target="_blank" href="${s.text.slice(s.text.indexOf('(') + 1, s.text.indexOf(')'))}">here</a> ${s.text.slice(s.text.indexOf(')') + 1)}`;
}
return s.text || '';
})
.join(' '),
deprecated: prop.comment && prop.comment.getTag('@deprecated') ? parseText(prop.comment.getTag('@deprecated').content[0]?.text) : undefined
});
}
});
}
};
setTokens(event);
doc[name]['tokens'].values[event.name] = {
description: event_props_description,
props: tokens
};
});
const module_enumerations_group = module.groups?.find((g) => g.title === 'Enumerations');
module_enumerations_group &&
module_enumerations_group.children.forEach((event) => {
const event_props_description = event.comment && event.comment.summary.map((s) => s.text || '').join(' ');
!doc[name]['enumerations'] &&
(doc[name]['enumerations'] = {
description: staticMessages['enumerations'],
values: {}
});
const members = [];
if (event.groups) {
const event_members_group = event.groups.find((g) => g.title === 'Enumeration Members');
event_members_group &&
event_members_group.children.forEach((prop) => {
members.push({
name: prop.name,
optional: prop.flags.isOptional,
readonly: prop.flags.isReadonly,
value: prop.type.toString(),
description:
prop.comment &&
prop.comment.summary
.map((s) => {
if (s.text.indexOf('[here]') > -1) {
return `${s.text.slice(0, s.text.indexOf('[here]'))} <a target="_blank" href="${s.text.slice(s.text.indexOf('(') + 1, s.text.indexOf(')'))}">here</a> ${s.text.slice(s.text.indexOf(')') + 1)}`;
}
return s.text || '';
})
.join(' '),
deprecated: prop.comment && prop.comment.getTag('@deprecated') ? parseText(prop.comment.getTag('@deprecated').content[0]?.text) : undefined
});
});
}
doc[name]['enumerations'].values[event.name] = {
description: event_props_description,
members
};
});
const module_types_group = module.groups?.find((g) => g.title === 'Type Aliases');
module_types_group &&
module_types_group.children.forEach((event) => {
const event_props_description = event.comment && event.comment.summary.map((s) => s.text || '').join(' ');
!doc[name]['types'] &&
(doc[name]['types'] = {
description: staticMessages['types'],
values: {}
});
let values = event.type.toString();
if (values.includes('Function') && event.type.types) {
values = '';
for (const [i, type] of event.type.types.entries()) {
if (type.declaration && type.declaration.signatures) {
const signature = type.declaration.signatures[0];
const parameters = signature.parameters.reduce((acc, { name, type }, index) => (index === 0 ? `${name}: ${type.name}` : `${acc}, ${name}: ${type.name}`), '');
values += i === 0 ? `(${parameters}) => ${signature.type?.name}` : ` | (${parameters}) => ${signature.type?.name}`;
} else {
const typeName = type.name || type.value;
values += i === 0 ? `${typeName}` : ` | ${typeName}`;
}
}
}
const declaration = event.type.declaration;
if (declaration) {
const groups = declaration.groups && declaration.groups.find((g) => g.title === 'Properties');
const map = {};
groups &&
groups.children.forEach((prop) => {
const description = prop.comment && prop.comment.summary.map((s) => s.text || '').join(' ');
map[`${prop.name}${prop.flags.isOptional ? '?' : ''}`] = `${prop.type.toString()}, ${description ? '// ' + description : ''}`;
});
values = JSON.stringify(map, null, 4);
}
doc[name]['types'].values[event.name] = {
values,
description: event_props_description
};
});
const module_namespaces_group = module.groups?.find((g) => g.title === 'Namespaces');
module_namespaces_group &&
module_namespaces_group.children.forEach((pevent) => {
const module_interfaces_group = pevent?.groups?.find((g) => g.title === 'Interfaces');
module_interfaces_group &&
module_interfaces_group.children.forEach((event) => {
const event_props_description = event.comment && event.comment.summary.map((s) => s.text || '').join(' ');
let component_prop = '';
if (event.comment && event.comment.getTag('@see')) {
const tag = event.comment.getTag('@see');
const content = tag.content[0];
if (content.text.includes("['")) {
component_prop = `${content.target.name}${content.text}`;
} else {
component_prop = `${content.text === content.target?.name ? content.target.parent.name : content.target?.name}.${content.text}`;
}
}
!doc[name]['tokens'] &&
(doc[name]['tokens'] = {
description: staticMessages['tokens'],
values: {}
});
const props = [];
const setProps = (_declaration, _name) => {
if (_declaration?.groups) {
const event_props_group = _declaration.groups.find((g) => g.title === 'Properties');
event_props_group &&
event_props_group.children.forEach((prop) => {
if (prop.type?.declaration) {
setProps(prop.type?.declaration, prop.name);
} else if (prop.comment?.getTag('@designToken')) {
props.push({
name: _name ? `${_name}.${prop.name}` : prop.name,
token: prop.comment.getTag('@designToken').content[0]?.text || '',
optional: prop.flags.isOptional,
readonly: prop.flags.isReadonly,
type: prop.type.toString(),
default: prop.comment && prop.comment.getTag('@defaultValue') ? prop.comment.getTag('@defaultValue').content[0]?.text || '' : '', // TODO: Check
description:
prop.comment &&
prop.comment.summary
.map((s) => {
if (s.text.indexOf('[here]') > -1) {
return `${s.text.slice(0, s.text.indexOf('[here]'))} <a target="_blank" href="${s.text.slice(s.text.indexOf('(') + 1, s.text.indexOf(')'))}">here</a> ${s.text.slice(
s.text.indexOf(')') + 1
)}`;
}
return s.text || '';
})
.join(' '),
deprecated: prop.comment && prop.comment.getTag('@deprecated') ? parseText(prop.comment.getTag('@deprecated').content[0]?.text) : undefined
});
}
});
}
};
setProps(event);
doc[name]['tokens'].values[event.name] = {
description: event_props_description,
props
};
});
});
const module_designtokens_group = module.groups?.find((g) => g.title === 'DesignTokens');
module_designtokens_group &&
module_designtokens_group.children.forEach((event) => {
const event_props_description = event.comment && event.comment.summary.map((s) => s.text || '').join(' ');
let component_prop = '';
if (event.comment && event.comment.getTag('@see')) {
const tag = event.comment.getTag('@see');
const content = tag.content[0];
if (content.text.includes("['")) {
component_prop = `${content.target.name}${content.text}`;
} else {
component_prop = `${content.text === content.target?.name ? content.target.parent.name : content.target?.name}.${content.text}`;
}
}
!doc[name]['tokens'] &&
(doc[name]['tokens'] = {
description: staticMessages['tokens'],
values: {}
});
const props = [];
const setProps = (_declaration, _name) => {
if (_declaration?.groups) {
const event_props_group = _declaration.groups.find((g) => g.title === 'Properties');
event_props_group &&
event_props_group.children.forEach((prop) => {
if (prop.type?.declaration) {
setProps(prop.type?.declaration, prop.name);
} else if (prop.comment?.getTag('@designToken')) {
props.push({
name: _name ? `${_name}.${prop.name}` : prop.name,
token: prop.comment.getTag('@designToken').content[0]?.text || '',
optional: prop.flags.isOptional,
readonly: prop.flags.isReadonly,
type: prop.type.toString(),
default: prop.comment && prop.comment.getTag('@defaultValue') ? prop.comment.getTag('@defaultValue').content[0]?.text || '' : '', // TODO: Check
description:
prop.comment &&
prop.comment.summary
.map((s) => {
if (s.text.indexOf('[here]') > -1) {
return `${s.text.slice(0, s.text.indexOf('[here]'))} <a target="_blank" href="${s.text.slice(s.text.indexOf('(') + 1, s.text.indexOf(')'))}">here</a> ${s.text.slice(s.text.indexOf(')') + 1)}`;
}
return s.text || '';
})
.join(' '),
deprecated: prop.comment && prop.comment.getTag('@deprecated') ? parseText(prop.comment.getTag('@deprecated').content[0]?.text) : undefined
});
}
});
}
};
setProps(event);
doc[name]['tokens'].values[event.name] = {
description: event_props_description,
props
};
});
// app.generateJson(module, `./api-generator/module-typedoc.json`);
});
const typedocJSON = JSON.stringify(doc, null, 4);
!fs.existsSync(outputPath) && fs.mkdirSync(outputPath);
fs.writeFileSync(path.resolve(outputPath, 'index.json'), typedocJSON);
// app.generateJson(project, `./api-generator/typedoc.json`);
}

View File

@ -0,0 +1,20 @@
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": false,
"jsx": "preserve",
"incremental": true
},
"include": ["../../packages/primevue/src/**/*.d.ts", "../../packages/primevue/src/**/style/*.d.ts", "../../packages/themes/types"],
"exclude": ["node_modules", "**/node_modules", "**/dist"]
}

View File

@ -0,0 +1,5 @@
{
"$schema": "https://typedoc.org/schema.json",
"entryPoints": ["../../packages/primevue", "../../packages/themes"],
"sort": ["source-order"]
}

View File

@ -28,11 +28,12 @@
"build:themes": "pnpm --filter themes build",
"build:icons": "pnpm --filter icons build",
"build:showcase": "pnpm --filter showcase build:prebuild",
"build:apidoc": "pnpm --filter showcase build:apidoc",
"dev": "pnpm --filter showcase dev",
"module:dev": "pnpm --filter @primevue/nuxt-module dev",
"security:check": "pnpm audit --prod --audit-level high",
"format": "prettier --write \"**/*.{vue,js,mjs,ts,d.ts}\" \"!packages/themes/types/**/*.d.ts\" --cache",
"format:check": "prettier --check \"**/*.{vue,js,mjs,ts,d.ts}\" \"!packages/themes/types/**/*.d.ts\"",
"format": "prettier --write \"**/*.{vue,js,mjs,ts,d.ts}\" --cache",
"format:check": "prettier --check \"**/*.{vue,js,mjs,ts,d.ts}\"",
"lint": "eslint --ext \".vue,.js,.mjs,.ts\" --ignore-path .gitignore . --cache",
"lint:fix": "eslint --fix --ext \".vue,.js,.mjs,.ts\" --ignore-path .gitignore ."
},

View File

@ -52,7 +52,7 @@ importers:
version: 4.0.2(postcss@8.4.38)
rollup-plugin-vue:
specifier: ^6.0.0-beta.9
version: 6.0.0(@vue/compiler-sfc@3.4.30)
version: 6.0.0(@vue/compiler-sfc@3.4.31)
typescript:
specifier: ^4.9.4
version: 4.9.5
@ -67,7 +67,7 @@ importers:
version: 0.6.3(magicast@0.3.4)(rollup@3.29.4)
vee-validate:
specifier: ^4.8.2
version: 4.13.1(vue@3.4.30(typescript@5.5.2))
version: 4.13.1(vue@3.4.31(typescript@5.5.2))
devDependencies:
'@primevue/core':
specifier: workspace:*
@ -83,7 +83,7 @@ importers:
version: 1.10.0
'@vitejs/plugin-vue':
specifier: 4.1.0
version: 4.1.0(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue@3.4.30(typescript@5.5.2))
version: 4.1.0(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2))
'@vitest/coverage-istanbul':
specifier: ^0.29.8
version: 0.29.8(vitest@0.29.8(jsdom@19.0.0)(sass@1.77.6)(terser@5.31.1))
@ -147,7 +147,7 @@ importers:
version: 8.1.0(postcss@8.4.38)(typescript@5.5.2)
unplugin-vue-components:
specifier: ^0.27.0
version: 0.27.0(@babel/parser@7.24.7)(@nuxt/kit@3.12.2(magicast@0.3.4)(rollup@4.18.0))(rollup@4.18.0)(vue@3.4.30(typescript@5.5.2))
version: 0.27.0(@babel/parser@7.24.7)(@nuxt/kit@3.12.2(magicast@0.3.4)(rollup@4.18.0))(rollup@4.18.0)(vue@3.4.31(typescript@5.5.2))
publishDirectory: dist
packages/core:
@ -160,7 +160,7 @@ importers:
version: 0.0.5
vue:
specifier: ^3.0.0
version: 3.4.30(typescript@5.5.2)
version: 3.4.31(typescript@5.5.2)
publishDirectory: dist
packages/icons:
@ -193,7 +193,7 @@ importers:
version: link:../primevue
unplugin-vue-components:
specifier: 0.27.0
version: 0.27.0(@babel/parser@7.24.7)(@nuxt/kit@3.12.2(magicast@0.3.4)(rollup@4.18.0))(rollup@4.18.0)(vue@3.4.30(typescript@5.5.2))
version: 0.27.0(@babel/parser@7.24.7)(@nuxt/kit@3.12.2(magicast@0.3.4)(rollup@4.18.0))(rollup@4.18.0)(vue@3.4.31(typescript@5.5.2))
devDependencies:
'@nuxt/devtools':
specifier: ^0.8.5
@ -209,7 +209,7 @@ importers:
version: 3.12.2(rollup@4.18.0)
'@nuxt/test-utils':
specifier: ^3.7.3
version: 3.13.1(@vue/test-utils@2.4.6)(h3@1.12.0)(magicast@0.3.4)(nitropack@2.9.6(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4))(rollup@4.18.0)(vitest@1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue-router@4.4.0(vue@3.4.30(typescript@5.5.2)))(vue@3.4.30(typescript@5.5.2))
version: 3.13.1(@vue/test-utils@2.4.6)(h3@1.12.0)(magicast@0.3.4)(nitropack@2.9.7(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4))(rollup@4.18.0)(vitest@1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue-router@4.4.0(vue@3.4.31(typescript@5.5.2)))(vue@3.4.31(typescript@5.5.2))
'@primevue/themes':
specifier: workspace:*
version: link:../themes
@ -221,7 +221,7 @@ importers:
version: 0.5.5(magicast@0.3.4)
nitropack:
specifier: ^2.6.3
version: 2.9.6(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4)
version: 2.9.7(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4)
nuxt:
specifier: 3.3.2
version: 3.3.2(@types/node@18.19.39)(encoding@0.1.13)(eslint@8.57.0)(ioredis@5.4.1)(magicast@0.3.4)(optionator@0.9.4)(rollup@4.18.0)(sass@1.77.6)(terser@5.31.1)(typescript@5.5.2)
@ -2601,37 +2601,37 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
'@vue/compiler-core@3.4.30':
resolution: {integrity: sha512-ZL8y4Xxdh8O6PSwfdZ1IpQ24PjTAieOz3jXb/MDTfDtANcKBMxg1KLm6OX2jofsaQGYfIVzd3BAG22i56/cF1w==}
'@vue/compiler-core@3.4.31':
resolution: {integrity: sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==}
'@vue/compiler-dom@3.4.30':
resolution: {integrity: sha512-+16Sd8lYr5j/owCbr9dowcNfrHd+pz+w2/b5Lt26Oz/kB90C9yNbxQ3bYOvt7rI2bxk0nqda39hVcwDFw85c2Q==}
'@vue/compiler-dom@3.4.31':
resolution: {integrity: sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==}
'@vue/compiler-sfc@3.4.30':
resolution: {integrity: sha512-8vElKklHn/UY8+FgUFlQrYAPbtiSB2zcgeRKW7HkpSRn/JjMRmZvuOtwDx036D1aqKNSTtXkWRfqx53Qb+HmMg==}
'@vue/compiler-sfc@3.4.31':
resolution: {integrity: sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==}
'@vue/compiler-ssr@3.4.30':
resolution: {integrity: sha512-ZJ56YZGXJDd6jky4mmM0rNaNP6kIbQu9LTKZDhcpddGe/3QIalB1WHHmZ6iZfFNyj5mSypTa4+qDJa5VIuxMSg==}
'@vue/compiler-ssr@3.4.31':
resolution: {integrity: sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==}
'@vue/devtools-api@6.6.3':
resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==}
'@vue/reactivity@3.4.30':
resolution: {integrity: sha512-bVJurnCe3LS0JII8PPoAA63Zd2MBzcKrEzwdQl92eHCcxtIbxD2fhNwJpa+KkM3Y/A4T5FUnmdhgKwOf6BfbcA==}
'@vue/reactivity@3.4.31':
resolution: {integrity: sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==}
'@vue/runtime-core@3.4.30':
resolution: {integrity: sha512-qaFEbnNpGz+tlnkaualomogzN8vBLkgzK55uuWjYXbYn039eOBZrWxyXWq/7qh9Bz2FPifZqGjVDl/FXiq9L2g==}
'@vue/runtime-core@3.4.31':
resolution: {integrity: sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==}
'@vue/runtime-dom@3.4.30':
resolution: {integrity: sha512-tV6B4YiZRj5QsaJgw2THCy5C1H+2UeywO9tqgWEc21tn85qHEERndHN/CxlyXvSBFrpmlexCIdnqPuR9RM9thw==}
'@vue/runtime-dom@3.4.31':
resolution: {integrity: sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==}
'@vue/server-renderer@3.4.30':
resolution: {integrity: sha512-TBD3eqR1DeDc0cMrXS/vEs/PWzq1uXxnvjoqQuDGFIEHFIwuDTX/KWAQKIBjyMWLFHEeTDGYVsYci85z2UbTDg==}
'@vue/server-renderer@3.4.31':
resolution: {integrity: sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==}
peerDependencies:
vue: 3.4.30
vue: 3.4.31
'@vue/shared@3.4.30':
resolution: {integrity: sha512-CLg+f8RQCHQnKvuHY9adMsMaQOcqclh6Z5V9TaoMgy0ut0tz848joZ7/CYFFyF/yZ5i2yaw7Fn498C+CNZVHIg==}
'@vue/shared@3.4.31':
resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==}
'@vue/test-utils@2.4.6':
resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==}
@ -3495,8 +3495,8 @@ packages:
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
electron-to-chromium@1.4.812:
resolution: {integrity: sha512-7L8fC2Ey/b6SePDFKR2zHAy4mbdp1/38Yk5TsARO66W3hC5KEaeKMMHoxwtuH+jcu2AYLSn9QX04i95t6Fl1Hg==}
electron-to-chromium@1.4.814:
resolution: {integrity: sha512-GVulpHjFu1Y9ZvikvbArHmAhZXtm3wHlpjTMcXNGKl4IQ4jMQjlnz8yMQYYqdLHKi/jEL2+CBC2akWVCoIGUdw==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@ -4497,8 +4497,8 @@ packages:
loupe@2.3.7:
resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
lru-cache@10.2.2:
resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
lru-cache@10.3.0:
resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==}
engines: {node: 14 || >=16.14}
lru-cache@5.1.1:
@ -4729,8 +4729,8 @@ packages:
engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0}
hasBin: true
nitropack@2.9.6:
resolution: {integrity: sha512-HP2PE0dREcDIBVkL8Zm6eVyrDd10/GI9hTL00PHvjUM8I9Y/2cv73wRDmxNyInfrx/CJKHATb2U/pQrqpzJyXA==}
nitropack@2.9.7:
resolution: {integrity: sha512-aKXvtNrWkOCMsQbsk4A0qQdBjrJ1ZcvwlTQevI/LAgLWLYc5L7Q/YiYxGLal4ITyNSlzir1Cm1D2ZxnYhmpMEw==}
engines: {node: ^16.11.0 || >=17.0.0}
hasBin: true
peerDependencies:
@ -6556,8 +6556,8 @@ packages:
terser:
optional: true
vite@5.3.1:
resolution: {integrity: sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==}
vite@5.3.2:
resolution: {integrity: sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@ -6693,8 +6693,8 @@ packages:
peerDependencies:
vue: ^3.2.0
vue@3.4.30:
resolution: {integrity: sha512-NcxtKCwkdf1zPsr7Y8+QlDBCGqxvjLXF2EX+yi76rV5rrz90Y6gK1cq0olIhdWGgrlhs9ElHuhi9t3+W5sG5Xw==}
vue@3.4.31:
resolution: {integrity: sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@ -8337,7 +8337,7 @@ snapshots:
agent-base: 7.1.1
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.4
lru-cache: 10.2.2
lru-cache: 10.3.0
socks-proxy-agent: 8.0.3
transitivePeerDependencies:
- supports-color
@ -8349,7 +8349,7 @@ snapshots:
'@npmcli/git@5.0.7':
dependencies:
'@npmcli/promise-spawn': 7.0.2
lru-cache: 10.2.2
lru-cache: 10.3.0
npm-pick-manifest: 9.0.1
proc-log: 4.2.0
promise-inflight: 1.0.1
@ -8723,7 +8723,7 @@ snapshots:
- rollup
- supports-color
'@nuxt/test-utils@3.13.1(@vue/test-utils@2.4.6)(h3@1.12.0)(magicast@0.3.4)(nitropack@2.9.6(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4))(rollup@4.18.0)(vitest@1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue-router@4.4.0(vue@3.4.30(typescript@5.5.2)))(vue@3.4.30(typescript@5.5.2))':
'@nuxt/test-utils@3.13.1(@vue/test-utils@2.4.6)(h3@1.12.0)(magicast@0.3.4)(nitropack@2.9.7(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4))(rollup@4.18.0)(vitest@1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue-router@4.4.0(vue@3.4.31(typescript@5.5.2)))(vue@3.4.31(typescript@5.5.2))':
dependencies:
'@nuxt/kit': 3.12.2(magicast@0.3.4)(rollup@4.18.0)
'@nuxt/schema': 3.12.2(rollup@4.18.0)
@ -8738,7 +8738,7 @@ snapshots:
h3: 1.12.0
local-pkg: 0.5.0
magic-string: 0.30.10
nitropack: 2.9.6(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4)
nitropack: 2.9.7(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4)
node-fetch-native: 1.6.4
ofetch: 1.3.4
pathe: 1.1.2
@ -8749,9 +8749,9 @@ snapshots:
ufo: 1.5.3
unenv: 1.9.0
unplugin: 1.10.1
vitest-environment-nuxt: 1.0.0(@vue/test-utils@2.4.6)(h3@1.12.0)(magicast@0.3.4)(nitropack@2.9.6(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4))(rollup@4.18.0)(vitest@1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue-router@4.4.0(vue@3.4.30(typescript@5.5.2)))(vue@3.4.30(typescript@5.5.2))
vue: 3.4.30(typescript@5.5.2)
vue-router: 4.4.0(vue@3.4.30(typescript@5.5.2))
vitest-environment-nuxt: 1.0.0(@vue/test-utils@2.4.6)(h3@1.12.0)(magicast@0.3.4)(nitropack@2.9.7(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4))(rollup@4.18.0)(vitest@1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue-router@4.4.0(vue@3.4.31(typescript@5.5.2)))(vue@3.4.31(typescript@5.5.2))
vue: 3.4.31(typescript@5.5.2)
vue-router: 4.4.0(vue@3.4.31(typescript@5.5.2))
optionalDependencies:
'@vue/test-utils': 2.4.6
vitest: 1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1)
@ -8762,12 +8762,12 @@ snapshots:
'@nuxt/ui-templates@1.3.4': {}
'@nuxt/vite-builder@3.3.2(@types/node@18.19.39)(eslint@8.57.0)(magicast@0.3.4)(optionator@0.9.4)(sass@1.77.6)(terser@5.31.1)(typescript@5.5.2)(vue@3.4.30(typescript@5.5.2))':
'@nuxt/vite-builder@3.3.2(@types/node@18.19.39)(eslint@8.57.0)(magicast@0.3.4)(optionator@0.9.4)(sass@1.77.6)(terser@5.31.1)(typescript@5.5.2)(vue@3.4.31(typescript@5.5.2))':
dependencies:
'@nuxt/kit': 3.3.2(magicast@0.3.4)(rollup@3.29.4)
'@rollup/plugin-replace': 5.0.7(rollup@3.29.4)
'@vitejs/plugin-vue': 4.1.0(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue@3.4.30(typescript@5.5.2))
'@vitejs/plugin-vue-jsx': 3.1.0(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue@3.4.30(typescript@5.5.2))
'@vitejs/plugin-vue': 4.1.0(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2))
'@vitejs/plugin-vue-jsx': 3.1.0(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2))
autoprefixer: 10.4.19(postcss@8.4.38)
chokidar: 3.6.0
clear: 0.1.0
@ -8799,7 +8799,7 @@ snapshots:
vite: 4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1)
vite-node: 0.29.8(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1)
vite-plugin-checker: 0.5.6(eslint@8.57.0)(optionator@0.9.4)(typescript@5.5.2)(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))
vue: 3.4.30(typescript@5.5.2)
vue: 3.4.31(typescript@5.5.2)
vue-bundle-renderer: 1.0.3
transitivePeerDependencies:
- '@types/node'
@ -9484,13 +9484,13 @@ snapshots:
'@unhead/schema': 1.9.14
'@unhead/shared': 1.9.14
'@unhead/vue@1.9.14(vue@3.4.30(typescript@5.5.2))':
'@unhead/vue@1.9.14(vue@3.4.31(typescript@5.5.2))':
dependencies:
'@unhead/schema': 1.9.14
'@unhead/shared': 1.9.14
hookable: 5.5.3
unhead: 1.9.14
vue: 3.4.30(typescript@5.5.2)
vue: 3.4.31(typescript@5.5.2)
'@vercel/nft@0.22.6(encoding@0.1.13)':
dependencies:
@ -9527,20 +9527,20 @@ snapshots:
- encoding
- supports-color
'@vitejs/plugin-vue-jsx@3.1.0(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue@3.4.30(typescript@5.5.2))':
'@vitejs/plugin-vue-jsx@3.1.0(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2))':
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.7)
vite: 4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1)
vue: 3.4.30(typescript@5.5.2)
vue: 3.4.31(typescript@5.5.2)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@4.1.0(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue@3.4.30(typescript@5.5.2))':
'@vitejs/plugin-vue@4.1.0(vite@4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue@3.4.31(typescript@5.5.2))':
dependencies:
vite: 4.2.3(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1)
vue: 3.4.30(typescript@5.5.2)
vue: 3.4.31(typescript@5.5.2)
'@vitest/coverage-istanbul@0.29.8(vitest@0.29.8(jsdom@19.0.0)(sass@1.77.6)(terser@5.31.1))':
dependencies:
@ -9633,63 +9633,63 @@ snapshots:
'@babel/helper-module-imports': 7.22.15
'@babel/helper-plugin-utils': 7.24.7
'@babel/parser': 7.24.7
'@vue/compiler-sfc': 3.4.30
'@vue/compiler-sfc': 3.4.31
'@vue/compiler-core@3.4.30':
'@vue/compiler-core@3.4.31':
dependencies:
'@babel/parser': 7.24.7
'@vue/shared': 3.4.30
'@vue/shared': 3.4.31
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.0
'@vue/compiler-dom@3.4.30':
'@vue/compiler-dom@3.4.31':
dependencies:
'@vue/compiler-core': 3.4.30
'@vue/shared': 3.4.30
'@vue/compiler-core': 3.4.31
'@vue/shared': 3.4.31
'@vue/compiler-sfc@3.4.30':
'@vue/compiler-sfc@3.4.31':
dependencies:
'@babel/parser': 7.24.7
'@vue/compiler-core': 3.4.30
'@vue/compiler-dom': 3.4.30
'@vue/compiler-ssr': 3.4.30
'@vue/shared': 3.4.30
'@vue/compiler-core': 3.4.31
'@vue/compiler-dom': 3.4.31
'@vue/compiler-ssr': 3.4.31
'@vue/shared': 3.4.31
estree-walker: 2.0.2
magic-string: 0.30.10
postcss: 8.4.38
source-map-js: 1.2.0
'@vue/compiler-ssr@3.4.30':
'@vue/compiler-ssr@3.4.31':
dependencies:
'@vue/compiler-dom': 3.4.30
'@vue/shared': 3.4.30
'@vue/compiler-dom': 3.4.31
'@vue/shared': 3.4.31
'@vue/devtools-api@6.6.3': {}
'@vue/reactivity@3.4.30':
'@vue/reactivity@3.4.31':
dependencies:
'@vue/shared': 3.4.30
'@vue/shared': 3.4.31
'@vue/runtime-core@3.4.30':
'@vue/runtime-core@3.4.31':
dependencies:
'@vue/reactivity': 3.4.30
'@vue/shared': 3.4.30
'@vue/reactivity': 3.4.31
'@vue/shared': 3.4.31
'@vue/runtime-dom@3.4.30':
'@vue/runtime-dom@3.4.31':
dependencies:
'@vue/reactivity': 3.4.30
'@vue/runtime-core': 3.4.30
'@vue/shared': 3.4.30
'@vue/reactivity': 3.4.31
'@vue/runtime-core': 3.4.31
'@vue/shared': 3.4.31
csstype: 3.1.3
'@vue/server-renderer@3.4.30(vue@3.4.30(typescript@5.5.2))':
'@vue/server-renderer@3.4.31(vue@3.4.31(typescript@5.5.2))':
dependencies:
'@vue/compiler-ssr': 3.4.30
'@vue/shared': 3.4.30
vue: 3.4.30(typescript@5.5.2)
'@vue/compiler-ssr': 3.4.31
'@vue/shared': 3.4.31
vue: 3.4.31(typescript@5.5.2)
'@vue/shared@3.4.30': {}
'@vue/shared@3.4.31': {}
'@vue/test-utils@2.4.6':
dependencies:
@ -10054,7 +10054,7 @@ snapshots:
browserslist@4.23.1:
dependencies:
caniuse-lite: 1.0.30001638
electron-to-chromium: 1.4.812
electron-to-chromium: 1.4.814
node-releases: 2.0.14
update-browserslist-db: 1.0.16(browserslist@4.23.1)
@ -10109,7 +10109,7 @@ snapshots:
'@npmcli/fs': 3.1.1
fs-minipass: 3.0.3
glob: 10.4.2
lru-cache: 10.2.2
lru-cache: 10.3.0
minipass: 7.1.2
minipass-collect: 2.0.1
minipass-flush: 1.0.5
@ -10665,7 +10665,7 @@ snapshots:
ee-first@1.1.1: {}
electron-to-chromium@1.4.812: {}
electron-to-chromium@1.4.814: {}
emoji-regex@8.0.0: {}
@ -11318,7 +11318,7 @@ snapshots:
hosted-git-info@7.0.2:
dependencies:
lru-cache: 10.2.2
lru-cache: 10.3.0
html-encoding-sniffer@3.0.0:
dependencies:
@ -11826,7 +11826,7 @@ snapshots:
dependencies:
get-func-name: 2.0.2
lru-cache@10.2.2: {}
lru-cache@10.3.0: {}
lru-cache@5.1.1:
dependencies:
@ -12119,7 +12119,7 @@ snapshots:
- supports-color
- uWebSockets.js
nitropack@2.9.6(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4):
nitropack@2.9.7(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4):
dependencies:
'@cloudflare/kv-asset-handler': 0.3.4
'@netlify/functions': 2.8.0(@opentelemetry/api@1.9.0)
@ -12156,7 +12156,6 @@ snapshots:
hookable: 5.5.3
httpxy: 0.1.5
ioredis: 5.4.1
is-primitive: 3.0.1
jiti: 1.21.6
klona: 2.0.6
knitwork: 1.1.0
@ -12342,11 +12341,11 @@ snapshots:
'@nuxt/schema': 3.3.2(magicast@0.3.4)(rollup@4.18.0)
'@nuxt/telemetry': 2.5.4(magicast@0.3.4)(rollup@4.18.0)
'@nuxt/ui-templates': 1.3.4
'@nuxt/vite-builder': 3.3.2(@types/node@18.19.39)(eslint@8.57.0)(magicast@0.3.4)(optionator@0.9.4)(sass@1.77.6)(terser@5.31.1)(typescript@5.5.2)(vue@3.4.30(typescript@5.5.2))
'@nuxt/vite-builder': 3.3.2(@types/node@18.19.39)(eslint@8.57.0)(magicast@0.3.4)(optionator@0.9.4)(sass@1.77.6)(terser@5.31.1)(typescript@5.5.2)(vue@3.4.31(typescript@5.5.2))
'@unhead/ssr': 1.9.14
'@unhead/vue': 1.9.14(vue@3.4.30(typescript@5.5.2))
'@vue/reactivity': 3.4.30
'@vue/shared': 3.4.30
'@unhead/vue': 1.9.14(vue@3.4.31(typescript@5.5.2))
'@vue/reactivity': 3.4.31
'@vue/shared': 3.4.31
chokidar: 3.6.0
cookie-es: 0.5.0
defu: 6.1.4
@ -12376,10 +12375,10 @@ snapshots:
unimport: 3.7.2(rollup@4.18.0)
unplugin: 1.10.1
untyped: 1.4.2
vue: 3.4.30(typescript@5.5.2)
vue: 3.4.31(typescript@5.5.2)
vue-bundle-renderer: 1.0.3
vue-devtools-stub: 0.1.0
vue-router: 4.4.0(vue@3.4.30(typescript@5.5.2))
vue-router: 4.4.0(vue@3.4.31(typescript@5.5.2))
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@ -12423,11 +12422,11 @@ snapshots:
'@nuxt/schema': 3.3.2(magicast@0.3.4)(rollup@3.29.4)
'@nuxt/telemetry': 2.5.4(magicast@0.3.4)(rollup@3.29.4)
'@nuxt/ui-templates': 1.3.4
'@nuxt/vite-builder': 3.3.2(@types/node@18.19.39)(eslint@8.57.0)(magicast@0.3.4)(optionator@0.9.4)(sass@1.77.6)(terser@5.31.1)(typescript@5.5.2)(vue@3.4.30(typescript@5.5.2))
'@nuxt/vite-builder': 3.3.2(@types/node@18.19.39)(eslint@8.57.0)(magicast@0.3.4)(optionator@0.9.4)(sass@1.77.6)(terser@5.31.1)(typescript@5.5.2)(vue@3.4.31(typescript@5.5.2))
'@unhead/ssr': 1.9.14
'@unhead/vue': 1.9.14(vue@3.4.30(typescript@5.5.2))
'@vue/reactivity': 3.4.30
'@vue/shared': 3.4.30
'@unhead/vue': 1.9.14(vue@3.4.31(typescript@5.5.2))
'@vue/reactivity': 3.4.31
'@vue/shared': 3.4.31
chokidar: 3.6.0
cookie-es: 0.5.0
defu: 6.1.4
@ -12457,10 +12456,10 @@ snapshots:
unimport: 3.7.2(rollup@3.29.4)
unplugin: 1.10.1
untyped: 1.4.2
vue: 3.4.30(typescript@5.5.2)
vue: 3.4.31(typescript@5.5.2)
vue-bundle-renderer: 1.0.3
vue-devtools-stub: 0.1.0
vue-router: 4.4.0(vue@3.4.30(typescript@5.5.2))
vue-router: 4.4.0(vue@3.4.31(typescript@5.5.2))
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
@ -12665,7 +12664,7 @@ snapshots:
path-scurry@1.11.1:
dependencies:
lru-cache: 10.2.2
lru-cache: 10.3.0
minipass: 7.1.2
path-type@4.0.0: {}
@ -13358,9 +13357,9 @@ snapshots:
optionalDependencies:
rollup: 4.18.0
rollup-plugin-vue@6.0.0(@vue/compiler-sfc@3.4.30):
rollup-plugin-vue@6.0.0(@vue/compiler-sfc@3.4.31):
dependencies:
'@vue/compiler-sfc': 3.4.30
'@vue/compiler-sfc': 3.4.31
debug: 4.3.5
hash-sum: 2.0.0
rollup-pluginutils: 2.8.2
@ -14087,7 +14086,7 @@ snapshots:
universalify@2.0.1: {}
unplugin-vue-components@0.27.0(@babel/parser@7.24.7)(@nuxt/kit@3.12.2(magicast@0.3.4)(rollup@4.18.0))(rollup@4.18.0)(vue@3.4.30(typescript@5.5.2)):
unplugin-vue-components@0.27.0(@babel/parser@7.24.7)(@nuxt/kit@3.12.2(magicast@0.3.4)(rollup@4.18.0))(rollup@4.18.0)(vue@3.4.31(typescript@5.5.2)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
@ -14099,7 +14098,7 @@ snapshots:
minimatch: 9.0.5
resolve: 1.22.8
unplugin: 1.10.1
vue: 3.4.30(typescript@5.5.2)
vue: 3.4.31(typescript@5.5.2)
optionalDependencies:
'@babel/parser': 7.24.7
'@nuxt/kit': 3.12.2(magicast@0.3.4)(rollup@4.18.0)
@ -14121,7 +14120,7 @@ snapshots:
destr: 2.0.3
h3: 1.12.0
listhen: 1.7.2
lru-cache: 10.2.2
lru-cache: 10.3.0
mri: 1.2.0
node-fetch-native: 1.6.4
ofetch: 1.3.4
@ -14188,11 +14187,11 @@ snapshots:
validate-npm-package-name@5.0.1: {}
vee-validate@4.13.1(vue@3.4.30(typescript@5.5.2)):
vee-validate@4.13.1(vue@3.4.31(typescript@5.5.2)):
dependencies:
'@vue/devtools-api': 6.6.3
type-fest: 4.20.1
vue: 3.4.30(typescript@5.5.2)
vue: 3.4.31(typescript@5.5.2)
vite-node@0.29.8(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1):
dependencies:
@ -14218,7 +14217,7 @@ snapshots:
debug: 4.3.5
pathe: 1.1.2
picocolors: 1.0.1
vite: 5.3.1(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1)
vite: 5.3.2(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1)
transitivePeerDependencies:
- '@types/node'
- less
@ -14277,7 +14276,7 @@ snapshots:
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7)
'@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.24.7)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.7)
'@vue/compiler-dom': 3.4.30
'@vue/compiler-dom': 3.4.31
kolorist: 1.8.0
magic-string: 0.30.10
transitivePeerDependencies:
@ -14306,7 +14305,7 @@ snapshots:
sass: 1.77.6
terser: 5.31.1
vite@5.3.1(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1):
vite@5.3.2(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1):
dependencies:
esbuild: 0.21.5
postcss: 8.4.38
@ -14317,9 +14316,9 @@ snapshots:
sass: 1.77.6
terser: 5.31.1
vitest-environment-nuxt@1.0.0(@vue/test-utils@2.4.6)(h3@1.12.0)(magicast@0.3.4)(nitropack@2.9.6(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4))(rollup@4.18.0)(vitest@1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue-router@4.4.0(vue@3.4.30(typescript@5.5.2)))(vue@3.4.30(typescript@5.5.2)):
vitest-environment-nuxt@1.0.0(@vue/test-utils@2.4.6)(h3@1.12.0)(magicast@0.3.4)(nitropack@2.9.7(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4))(rollup@4.18.0)(vitest@1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue-router@4.4.0(vue@3.4.31(typescript@5.5.2)))(vue@3.4.31(typescript@5.5.2)):
dependencies:
'@nuxt/test-utils': 3.13.1(@vue/test-utils@2.4.6)(h3@1.12.0)(magicast@0.3.4)(nitropack@2.9.6(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4))(rollup@4.18.0)(vitest@1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue-router@4.4.0(vue@3.4.30(typescript@5.5.2)))(vue@3.4.30(typescript@5.5.2))
'@nuxt/test-utils': 3.13.1(@vue/test-utils@2.4.6)(h3@1.12.0)(magicast@0.3.4)(nitropack@2.9.7(@opentelemetry/api@1.9.0)(encoding@0.1.13)(magicast@0.3.4))(rollup@4.18.0)(vitest@1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1))(vue-router@4.4.0(vue@3.4.31(typescript@5.5.2)))(vue@3.4.31(typescript@5.5.2))
transitivePeerDependencies:
- '@cucumber/cucumber'
- '@jest/globals'
@ -14396,7 +14395,7 @@ snapshots:
strip-literal: 2.1.0
tinybench: 2.8.0
tinypool: 0.8.4
vite: 5.3.1(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1)
vite: 5.3.2(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1)
vite-node: 1.6.0(@types/node@18.19.39)(sass@1.77.6)(terser@5.31.1)
why-is-node-running: 2.2.2
optionalDependencies:
@ -14458,18 +14457,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
vue-router@4.4.0(vue@3.4.30(typescript@5.5.2)):
vue-router@4.4.0(vue@3.4.31(typescript@5.5.2)):
dependencies:
'@vue/devtools-api': 6.6.3
vue: 3.4.30(typescript@5.5.2)
vue: 3.4.31(typescript@5.5.2)
vue@3.4.30(typescript@5.5.2):
vue@3.4.31(typescript@5.5.2):
dependencies:
'@vue/compiler-dom': 3.4.30
'@vue/compiler-sfc': 3.4.30
'@vue/runtime-dom': 3.4.30
'@vue/server-renderer': 3.4.30(vue@3.4.30(typescript@5.5.2))
'@vue/shared': 3.4.30
'@vue/compiler-dom': 3.4.31
'@vue/compiler-sfc': 3.4.31
'@vue/runtime-dom': 3.4.31
'@vue/server-renderer': 3.4.31(vue@3.4.31(typescript@5.5.2))
'@vue/shared': 3.4.31
optionalDependencies:
typescript: 5.5.2