diff --git a/.github/workflows/generate_api_doc.yml b/.github/workflows/generate_api_doc.yml
index aeeade87b..de88b108b 100644
--- a/.github/workflows/generate_api_doc.yml
+++ b/.github/workflows/generate_api_doc.yml
@@ -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
diff --git a/apps/showcase/package.json b/apps/showcase/package.json
index 17aaf908a..00bad2791 100644
--- a/apps/showcase/package.json
+++ b/apps/showcase/package.json
@@ -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"
diff --git a/apps/showcase/scripts/build-apidoc.js b/apps/showcase/scripts/build-apidoc.js
new file mode 100644
index 000000000..85e8d50e2
--- /dev/null
+++ b/apps/showcase/scripts/build-apidoc.js
@@ -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]'))} here ${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 ${childSinature.name}(${parameters}): ${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 += `${param.name}: ${param.type?.name}`;
+ });
+
+ if (child.type?.declaration?.signatures[0]?.comment?.getTag('@deprecated')?.content[0]?.text) {
+ type += `\t ${child.name}: (${functionParameters}) ⇒ ${child.type?.declaration?.signatures[0]?.type?.name}, // ${child.type?.declaration?.signatures[0]?.comment.summary[0]?.text}\n`;
+ } else {
+ type += `\t ${child.name}: (${functionParameters}) ⇒ ${child.type?.declaration?.signatures[0]?.type?.name}, // ${child.type?.declaration?.signatures[0]?.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
+ });
+ });
+ }
+
+ 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]'))} here ${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]'))} here ${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]'))} here ${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]'))} here ${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`);
+}
diff --git a/apps/showcase/tsconfig.json b/apps/showcase/tsconfig.json
new file mode 100644
index 000000000..e916b8667
--- /dev/null
+++ b/apps/showcase/tsconfig.json
@@ -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"]
+}
diff --git a/apps/showcase/typedoc.json b/apps/showcase/typedoc.json
new file mode 100644
index 000000000..032d511bd
--- /dev/null
+++ b/apps/showcase/typedoc.json
@@ -0,0 +1,5 @@
+{
+ "$schema": "https://typedoc.org/schema.json",
+ "entryPoints": ["../../packages/primevue", "../../packages/themes"],
+ "sort": ["source-order"]
+}
diff --git a/package.json b/package.json
index b17c89833..87b7cc5d9 100644
--- a/package.json
+++ b/package.json
@@ -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 ."
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6897cf496..32ef523b7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -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