Run ai ready command (vibe-kanban 28861884)

This commit is contained in:
Sangrak Choi 2026-01-11 14:55:19 -08:00
parent 9a538e3b99
commit c29b85c3ec
9 changed files with 677 additions and 178 deletions

43
.github/workflows/build.yml vendored Normal file
View file

@ -0,0 +1,43 @@
name: Build and Release
on:
push:
tags:
- 'v*.*.*'
workflow_dispatch:
inputs:
version:
description: 'Version (e.g., v0.2.6)'
required: true
default: 'v0.2.6'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build project
run: npm run build
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
main.js
manifest.json
styles.css
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

28
.github/workflows/lint.yml vendored Normal file
View file

@ -0,0 +1,28 @@
name: Lint
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npx eslint main.ts

31
.github/workflows/test.yml vendored Normal file
View file

@ -0,0 +1,31 @@
name: Test
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build project
run: npm run build
- name: Run TypeScript type check
run: npx tsc -noEmit -skipLibCheck

181
AGENTS.md Normal file
View file

@ -0,0 +1,181 @@
# Environment
You are an AI coding agent helping with Obsidian plugin development. You have access to specialized tools for file operations, code analysis, and project management.
# Language
- Default conversation language: Korean
# Rules
## Policy
- NEVER say "I found the problem!" unless the problem is 99% solved
- NEVER use sequential thinking MCP in the Plan mode
- NEVER `git checkout` without the user's confirmation. Ask to the user before do that
## Code Quality
### Before Committing
- Before you commit to the git, or after you finish a task, you must follow the guidelines below:
- You need to watch the `git status`, and make sure if there is no more unnecessary code, and see if strictly followed my prompts. Change your persona as critical code-reviewer, and blame code if there is some code that doesn't need. Then tell to the user which code is unnecessary and removable at the summary.
- ALWAYS write human-readable code which is easy to understand and maintain even after a year when you look back. You can use any method to achieve this, such as using descriptive variable names, commenting your code, and writing modular code.
- You can easily delete code, functions or files if you are sure that it is not needed anymore. We have git, so you never need to worry about losing code.
### Build Verification
- Make sure run and build success
- For JavaScript/TypeScript edits, you must ALWAYS run `npm run build` to make sure there is no error when build. If you find an error, you must fix it and run build again.
### Linting
- Run ESLint before committing: `npx eslint main.ts` (or relevant source files)
- Fix all linting errors before committing
- Follow the project's ESLint configuration in `.eslintrc`
### Testing
- This project does not have automated tests yet. If you add tests, you must run them and make sure they pass.
## Concise
- Keep your response detailed, including your intention, purpose and goals after coding done. I need to understand your private thoughts too.
- Use emoji and Markdown to make more readable. Only for readability since you can't draw image in the chat.
## UI Writing Style
- UI messages should be in Korean
- Follow the existing i18n structure in `i18n/` directory
- All user-facing strings should be in the JSON files under `i18n/{lang}/`
## Coding Standards
### Localization
- Use sentence case for command names (e.g., `Create new note (Today's date)`) instead of Title Case
- All UI strings must be defined in i18n JSON files
### Naming Conventions
- Use kebab-case for file names (e.g., `my-component.ts`)
- Use camelCase for variables and function names (e.g., `myVariable`, `myFunction()`)
- Use UpperCamelCase (PascalCase) for classes, types, and interfaces (e.g., `MyClass`, `MyInterface`)
- Use ALL_CAPS for constants and enum values (e.g., `MAX_COUNT`, `Color.RED`)
### File Organization
- Group related functionality into modules
- Use index files to simplify imports
- Keep main plugin logic in `main.ts`
- Store translations in `i18n/{lang}/` directory with JSON files
### Code Style
- Prefer `const` over `let` when variables won't be reassigned
- Use arrow functions for better lexical scoping and concise syntax
- Utilize TypeScript's type system fully: use types over interfaces, and use generics where appropriate
- Implement error handling with proper error types
- Write pure functions where possible to improve testability and reduce side effects
- Avoid using `any` type - use `unknown` or specific types instead
### Best Practices
- Follow the Single Responsibility Principle
- Use dependency injection to improve testability and flexibility
- Implement proper error handling and logging
- Use async/await for asynchronous operations instead of callbacks or raw promises
- Leverage TypeScript's strict mode for enhanced type checking
### Documentation
- Use JSDoc comments for functions, classes, and complex types
- Include examples in documentation where appropriate
- Keep README files up-to-date with setup instructions, usage examples, and contribution guidelines
## Project Specifics
### Obsidian Plugin Development
- This is an Obsidian plugin that creates a new note with today's date
- Plugin extends the base `Plugin` class from `obsidian` package
- Use the Obsidian API for file operations, workspace management, and UI interactions
- Plugin commands are registered in the `onload()` method
- Plugin cleanup should be done in the `onunload()` method
### i18n System
- Translations are stored in `i18n/{lang}/` directory
- Each language has `command.json` for UI commands and `notice.json` for user notifications
- Language detection uses `window.localStorage.getItem('language')`
- Fallback to English if translation is not available
- Use `getText(key: string, vars: Record<string, string> = {})` method to retrieve translated strings
- Supported languages: Arabic (ar), English (en), Spanish (es-ES), Japanese (ja), Korean (ko), Chinese Simplified (zh-CN), Chinese Traditional (zh-TW)
### Build System
- Use `npm run dev` for development mode with watch
- Use `npm run build` for production build
- Build process: TypeScript compilation with `tsc` + esbuild bundling
- Configuration files: `tsconfig.json`, `esbuild.config.mjs`
### Release Process
- Automated release script: `npm run release` (patch), `npm run release:minor`, `npm run release:major`
- Release script updates: package.json, manifest.json, versions.json
- Creates git commit and tags version
- Pushes compiled files (main.js, manifest.json, styles.css) to GitHub
- Version bump script: `version-bump.mjs`
### Tech Stack
- **Runtime**: Node.js
- **Language**: TypeScript 4.7.4
- **Package Manager**: npm
- **Build Tool**: esbuild 0.17.3
- **Linter**: ESLint with TypeScript support
- **Dependencies**: moment (for date handling, currently unused)
### Directory Structure
```
.
├── i18n/ # Internationalization files
│ ├── ar/ # Arabic
│ ├── en/ # English
│ ├── es-ES/ # Spanish
│ ├── ja/ # Japanese
│ ├── ko/ # Korean
│ ├── zh-CN/ # Chinese Simplified
│ └── zh-TW/ # Chinese Traditional
├── main.ts # Main plugin file
├── manifest.json # Obsidian plugin manifest
├── package.json # Project dependencies and scripts
├── esbuild.config.mjs # Build configuration
├── tsconfig.json # TypeScript configuration
└── styles.css # Plugin styles
```
### Git Workflow
- Main branch is the production branch
- Create feature branches from main for new features
- Use conventional commit messages
- PRs are preferred over direct commits to main
- Recent history shows automated releases with version tags
### Restrictions & Avoid
- DO NOT use `any` type - use `unknown` or specific types
- DO NOT use `moment` library - use native Date API (moment is deprecated and unused)
- DO NOT ignore ESLint errors
- DO NOT commit code without running `npm run build` first
- DO NOT add external dependencies without necessity
- DO NOT modify manifest.json manually - use the release script
- DO NOT hardcode strings - use the i18n system
### Mandatory Actions
- ALWAYS run `npm run build` after any TypeScript changes
- ALWAYS run `npx eslint main.ts` before committing
- ALWAYS update i18n files when adding new user-facing strings
- ALWAYS test in Obsidian before releasing
- ALWAYS use the automated release script for version updates
- MUST update existing AGENTS.md when you have done every task
### Development Environment Setup
1. Clone the repository
2. Run `npm install` to install dependencies
3. Run `npm run dev` to start development mode with watch
4. Build for production: `npm run build`
5. For linting: `npx eslint main.ts`
6. Load plugin in Obsidian: Copy built files to `.obsidian/plugins/obsidian-create-note-with-date/`
### Codebase Understanding
Run `tree` command to explore the full directory structure and understand file organization better.
## Git Commit Rules
- Use conventional commit format: `type: description`
- Types: `feat`, `fix`, `chore`, `docs`, `style`, `refactor`, `test`, `perf`
- Recent examples:
- `chore: release 0.2.5`
- `Remove 'v' prefix from version strings in release script`
- `Add automated release script and documentation for version management`
- Attach credit to commits:
- `> Co-authored-by: opencode (oMo, vibe-kanban) <no-reply@opencode.ai>`

188
README.ai-ready.md Normal file
View file

@ -0,0 +1,188 @@
# AI Agent Development Setup Guide
> 📖 **Purpose**: This guide helps you (human coders) set up the development environment quickly for working with AI agents. It's designed to be straightforward, even if you're new to AI-assisted development.
---
## 🚀 Quick Setup (5 minutes)
```bash
# 1. Install dependencies
npm install
# 2. Start development
npm run dev
```
---
## 📋 Prerequisites
- **Node.js**: Version 16.x or higher
- **npm**: Comes with Node.js
- **Obsidian**: For testing the plugin
---
## 🏗️ Project Structure
```
obsidian-create-note-with-date/
├── main.ts # Main plugin file (core logic)
├── i18n/ # Translations for 7 languages
│ ├── en/ # English
│ ├── ko/ # Korean
│ └── ... # Other languages
├── manifest.json # Obsidian plugin manifest (auto-generated)
├── package.json # Dependencies and scripts
├── AGENTS.md # AI agent instructions
└── README.ai-ready.md # This file
```
---
## 🔧 Development Commands
| Command | Purpose |
|---------|---------|
| `npm install` | Install dependencies |
| `npm run dev` | Start development mode with watch |
| `npm run build` | Build for production |
| `npx eslint main.ts` | Lint code |
| `npm run release` | Patch version release |
---
## 🧪 Testing the Plugin
Since there's no automated test suite yet:
1. **Build the plugin**: `npm run build`
2. **Load in Obsidian**:
```
cp main.js manifest.json styles.css ~/.obsidian/plugins/obsidian-create-note-with-date/
```
3. **Enable plugin** in Obsidian Settings → Community Plugins
---
## 🤖 Working with AI Agents
### When an AI Agent Makes Changes
1. **Review the changes**: Check `git diff` to see what was modified
2. **Run build**: `npm run build` (mandatory)
3. **Lint check**: `npx eslint main.ts` (mandatory)
4. **Test manually**: Try the plugin in Obsidian
### Common AI Agent Workflows
| Task | AI Agent Action | Your Action |
|------|-----------------|-------------|
| Fix bug | Modifies `main.ts` | Run `npm run build`, test in Obsidian |
| Add feature | Adds code + i18n strings | Review, build, test |
| Refactor | Restructures code | Review thoroughly, build, test |
---
## 📝 Code Quality Standards
- **TypeScript**: Strict mode enabled
- **Linting**: ESLint with TypeScript support
- **Build**: Must pass `npm run build` before commit
- **Comments**: Use descriptive variable names instead of excessive comments
---
## 🌍 Adding New Translations
To add a new language:
1. Create directory: `i18n/{lang}/`
2. Add `command.json` and `notice.json`
3. Import in `main.ts`
4. Add to `translations` map and `LANG_CODE_MAP`
Example structure:
```json
// i18n/fr/command.json
{
"CREATE_TODAY_NOTE": "Create note with today's date"
}
// i18n/fr/notice.json
{
"FILE_CREATED": "File {filename} created"
}
```
---
## 🐛 Debugging
### Common Issues
| Issue | Solution |
|-------|----------|
| Build fails | Check TypeScript errors, fix imports |
| Plugin not loading | Check manifest.json matches package.json version |
| Translation missing | Check `i18n/{lang}/` files exist and are imported |
### Debug Mode
Open Obsidian Developer Console (Ctrl+Shift+I / Cmd+Option+I) to see:
- Plugin load errors
- Runtime errors
- Console logs (if any)
---
## 📚 Useful Resources
- [Obsidian Plugin API](https://docs.obsidian.md/Plugins/Getting+started/Build+a+plugin)
- [TypeScript Documentation](https://www.typescriptlang.org/docs/)
- [esbuild Documentation](https://esbuild.github.io/)
---
## 🤝 Contributing
1. Create feature branch from `main`
2. Make changes
3. Run `npm run build` and `npx eslint main.ts`
4. Test in Obsidian
5. Commit with conventional format: `feat: description`
6. Create PR (preferred) or commit directly to main
---
## ⚙️ Environment Variables
**None required** - This is a client-side Obsidian plugin with:
- ✅ No database connections
- ✅ No external API calls
- ✅ No authentication needed
- ✅ No sensitive data handling
---
## 📄 License
MIT License - See LICENSE.md for details.
---
## ❓ Quick FAQ
**Q: Do I need to install anything else?**
A: No, just Node.js and npm. Obsidian is needed only for testing.
**Q: Can I use this with Codex Cloud?**
A: Yes! This plugin is perfect for AI agent workflows - no external dependencies.
**Q: How do I release a new version?**
A: Run `npm run release` for patch, `npm run release:minor` for minor update.
---
**Need help?** Check AGENTS.md for AI agent-specific instructions.

205
README.md
View file

@ -1,76 +1,191 @@
# Create Note with Date
This Obsidian plugin allows you to create a new note with today's date in the current directory. It's perfect for daily notes, journals, or any situation where you need to create date-based notes quickly.
An Obsidian plugin that helps you quickly create daily notes with today's date. Perfect for daily journals, meeting notes, or any date-based note-taking workflow.
## Features
## Features
- Create a new note with today's date (YYYY-MM-DD format) in the current directory
- Automatically opens the newly created note
- Supports both English and Korean languages
- Language automatically detected from your system settings
- **One-click note creation**: Create a new note with today's date (YYYY-MM-DD format) in the current directory
- **Automatic opening**: Newly created notes open automatically for immediate editing
- **Multi-language support**: Available in 7 languages (English, Korean, Japanese, Spanish, Arabic, Chinese Simplified/Traditional)
- **Smart language detection**: Automatically detects your system language
- **Lightweight**: No external dependencies or database required
## Usage
## 🚀 Installation
1. Open any note in the directory where you want to create a new dated note
2. Use the command palette (Cmd/Ctrl + P) and search for "Create Note with Date in This Directory"
3. A new note will be created with today's date as the filename (e.g., `2025-04-15.md`)
### From Obsidian Community Plugins (Recommended)
## Installation
### From Obsidian
1. Open Settings in Obsidian
2. Go to Community Plugins and disable Safe Mode
3. Click Browse and search for "Create Note with Date"
4. Install the plugin and enable it
1. Open **Settings** → **Community Plugins**
2. Disable **Safe Mode**
3. Click **Browse** and search for "Create Note with Date"
4. Click **Install**
5. Enable the plugin
### Manual Installation
1. Download the latest release from the releases page
2. Extract the files to your vault's `.obsidian/plugins/create-note-with-date/` directory
3. Reload Obsidian
4. Enable the plugin in Settings -> Community Plugins
1. Download the latest [release](../../releases)
2. Extract files to your vault's `.obsidian/plugins/obsidian-create-note-with-date/` directory
3. Reload Obsidian (Ctrl+R / Cmd+R)
4. Enable the plugin in **Settings** → **Community Plugins**
## Language Support
## 📖 Usage
The plugin automatically detects your system language and displays messages in either:
1. Open any note in the directory where you want to create a dated note
2. Press `Cmd/Ctrl + P` to open the **Command Palette**
3. Search for "Create note with today's date in this directory"
4. Press Enter
- English (default)
- Korean (한국어)
- Japanese (日本語)
- Spanish (Español)
- Arabic (العربية)
- Chinese (简体中文)
- Chinese (繁體中文)
A new note named `YYYY-MM-DD.md` will be created in the same directory.
## Development
## 🌍 Supported Languages
1. Clone this repository
2. Run `npm install`
3. Run `npm run dev` to start compilation in watch mode
- 🇺🇸 **English** (default)
- 🇰🇷 **Korean** (한국어)
- 🇯🇵 **Japanese** (日本語)
- 🇪🇸 **Spanish** (Español)
- 🇸🇦 **Arabic** (العربية)
- 🇨🇳 **Chinese Simplified** (简体中文)
- 🇹🇼 **Chinese Traditional** (繁體中文)
## Release Process
The plugin automatically detects your system's language preference from Obsidian settings.
This project includes an automated release script that makes it easy to version and publish updates:
## 🛠️ Development
### Prerequisites
- Node.js 16.x or higher
- npm (comes with Node.js)
### Setup
```bash
# Update patch version (e.g., 0.2.2 → 0.2.3)
# Clone the repository
git clone <repository-url>
cd obsidian-create-note-with-date
# Install dependencies
npm install
# Start development mode with watch
npm run dev
```
### Build & Test
```bash
# Build for production
npm run build
# Lint code
npx eslint main.ts
# Load plugin in Obsidian for testing
# Copy built files to your vault's plugin directory
cp main.js manifest.json styles.css ~/.obsidian/plugins/obsidian-create-note-with-date/
```
### Project Structure
```
obsidian-create-note-with-date/
├── i18n/ # Internationalization files
│ ├── en/ # English translations
│ ├── ko/ # Korean translations
│ └── ... # Other languages
├── main.ts # Main plugin logic
├── manifest.json # Obsidian plugin manifest (auto-generated)
├── package.json # Dependencies and scripts
├── esbuild.config.mjs # Build configuration
└── tsconfig.json # TypeScript configuration
```
The plugin follows standard Obsidian plugin conventions with no complex custom architecture.
## 📦 Release Process
Automated version management scripts are included:
```bash
# Patch version (e.g., 0.2.2 → 0.2.3)
npm run release
# Update minor version (e.g., 0.2.2 → 0.3.0)
# Minor version (e.g., 0.2.2 → 0.3.0)
npm run release:minor
# Update major version (e.g., 0.2.2 → 1.0.0)
# Major version (e.g., 0.2.2 → 1.0.0)
npm run release:major
```
The release script automatically:
- Updates version numbers in package.json and manifest.json
- Updates version numbers in `package.json` and `manifest.json`
- Builds the project
- Creates a Git commit with the version change
- Creates a Git commit with version change
- Adds a version tag
- Pushes the compiled files (main.js, manifest.json, styles.css) to GitHub
- Pushes compiled files to GitHub releases
## License
## 🤝 Contributing
MIT
Contributions are welcome! Here's how to contribute:
1. **Fork** the repository (optional, you can also create a branch directly)
2. **Create a new branch**: `git checkout -b feature/my-feature`
3. **Make your changes**
4. **Test thoroughly**:
- Run `npm run build` to ensure no build errors
- Run `npx eslint main.ts` to check code quality
- Test in Obsidian with actual usage
5. **Commit** with conventional format: `feat: add new feature` or `fix: resolve bug`
6. **Create a Pull Request** (preferred) or commit directly to main
### Commit Message Format
Follow conventional commits:
- `feat:` - New feature
- `fix:` - Bug fix
- `chore:` - Maintenance tasks
- `docs:` - Documentation updates
- `refactor:` - Code refactoring
- `style:` - Code style changes (formatting, etc.)
- `test:` - Adding or updating tests
- `perf:` - Performance improvements
Example:
```
feat: add support for custom date format
> Co-authored-by: opencode (oMo, vibe-kanban) <no-reply@opencode.ai>
```
## 📚 Documentation
- **[AGENTS.md](AGENTS.md)** - AI agent coding instructions and project guidelines
- **[README.ai-ready.md](README.ai-ready.md)** - Quick setup guide for AI agent development
- **[Obsidian Plugin API](https://docs.obsidian.md/Plugins/Getting+started/Build+a+plugin)** - Official Obsidian documentation
## 📄 License
MIT License - See [LICENSE.md](LICENSE.md) for details.
## ⚠️ Note
This is an OP.GG internal project. If you leave OP.GG, please delete this repository from your computer.
## 🐛 Troubleshooting
**Plugin not appearing after installation?**
- Make sure **Safe Mode** is disabled
- Try reloading Obsidian (Ctrl+R / Cmd+R)
- Check the Developer Console (Ctrl+Shift+I / Cmd+Option+I) for errors
**Date format is wrong?**
- The plugin uses your system's date format settings
- Ensure your system language is set correctly
**Want to add a new language?**
- Create a new directory in `i18n/` with language code
- Add `command.json` and `notice.json` files
- Import and register in `main.ts`
- Submit a PR with your translation!
---
**Made with ❤️ by OP.GG**

23
main.ts
View file

@ -1,5 +1,4 @@
import { App, Editor, MarkdownView, Modal, Notice, Plugin, TFile, TAbstractFile } from 'obsidian';
import * as moment from 'moment';
import { Notice, Plugin, TFile } from 'obsidian';
// Import JSON files directly
// Import translations
import arCommand from './i18n/ar/command.json';
@ -68,17 +67,7 @@ const translations: TranslationsMap = {
}
};
interface Translations {
COMMANDS: {
CREATE_TODAY_NOTE: string;
};
NOTICES: {
FILE_EXISTS: string;
FILE_CREATED: string;
FOLDER_NOT_FOUND: string;
ERROR_CREATING_FILE: string;
};
}
export default class KarsPlugin extends Plugin {
getText(key: string, vars: Record<string, string> = {}): string {
@ -86,12 +75,12 @@ export default class KarsPlugin extends Plugin {
const rawLanguage = window.localStorage.getItem('language') || 'en';
const language = LANG_CODE_MAP[rawLanguage] || rawLanguage;
const currentTranslations = translations[language] || translations.en;
const keys = key.split('.');
let value: any = currentTranslations;
let value: unknown = currentTranslations;
for (const k of keys) {
if (!value || !value[k]) return key;
value = value[k];
if (!value || typeof value !== 'object' || !(k in value)) return key;
value = (value as Record<string, unknown>)[k];
}
if (typeof value !== 'string') return key;

155
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "obsidian-sample-plugin",
"version": "1.0.0",
"name": "obsidian-create-note-with-date",
"version": "0.2.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "obsidian-sample-plugin",
"version": "1.0.0",
"name": "obsidian-create-note-with-date",
"version": "0.2.5",
"license": "MIT",
"dependencies": {
"moment": "^2.30.1"
@ -15,6 +15,7 @@
"@types/node": "^16.11.6",
"@typescript-eslint/eslint-plugin": "5.29.0",
"@typescript-eslint/parser": "5.29.0",
"actionlint": "^2.0.6",
"builtin-modules": "3.3.0",
"esbuild": "^0.17.3",
"obsidian": "latest",
@ -426,7 +427,6 @@
"integrity": "sha512-WhCn7Z7TauhBtmzhvKpoQs0Wwb/kBcy4CwpuI0/eEIr2Lx2auxmulAzLr91wVZJaz47iUZdkXOK7WlAfxGKCnA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"eslint-visitor-keys": "^3.4.3"
},
@ -446,7 +446,6 @@
"integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
@ -457,7 +456,6 @@
"integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
@ -482,7 +480,6 @@
"integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
@ -494,7 +491,6 @@
"deprecated": "Use @eslint/config-array instead",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"dependencies": {
"@humanwhocodes/object-schema": "^2.0.3",
"debug": "^4.3.1",
@ -510,7 +506,6 @@
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"engines": {
"node": ">=12.22"
},
@ -525,16 +520,14 @@
"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
"deprecated": "Use @eslint/object-schema instead",
"dev": true,
"license": "BSD-3-Clause",
"peer": true
"license": "BSD-3-Clause"
},
"node_modules/@marijn/find-cluster-break": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz",
"integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
@ -655,6 +648,7 @@
"integrity": "sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==",
"dev": true,
"license": "BSD-2-Clause",
"peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "5.29.0",
"@typescript-eslint/types": "5.29.0",
@ -812,8 +806,7 @@
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
"integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
"dev": true,
"license": "ISC",
"peer": true
"license": "ISC"
},
"node_modules/acorn": {
"version": "8.14.1",
@ -835,18 +828,23 @@
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
"license": "MIT",
"peer": true,
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/actionlint": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/actionlint/-/actionlint-2.0.6.tgz",
"integrity": "sha512-tNx8f48yJNSLXTIygGntu5dSZlIZblDt8sR7pIs7EEmmb2PkEF87d+3UKZV2GUgCuN9Awj7k4ZPrwdAxFWEqgw==",
"dev": true,
"license": "MIT"
},
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@ -864,7 +862,6 @@
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
}
@ -875,7 +872,6 @@
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"color-convert": "^2.0.1"
},
@ -891,8 +887,7 @@
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true,
"license": "Python-2.0",
"peer": true
"license": "Python-2.0"
},
"node_modules/array-union": {
"version": "2.1.0",
@ -909,8 +904,7 @@
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/brace-expansion": {
"version": "1.1.11",
@ -918,7 +912,6 @@
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@ -956,7 +949,6 @@
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=6"
}
@ -967,7 +959,6 @@
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@ -985,7 +976,6 @@
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"color-name": "~1.1.4"
},
@ -998,16 +988,14 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/cross-spawn": {
"version": "7.0.6",
@ -1015,7 +1003,6 @@
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@ -1048,8 +1035,7 @@
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/dir-glob": {
"version": "3.0.1",
@ -1070,7 +1056,6 @@
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"dependencies": {
"esutils": "^2.0.2"
},
@ -1122,7 +1107,6 @@
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=10"
},
@ -1250,7 +1234,6 @@
"integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
"dev": true,
"license": "BSD-2-Clause",
"peer": true,
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
@ -1268,7 +1251,6 @@
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
"license": "BSD-2-Clause",
"peer": true,
"engines": {
"node": ">=4.0"
}
@ -1279,7 +1261,6 @@
"integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
"license": "BSD-2-Clause",
"peer": true,
"dependencies": {
"acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
@ -1298,7 +1279,6 @@
"integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
"dev": true,
"license": "BSD-3-Clause",
"peer": true,
"dependencies": {
"estraverse": "^5.1.0"
},
@ -1312,7 +1292,6 @@
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
"license": "BSD-2-Clause",
"peer": true,
"engines": {
"node": ">=4.0"
}
@ -1356,7 +1335,6 @@
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true,
"license": "BSD-2-Clause",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@ -1366,8 +1344,7 @@
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/fast-glob": {
"version": "3.3.3",
@ -1404,16 +1381,14 @@
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/fastq": {
"version": "1.19.1",
@ -1431,7 +1406,6 @@
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"flat-cache": "^3.0.4"
},
@ -1458,7 +1432,6 @@
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@ -1476,7 +1449,6 @@
"integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"flatted": "^3.2.9",
"keyv": "^4.5.3",
@ -1491,16 +1463,14 @@
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
"integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
"dev": true,
"license": "ISC",
"peer": true
"license": "ISC"
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true,
"license": "ISC",
"peer": true
"license": "ISC"
},
"node_modules/functional-red-black-tree": {
"version": "1.0.1",
@ -1516,7 +1486,6 @@
"deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
"license": "ISC",
"peer": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@ -1538,7 +1507,6 @@
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
"license": "ISC",
"peer": true,
"dependencies": {
"is-glob": "^4.0.3"
},
@ -1552,7 +1520,6 @@
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"type-fest": "^0.20.2"
},
@ -1589,8 +1556,7 @@
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/has-flag": {
"version": "4.0.0",
@ -1598,7 +1564,6 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
}
@ -1619,7 +1584,6 @@
"integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@ -1637,7 +1601,6 @@
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.8.19"
}
@ -1649,7 +1612,6 @@
"deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
"dev": true,
"license": "ISC",
"peer": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@ -1660,8 +1622,7 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true,
"license": "ISC",
"peer": true
"license": "ISC"
},
"node_modules/is-extglob": {
"version": "2.1.1",
@ -1702,7 +1663,6 @@
"integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
}
@ -1712,8 +1672,7 @@
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"dev": true,
"license": "ISC",
"peer": true
"license": "ISC"
},
"node_modules/js-yaml": {
"version": "4.1.0",
@ -1721,7 +1680,6 @@
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"argparse": "^2.0.1"
},
@ -1734,24 +1692,21 @@
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/keyv": {
"version": "4.5.4",
@ -1759,7 +1714,6 @@
"integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"json-buffer": "3.0.1"
}
@ -1770,7 +1724,6 @@
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@ -1785,7 +1738,6 @@
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"p-locate": "^5.0.0"
},
@ -1801,8 +1753,7 @@
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/merge2": {
"version": "1.4.1",
@ -1834,7 +1785,6 @@
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"license": "ISC",
"peer": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@ -1863,8 +1813,7 @@
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/obsidian": {
"version": "1.8.7",
@ -1897,7 +1846,6 @@
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
"license": "ISC",
"peer": true,
"dependencies": {
"wrappy": "1"
}
@ -1908,7 +1856,6 @@
"integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
@ -1927,7 +1874,6 @@
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"yocto-queue": "^0.1.0"
},
@ -1944,7 +1890,6 @@
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"p-limit": "^3.0.2"
},
@ -1961,7 +1906,6 @@
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"callsites": "^3.0.0"
},
@ -1975,7 +1919,6 @@
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
}
@ -1986,7 +1929,6 @@
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@ -1997,7 +1939,6 @@
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
}
@ -2031,7 +1972,6 @@
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">= 0.8.0"
}
@ -2042,7 +1982,6 @@
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=6"
}
@ -2087,7 +2026,6 @@
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=4"
}
@ -2110,7 +2048,6 @@
"deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
"license": "ISC",
"peer": true,
"dependencies": {
"glob": "^7.1.3"
},
@ -2164,7 +2101,6 @@
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"shebang-regex": "^3.0.0"
},
@ -2178,7 +2114,6 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
}
@ -2199,7 +2134,6 @@
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@ -2213,7 +2147,6 @@
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=8"
},
@ -2226,8 +2159,7 @@
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz",
"integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/supports-color": {
"version": "7.2.0",
@ -2235,7 +2167,6 @@
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"has-flag": "^4.0.0"
},
@ -2248,8 +2179,7 @@
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/to-regex-range": {
"version": "5.0.1",
@ -2300,7 +2230,6 @@
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"prelude-ls": "^1.2.1"
},
@ -2314,7 +2243,6 @@
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true,
"license": "(MIT OR CC0-1.0)",
"peer": true,
"engines": {
"node": ">=10"
},
@ -2328,6 +2256,7 @@
"integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@ -2342,7 +2271,6 @@
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
"license": "BSD-2-Clause",
"peer": true,
"dependencies": {
"punycode": "^2.1.0"
}
@ -2352,8 +2280,7 @@
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
"integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
"dev": true,
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/which": {
"version": "2.0.2",
@ -2361,7 +2288,6 @@
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"license": "ISC",
"peer": true,
"dependencies": {
"isexe": "^2.0.0"
},
@ -2378,7 +2304,6 @@
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
@ -2388,8 +2313,7 @@
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true,
"license": "ISC",
"peer": true
"license": "ISC"
},
"node_modules/yocto-queue": {
"version": "0.1.0",
@ -2397,7 +2321,6 @@
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=10"
},

View file

@ -18,6 +18,7 @@
"@types/node": "^16.11.6",
"@typescript-eslint/eslint-plugin": "5.29.0",
"@typescript-eslint/parser": "5.29.0",
"actionlint": "^2.0.6",
"builtin-modules": "3.3.0",
"esbuild": "^0.17.3",
"obsidian": "latest",