For more information on the communities code of conduct read the guide.
Please fork repository from main
branch and pull request changes back into the main
branch.
This repo is setup with three pnpm workspaces.
The root workspace is setup with the following options via a .nmprc
file.
#include ".npmrc"
The following will install dependencies for all workspaces including the root.
pnpm install
The root workspace is setup to build/pack the actual data-grid-vue
package.
pnpm build
The compiled javascript module and typescript type definitions are built into the dist
folder at the root of the repo.
The vuepress
folder contains the workspace for the source of the documentation site hosted at https://datagridvue.com.
The site is built using Vuepress 2.
pnpm run docs:dev
The ./vuepress/generated
folder contains markdown source that documents the exports of the data-grid-vue
package. These markdown files are automatically generated from TSdoc block comments in the source code using TypeDoc and a custom TypeDoc plugin in ./scripts/typedoc
that parses the comments from .vue
files. The plugin makes a bit of assumptions on where the comments are located and only supports SFCs using the Vue Options API.
The following script will generate the contents of the ./vuepress/generated
folder. This script is also run during the husky pre-commit hook.
pnpm run typedoc
The ./vuepress/dotnet-generated
folder contains markdown source that documents the public interfaces of the DataGridVueDotnet NuGet package. These markdown files are generated in the example api powering server-side examples of data-grid-vue
. XmlDocMarkdown.Core is used to generate markdown from the XML comments in the source. The script located in ./scripts/dotnet-doc-download
downloads the latest markdown from the example-api and places it in the ./vuepress/dotnet-generated
folder.
The following script will generate the contents of the ./vuepress/dotnet-generated
folder. This currently does not run automatically anywhere.
pnpm run dotnet-doc
The dev-app
folder contains the workspace for an app the consumes data-grid-vue
directly from the lib
folder for local development and testing.
pnpm run dev-app:dev
- VS Code
- Extensions
- Node v18.*
- pnpm v8.*
- NPM dependencies
- Vue v3.3.8+
- Vite v5.*
- Typescript v5.*
- Husky
- Prettier
- Formats and spell checks in husky pre-commit hook
- Vuepress 2
- TypeDoc
- CSS
Installs all dependencies via pnpm i
and then runs the build
script for each workspace including the root workspace.
Runs the dev
script in both the vuepress
and dev-app
workspace. The development app will bind to https://localhost:5173
and the vuepress site will bind to https://localhost:8080
.
Generates the contents of the ./vuepress/generated
folder.
Spellchecks the entire repo minus a few excluded files and folders configured in cspell.json
.
Runs prettier formatter against the entire repo using the configuration in .prettierrc
.
Updates README.md
from readme-src.md
and implements the #include
tags to pull from markdown files shared with vuepress site in ./vuepress/shared
. A few regular expression replacements are always performed to change to GitHub's flavor of expanded markdown features.
Downloads and updates the contents of the ./vuepress/dotnet-generated
folder.