diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2f92c77..b620b25 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,3 @@ -# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - name: Node.js CI on: diff --git a/.linkinator.config.json b/.linkinator.config.json deleted file mode 100644 index 9e9aa3f..0000000 --- a/.linkinator.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "recurse": true, - "skip": "^(https://.*linkedin.com),^(https://.*youtube.com),^(https://.*twitter.com)", - "verbosity": "error", - "timeout": 0, - "markdown": true, - "directoryListing": true, - "retry": true, - "retryErrors": true, - "retryErrorsCount": 3 -} diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..2e03d40 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,19 @@ +public/ +node_modules/ +.cache +.history +dist +coverage +docs/app +__mocks__ +userguide/ +.release-please-manifest.json +CHANGELOG.md +.vscode/ +assets/js/drawio.js +assets/js/markmap.js +assets/js/mermaid.js +assets/js/plantuml.js +assets/js/base.js +static/js/deflate.js +static/js/swagger*.js diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..4ec6626 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,22 @@ +{ + "plugins": [ + "prettier-plugin-go-template" + ], + "trailingComma": "es5", + "tabWidth": 2, + "semi": false, + "singleQuote": true, + "bracketSpacing": true, + "editorconfig": true, + "htmlWhitespaceSensitivity": "ignore", + "overrides": [ + { + "files": [ + "*.html" + ], + "options": { + "parser": "go-template" + } + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..4dd3d89 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "cSpell.words": [ + "isset", + "pygments" + ] +} diff --git a/archetypes/default.md b/archetypes/default.md index 00e77bd..c6f3fce 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -1,6 +1,5 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -date: {{ .Date }} -draft: true ---- - ++++ +title = '{{ replace .File.ContentBaseName "-" " " | title }}' +date = {{ .Date }} +draft = true ++++ diff --git a/assets/icons/logo.svg b/assets/icons/logo.svg new file mode 100644 index 0000000..2f2adca --- /dev/null +++ b/assets/icons/logo.svg @@ -0,0 +1,4 @@ + + + diff --git a/content/Change Log/_index.md b/content/Change Log/_index.md deleted file mode 100644 index 680d711..0000000 --- a/content/Change Log/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Change Log -description: "" -weight: 100 ---- - -## Changes to the core practices - -| Date | Change | Description | -|------------|----------------------------------------------------------------------------------------------------|-----------------------| -| 2021-10-27 | [v2.0.0](https://github.com/Minimum-CD/cd-manifesto/releases/tag/2.0 ) | We have moved from the default GitHub page auto-generated Jekyll site to Hugo. This allows us to improve the traceability of changes to the content by decoupling the signatures from the main content. Also helps make content more discoverable and enables search. | -| 2021-10-12 | [v1.0.0](https://github.com/Minimum-CD/cd-manifesto/tree/6e9d68c442c0e9c9a4bfd9a4edae347fe4a7ce4f) | Dave Farley signature | -| 2021-10-08 | [v0.0.1](https://github.com/Minimum-CD/cd-manifesto/tree/7c4e098ee19d5fbe1b7d80b2726e8e04e6fff186) | Initial commit | diff --git a/content/ExperienceReports/_index.md b/content/ExperienceReports/_index.md index eda9292..00af668 100644 --- a/content/ExperienceReports/_index.md +++ b/content/ExperienceReports/_index.md @@ -1,7 +1,12 @@ --- title: Community Experiences +linkTitle: "Experiences" description: CD in the real world weight: 5 +type: docs +menu: + main: + weight: 20 --- ## CD in the Real World @@ -18,13 +23,13 @@ It's true, some people still think CD is just tools. Here are some reports from ## Feedback -{{% panel footer="Dave Farley, Author: Continuous Delivery" %}} +{{% card footer="Dave Farley, Author: Continuous Delivery" %}} MinimumCD is a fantastic way to get to the meat of CD quickly. It's a clear, focused, no-holds-barred statement of what it takes to achieve CD. This matters because CD works, and it works better than any other way of delivering software that anyone has found so far. If you aren't practicing CD in the way that MinimumCD describes it, then you are building worse software more slowly. The trouble is, CD is difficult to adopt. MinimumCD cuts through distracting or confusing complications. If you can do what MinimumCD says, you will be doing a better job. It gives us a clear, simple focus on the essentials of CD that can help teams to understand what really matters to build better software faster. -{{% /panel %}} +{{% /card %}} ## MinimumCD in the Media -- [CodingBlocks Podcast, February 27, 2022](https://www.codingblocks.net/podcast/minimum-viable-continuous-delivery/): The host discuss their impressions of the project +- [CodingBlocks Podcast, February 27, 2022](https://www.codingblocks.net/podcast/minimum-viable-continuous-delivery/): The hosts discuss their impressions of the project - [Tiny DevOps #21: Minimum Viable CD](https://jhall.io/archive/2021/11/30/minimum-viable-continuous-delivery/): Jonathan Hall talks to one of the core team about the goals of the project diff --git a/content/FAQ/_index.md b/content/FAQ/_index.md index 8d9804c..35cbc87 100644 --- a/content/FAQ/_index.md +++ b/content/FAQ/_index.md @@ -1,8 +1,12 @@ --- title: Frequent Questions -description: FAQ +linkTitle: "FAQ" +description: weight: 5 -draft: false +type: docs +menu: + main: + weight: 99 --- ## Why does this exist? @@ -57,7 +61,7 @@ config](https://12factor.net/config) definitions where "config" is environment s Central to CD is that we are validating the delivered artifact with the pipeline. It is built once and deployed to all environments. A common anti-pattern is building an artifact for each environment. This is why trunk-based development is -so important. More can be found [here](../minimumcd/immutable/). +so important. More can be found [here](/minimumcd/immutable/). ## What do we mean by "definition of deployable"? diff --git a/content/Journey/_index.md b/content/Journey/_index.md index 940f810..079c667 100644 --- a/content/Journey/_index.md +++ b/content/Journey/_index.md @@ -1,8 +1,13 @@ --- title: Starting the Journey +linkTitle: "Starting Out" description: Suggested improvement paths weight: 1 draft: false +type: docs +menu: + main: + weight: 20 --- So, where do we start? It's a bad idea to go from "we can't safely commit changes to the trunk" to "deploy every change to production immediately" in one step. It's a journey that requires methodically solving problems in the context of your organization. Here we will discuss some of the common challenges that frequently need to be overcome. @@ -27,7 +32,7 @@ You may have some others on the list that as you start implementing will come in Every process we add needs to add value. There's obvious value in doing performance testing unless we are demanding performance at a level that isn't required for the use case. However, before we define CAB documentation as required for "deployable", why does that process exist? One common reason for that meeting is a compliance rule for "two sets of eyes on every change". However, that can be validated by automation without the need to bundle changes and wait for a meeting. -{{%alert info%}} +{{% alert %}} We wanted to investigate the impact of change approval processes on software delivery performance. Thus, we asked about four possible scenarios: - All production changes must be approved by an external body (such as a manager or CAB). @@ -35,16 +40,18 @@ We wanted to investigate the impact of change approval processes on software del - We rely on peer review to manage changes. - We have no change approval process. -The results were surprising. We found that approval only for high-risk changes was not correlated with software delivery performance. Teams that reported no approval process or used peer review achieved higher software delivery performance. Finally, teams that required approval by an external body achieved lower performance. -{{%/alert%}} +The results were surprising. We found that approval only for high-risk changes was not correlated with software delivery +performance. Teams that reported no approval process or used peer review achieved higher software delivery performance. +Finally, teams that required approval by an external body achieved lower performance. -Excerpt from *Accelerate* by Nicole Forsgren Ph.D., Jez Humble & Gene Kim +__-- *Accelerate* by Nicole Forsgren Ph.D., Jez Humble & Gene Kim__ +{{% /alert %}} ## Solving the Challenge of CI The first challenge for the team is [continuous integration](https://www.martinfowler.com/articles/continuousIntegration.html). CD requires CI and CI is very effective at uncovering most of the problems many teams have that impact quality. Martin Fowler has an [excellent blog post on introducing CI](https://www.martinfowler.com/articles/continuousIntegration.html#IntroducingContinuousIntegration) into the workflow. Over the years, we've seen many common problems that teams have. -You may find more. Notice that tooling is rarely the problem. Always, "why can't we deliver working changes to the trunk today?", is the roadmap of problems to solve. +You may find more. Notice that tooling is rarely the problem. Always, "Why can't we deliver working changes to the trunk today?", is the roadmap of problems to solve. ### Code review takes too long / has too many approvers @@ -68,7 +75,7 @@ Teams are not good at testing initially for the same reason they aren't good at ### Individual tasks are too big -CI means we are integrating partially completed features continuously. TDD helps us learn how to decompose tasks into very small, releasable changes that do not break existing behaviors. However, the initial habit is often to wait to integrate changes until they are "complete". This results in large change-sets that are more difficult to code review. This makes code review take more time, requires more re-work, and reduces the ability of the reviewer to spot problems. [Evolutionary coding methods](../minimumcd/ci/#recommended-practices) allows the release of incomplete features until they are ready and allow us to drive down the size of changes. By focusing as a team to decompose tasks into hours of work rather than days and using engineering techniques to control release, we have improved clarity, smaller change-sets, and higher quality. +CI means we are integrating partially completed features continuously. TDD helps us learn how to decompose tasks into very small, releasable changes that do not break existing behaviors. However, the initial habit is often to wait to integrate changes until they are "complete". This results in large changesets that are more difficult to code review. This makes code review take more time, requires more re-work, and reduces the ability of the reviewer to spot problems. [Evolutionary [coding methods](/minimumcd/ci/#recommended-practices) allow the release of incomplete features until they are ready and allow us to drive down the size of changes. By focusing as a team to decompose tasks into hours of work rather than days and using engineering techniques to control release, we have improved clarity, smaller change-sets, and higher quality. ### Stories are too big & lack testable acceptance criteria diff --git a/content/MinimumCD/AppConfig/_index.md b/content/MinimumCD/AppConfig/_index.md index a3966e8..65a12ac 100644 --- a/content/MinimumCD/AppConfig/_index.md +++ b/content/MinimumCD/AppConfig/_index.md @@ -3,4 +3,5 @@ title: Application Configuration description: Application configuration deploys with artifact weight: 5 draft: true +type: docs --- diff --git a/content/MinimumCD/CI/_index.md b/content/MinimumCD/CI/_index.md index b2a1735..4f70b89 100644 --- a/content/MinimumCD/CI/_index.md +++ b/content/MinimumCD/CI/_index.md @@ -2,6 +2,7 @@ title: Continuous Integration description: Start here weight: 2 +type: docs --- ## Definition diff --git a/content/MinimumCD/Deployable/_index.md b/content/MinimumCD/Deployable/_index.md index 41e2b43..d88d0a5 100644 --- a/content/MinimumCD/Deployable/_index.md +++ b/content/MinimumCD/Deployable/_index.md @@ -3,5 +3,6 @@ title: Definition of Deployable description: Pipeline artifacts always meet the organization's definition of deployable weight: 5 draft: true +type: docs --- diff --git a/content/MinimumCD/Deterministic/_index.md b/content/MinimumCD/Deterministic/_index.md index 8a9a61b..6653522 100644 --- a/content/MinimumCD/Deterministic/_index.md +++ b/content/MinimumCD/Deterministic/_index.md @@ -3,4 +3,5 @@ title: Deterministic Pipeline description: The pipeline decides the releasability of changes weight: 5 draft: true +type: docs --- diff --git a/content/MinimumCD/Immutable/_index.md b/content/MinimumCD/Immutable/_index.md index aabec5e..0253580 100644 --- a/content/MinimumCD/Immutable/_index.md +++ b/content/MinimumCD/Immutable/_index.md @@ -2,6 +2,7 @@ title: Immutable Artifact description: No human changes after commit. weight: 5 +type: docs --- Central to CD is that we are validating the artifact with the pipeline. It is built once and deployed to all environments. A common anti-pattern is building an artifact for each environment. The pipeline should generate immutable, versioned artifacts. diff --git a/content/MinimumCD/ProdLike/_index.md b/content/MinimumCD/ProdLike/_index.md index fcadd6a..3e4a4ea 100644 --- a/content/MinimumCD/ProdLike/_index.md +++ b/content/MinimumCD/ProdLike/_index.md @@ -2,6 +2,7 @@ title: Prod-Like Test Environment description: Leveraging production-like test environments in your CI/CD pipeline enables reliable testing. weight: 5 +type: docs --- ## Definition diff --git a/content/MinimumCD/Rollback/_index.md b/content/MinimumCD/Rollback/_index.md index 876713d..15868be 100644 --- a/content/MinimumCD/Rollback/_index.md +++ b/content/MinimumCD/Rollback/_index.md @@ -3,5 +3,6 @@ title: Rollback On-demand description: Why these practices are important weight: 5 draft: true +type: docs --- diff --git a/content/MinimumCD/SinglePath/_index.md b/content/MinimumCD/SinglePath/_index.md index 63d1166..8bf2af2 100644 --- a/content/MinimumCD/SinglePath/_index.md +++ b/content/MinimumCD/SinglePath/_index.md @@ -3,4 +3,5 @@ title: Only Path to Any Environment description: Build once, deploy everywhere weight: 5 draft: true +type: docs --- diff --git a/content/MinimumCD/StopOnRed/_index.md b/content/MinimumCD/StopOnRed/_index.md deleted file mode 100644 index 5a4668f..0000000 --- a/content/MinimumCD/StopOnRed/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Stop on red -description: All feature work stops when the pipeline is red -weight: 5 -draft: true ---- - diff --git a/content/MinimumCD/TBD/_index.md b/content/MinimumCD/TBD/_index.md index de55200..cc5c258 100644 --- a/content/MinimumCD/TBD/_index.md +++ b/content/MinimumCD/TBD/_index.md @@ -2,13 +2,14 @@ title: Trunk Based Development description: Death of merge hell weight: 1 +type: docs --- {{%alert info%}} -"Trunk-based development has been shown to be a predictor of high performance in software development and delivery. It is characterized by fewer than three active branches in a code repository; branches and forks having very short lifetimes (e.g., less than a day) before being merged into master; and application teams rarely or never having "code lock" periods when no one can check in code or do pull requests due to merging conflicts, code freezes, or stabilization phases." +"Trunk-based development has been shown to be a predictor of high performance in software development and delivery. It is characterized by fewer than three active branches in a code repository; branches and forks having very short lifetimes (e.g., less than a day) before being merged; and application teams rarely or never having "code lock" periods when no one can check in code or do pull requests due to merging conflicts, code freezes, or stabilization phases." -{{%/alert%}} +{{% /alert %}} Excerpt from *Accelerate* by Nicole Forsgren Ph.D., Jez Humble & Gene Kim @@ -24,5 +25,5 @@ It is important to note that release branches are an intermediate step that some - **We must test**: TBD requires us to implement tests as part of the development process. - **Better teamwork**: We need to work more closely as a team. This has many positive impacts, not least we will be more focused on getting the team's highest priority done. We will stop starting and start finishing work. - **Better work definition**: Small changes require us to decompose the work into a level of detail that helps uncover things that lack clarity or do not make sense. This provides much earlier feedback on potential quality issues. -- **Replaces process with engineering**: Instead of creating a process where we control the release of features with branches, we can control the release of features with engineering techniques called [evolutionary coding methods](../../minimumcd/ci/#recommended-practices). These techniques have additional benefits related to stability that cannot be found when replaced by process. +- **Replaces process with engineering**: Instead of creating a process where we control the release of features with branches, we can control the release of features with engineering techniques called [evolutionary coding methods](/minimumcd/ci/#recommended-practices). These techniques have additional benefits related to stability that cannot be found when replaced by process. - **Reduces risk**: There are two risks with long-lived branches that happen frequently. First, the change will not integrate cleanly and the merge conflicts result in broken or lost features. Second, the branch will be abandoned. This is usually because of the first reason. Sometimes because all of the knowledge about what is in that branch resides in the mind of someone who decided to leave before it was integrated. diff --git a/content/MinimumCD/_index.md b/content/MinimumCD/_index.md index 01c2b6d..f21444f 100644 --- a/content/MinimumCD/_index.md +++ b/content/MinimumCD/_index.md @@ -1,17 +1,21 @@ --- title: Minimum Viable CD -description: "" +linkTitle: "Minimum CD" + +description: Problems to solve to improve your organization weight: 1 +type: docs --- -{{% notice %}} +{{% alert %}} "Continuous delivery improves both delivery performance and quality, and also helps improve culture and reduce burnout and deployment pain." --- Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations -{{% /notice %}} +__-- *Accelerate* by Nicole Forsgren Ph.D., Jez Humble & Gene Kim__ +_ +{{% /alert %}} -![MinimumCD](/images/minimumCD-logo-hex.png?height=150px) +{{< figure src="/images/minimumCD-logo-hex.webp" alt="MinimumCD">}} We, [the undersigned](#signatories), believe that a minimal definition of continuous delivery (CD) is required to improve the flow of delivery and achieve the outcomes above. While our contexts may be different, there are universal practices common in all. By defining them we can: @@ -35,13 +39,13 @@ The minimum activities required for CD are: - The [application pipeline](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract) is the only way to deploy to any environment -- The pipeline decides the releasability of changes, its verdict is [definitive](../faq/#why-should-the-pipeline-be-definitive-for-deploy) -- Artifacts created by the pipeline always meet the organization's [definition of deployable](../faq/#what-do-we-mean-by-definition-of-deployable) -- [Immutable artifact](../minimumcd/immutable/) (no human changes after commit) +- The pipeline decides the releasability of changes, its verdict is [definitive](/faq/#why-should-the-pipeline-be-definitive-for-deploy) +- Artifacts created by the pipeline always meet the organization's [definition of deployable](/faq/#what-do-we-mean-by-definition-of-deployable) +- [Immutable artifact](/minimumcd/immutable/) (no human changes after commit) - All feature work stops when the pipeline is red -- [Production-like test environment](../minimumcd/prodlike/) +- [Production-like test environment](/minimumcd/prodlike/) - Rollback on-demand -- [Application configuration](../faq/#what-is-application-configuration) deploys with artifact +- [Application configuration](/faq/#what-is-application-configuration) deploys with artifact ## Continuous Integration @@ -58,7 +62,7 @@ The minimum activities required for CI are: ## Trunk-based Development -[Trunk-based development](../minimumcd/tbd) is the branching pattern required to meet the definition +[Trunk-based development](/minimumcd/tbd) is the branching pattern required to meet the definition of CI. It prevents lost work, the risk of corruption that comes from merge conflict resolution, and also reduces movement waste that increases batch size. @@ -72,11 +76,11 @@ The minimum activities required for TBD are: ## Why did we build this? -For background on Minimum CD and answers to other common questions, please [read the FAQs](../faq). +For background on Minimum CD and answers to other common questions, please [read the FAQs](/faq). ## Starting the Journey -Questions on where to start? Check out some [recommendations](../journey). +Questions on where to start? Check out some [recommendations](/journey). ## Contributing diff --git a/content/Practices/SmallBatches/_index.md b/content/Practices/SmallBatches/_index.md index 7e3be8f..c7cd70a 100644 --- a/content/Practices/SmallBatches/_index.md +++ b/content/Practices/SmallBatches/_index.md @@ -2,6 +2,7 @@ title: Work in Small Batches description: Specific advice for an often misunderstood principle of continuous delivery. weight: 1 +type: docs --- We need to reduce batch size because smaller batches of work are easier to verify, they tend to fail small, we are less likely to suffer from sunk-cost fallacy, we amplify feedback loops, etc. How small should they be? As small as we can make them to get production feedback on what we are trying to learn. Working to reduce batch size acts as a forcing function for exposing and removing hidden waste in upstream processes. There are several batch sizes we are trying to reduce. @@ -20,15 +21,16 @@ This comes from a misunderstanding of what CD is for. Yes, we can deliver featur ### Commit Smaller Changes -{{% notice %}} +{{% alert %}} "Following our principle of working in small batches and building quality in, high-performing teams keep branches short-lived (less than one day's work) and integrate them into trunk/master frequently. Each change triggers a build process that includes running unit tests. If any part of this process fails, developers fix it immediately." --- Accelerate: Forsgren, et al -{{% /notice %}} +**-- *Accelerate* by Nicole Forsgren Ph.D., Jez Humble & Gene Kim** + +{{% /alert %}} How small is small? One change a day is big. Smaller than that. These are not feature complete changes. They are small, tested changes that can be delivered to production if certified by the pipeline. -Solving the problems required to meet the [definition of CI](../../minimumcd/#continuous-integration) is foundational for the efforts to improve the organization. It is very effective at uncovering that we need to improve testing, learn how to use evolutionary coding practices, understand trunk-based development, learn to decompose work better, and learn how to work as a team better. It's also effective at shining a light on upstream issues. +Solving the problems required to meet the [definition of CI](/minimumcd/#continuous-integration) is foundational for the efforts to improve the organization. It is very effective at uncovering that we need to improve testing, learn how to use evolutionary coding practices, understand trunk-based development, learn to decompose work better, and learn how to work as a team better. It's also effective at shining a light on upstream issues. ### Refine Smaller Stories @@ -36,11 +38,11 @@ How small is small? It's typical for teams who have only been taught Scrum to re In 2012, Paul Hammant, author of "Trunk-Based Development and Branch by Abstraction" made the following suggestion: -{{% notice %}} +{{% alert %}} "Story sizes should average as close to one day as possible. If they don't, your Agile project is going to be harder for nearly everyone involved. If your average is significantly greater than that one day, then change something until you get there." --- [Call to Arms: Average Story Size of One Day](https://paulhammant.com/2012/04/24/call-to-arms-average-story-sizes-of-one-day/) -{{% /notice %}} +-- **[Call to Arms: Average Story Size of One Day](https://paulhammant.com/2012/04/24/call-to-arms-average-story-sizes-of-one-day/)** +{{% /alert %}} This may sound unachievable, but we have seen how effective this is in the enterprise Dojos. A primary workflow for Dojos is the "hyper-sprint". A hyper-sprint lasts for 2.5 days and includes refining work, doing the work, delivering the work, and retrospecting on how to do it better next time. Teams fail for a few weeks but then learn the skills and teamwork required to slice stories into much thinner value increments with fully testable acceptance criteria and deliver them as a team. Coding moves from exploration to implementation and quality feedback and throughput accelerate. It's very common for a team's throughput to double in 6-8 weeks with the right guidance. Again, this acts as a forcing function for uncovering and removing upstream impediments with missing product information, external hard dependencies with other teams, Change Advisory Board compliance theater, or other organizational issues. diff --git a/content/Practices/_index.md b/content/Practices/_index.md index aaa5c64..71500b7 100644 --- a/content/Practices/_index.md +++ b/content/Practices/_index.md @@ -1,7 +1,10 @@ --- title: Recommended Practices +linkTitle: "Practices" description: "" weight: 5 +type: docs +menu: + main: + weight: 20 --- - -{{% children style="h2" depth="1" description="true" /%}} diff --git a/content/References/_index.md b/content/References/_index.md index 98304e6..13f1289 100644 --- a/content/References/_index.md +++ b/content/References/_index.md @@ -1,7 +1,12 @@ --- title: Beyond the Minimums +linkTitle: "Resources" description: Recommended Resources weight: 5 +type: docs +menu: + main: + weight: 20 --- Minimum CD is not the first step in a maturity model. However, it is still the bare minimum upon which many more practices should be built as appropriate to your context. To aid your journey in going beyond Minimum CD, we maintain a list of resources that focus on Continuous Delivery which we have found very useful in our own journeys. diff --git a/content/Translations/Finnish/_index.md b/content/Translations/Finnish/_index.md index a40f22f..867f82f 100644 --- a/content/Translations/Finnish/_index.md +++ b/content/Translations/Finnish/_index.md @@ -2,6 +2,7 @@ title: Suomi description: "Vähäisin toimiva jatkuva toimittaminen" weight: 3 +type: docs --- ## Vähäisin toimiva jatkuva toimittaminen @@ -10,7 +11,7 @@ weight: 3 -- Accelerate -Me, [allekirjoittaneet](../../minimumcd/#signatories), uskomme, että jatkuvalle toimittamiselle (engl. continuous delivery, CD) tarvitaan määritelmä, jotta toimitusvirtaa voidaan parantaa. Riippumatta erilaisista olosuhteistamme, on olemassa yleispäteviä käytäntöjä. Määrittelemällä nämä käytännöt voimme: +Me, [allekirjoittaneet](/minimumcd/#signatories), uskomme, että jatkuvalle toimittamiselle (engl. continuous delivery, CD) tarvitaan määritelmä, jotta toimitusvirtaa voidaan parantaa. Riippumatta erilaisista olosuhteistamme, on olemassa yleispäteviä käytäntöjä. Määrittelemällä nämä käytännöt voimme: - Perehdyttää uudet harjoittajat yhdenmukaisella tavalla - Keskustella ohjelmistotuotannon käytännöistä, joista CD muodostuu @@ -31,13 +32,13 @@ Jatkuvan toimittamisen minimivaatimukset ovat: - [Jatkuva integraatio](#jatkuva-integraatio) - [Sovelluksen toimitusputki](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract) on ainoa tie tuotantoonvientiin. -- Toimitusputki määrää muutosten julkaisukelpoisuuden, sen lausunto on [ehdoton](../../faq/#why-should-the-pipeline-be-definitive-for-deploy) +- Toimitusputki määrää muutosten julkaisukelpoisuuden, sen lausunto on [ehdoton](/faq/#why-should-the-pipeline-be-definitive-for-deploy) - [Organisaation tuotantoonvientikelpoisen määritelmä täyttyy aina](https://www.youtube.com/watch?v=bHKHdp4H-8w) -- [Artifakti on muuttumaton](../../minimumcd/immutable/). Ei ihmisen tekemiä muutoksia versionhallintaan tallentamisen jälkeen. +- [Artifakti on muuttumaton](/minimumcd/immutable/). Ei ihmisen tekemiä muutoksia versionhallintaan tallentamisen jälkeen. - Kaikki uuskehitys loppuu, kun toimitusputki on punaisella - Tuotannonkaltainen testiympäristö - Tuotantoonviennin peruutus tarvittaessa -- [Sovelluksen konfiguraatio](../../faq/#what-is-application-configuration) viedään tuotantoon artifaktin kanssa +- [Sovelluksen konfiguraatio](/faq/#what-is-application-configuration) viedään tuotantoon artifaktin kanssa ## Jatkuva integraatio @@ -45,7 +46,7 @@ Jatkuva integraatio (CI) on toimintatapa, jossa työ integroidaan päähaaraan e Jatkuvan integraation minimivaatimukset ovat: -- Päähaarassa kehittäminen ([Trunk-based development](../../minimumcd/tbd/)) +- Päähaarassa kehittäminen ([Trunk-based development](/minimumcd/tbd/)) - Työ integroidaan päähaaraan vähintään päivittäin - Työ testataan automaattisesti ennen päähaaraan yhdistämistä - Työ testataan muun työn kanssa automaattisesti haaroja yhdistettäessä @@ -54,7 +55,7 @@ Jatkuvan integraation minimivaatimukset ovat: ## Päähaarassa kehittäminen (Trunk-based Development) -Päähaarassa kehittäminen eli [Trunk-based development](../../minimumcd/tbd/) on versionhallinnan haarauttamistapa, joka vaaditaan jatkuvan integraation määritelmään. Se estää työn katoamisen, työn korruptoitumisen haarojen yhdistämiseen liittyvissä konflikteissa ja vähentää liike-hukkaa, joka johtaa suuriin eräkokoihin. +Päähaarassa kehittäminen eli [Trunk-based development](/minimumcd/tbd/) on versionhallinnan haarauttamistapa, joka vaaditaan jatkuvan integraation määritelmään. Se estää työn katoamisen, työn korruptoitumisen haarojen yhdistämiseen liittyvissä konflikteissa ja vähentää liike-hukkaa, joka johtaa suuriin eräkokoihin. Päähaarassa kehittämisen minimivaatimukset ovat: @@ -70,11 +71,11 @@ Minimi-CD ei ole ensimmäinen askel kypsyysmallissa. Siitä huolimatta se on vä Näistä lähteistä löytyy sekä perusasiat että tiedot, joilla voi tulla "eliitti"-CD-organisaatioksi. Ne keskittyvät ratkaisemaan ongelman: "Miksei me voida mennä tuotantoon tänään?" -[Lue lista](../../references/). +[Lue lista](/references/). ## Miksi teimme tämän? -Lisää taustatietoa Minimi-CD:stä ja vastauksia yleisimpiin kysymyksiin löytyy [usein kysytyistä kysymyksistä](../../faq/). +Lisää taustatietoa Minimi-CD:stä ja vastauksia yleisimpiin kysymyksiin löytyy [usein kysytyistä kysymyksistä](/faq/). ## Haluatko osallistua tai allekirjoittaa? @@ -82,7 +83,7 @@ Lue [osallistumisohje](https://github.com/Minimum-CD/cd-manifesto/blob/master/CO ## Allekirjoittajat -Allekirjoittajat ovat allekirjoittaneet [englanninkielisen alkuperäisdokumentin](../../minimumcd/#signatories) ja ajantasainen nimilista julkaistaan ainoastaan sen yhteydessä. +Allekirjoittajat ovat allekirjoittaneet [englanninkielisen alkuperäisdokumentin](/minimumcd/#signatories) ja ajantasainen nimilista julkaistaan ainoastaan sen yhteydessä. ## Käännös diff --git a/content/Translations/French/_index.md b/content/Translations/French/_index.md index 7c38d1c..2335044 100644 --- a/content/Translations/French/_index.md +++ b/content/Translations/French/_index.md @@ -2,6 +2,7 @@ title: Francais description: "Le minimum viable de la Livraison Continue" weight: 3 +type: docs --- ## Le minimum viable de la Livraison Continue @@ -10,9 +11,9 @@ weight: 3 -- Accelerate -![MinimumCD](/images/minimumCD-logo-hex.png?height=150px) +{{< figure src="/images/minimumCD-logo-hex.png" alt="MinimumCD" width="20%" >}} -Nous, [les signataires](../../minimumcd/#signatories), estimons qu'une définition minimale de la Livraison Continue (Continuous Delivery, CD) est requise afin d'améliorer les flux de livraisons. Bien que chaque contexte soit unique, il y a des pratiques universelles. En les définissant, nous pouvons : +Nous, [les signataires](/minimumcd/#signatories), estimons qu'une définition minimale de la Livraison Continue (Continuous Delivery, CD) est requise afin d'améliorer les flux de livraisons. Bien que chaque contexte soit unique, il y a des pratiques universelles. En les définissant, nous pouvons : - Présenter les choses aux nouveaux arrivants de manière cohérente - Discuter des pratiques d'ingénierie qui composent le CD (Continuous Delivery) @@ -36,13 +37,13 @@ Les activités minimales requises pour la Livraison Continue sont : - [L'intégration continue](#intégration-continue) - Le [pipeline de déploiement](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract) est le seul chemin qui permet de déployer en production. -- Le pipeline décide de la diffusion des modifications, son verdict est [définitif](../../faq/#why-should-the-pipeline-be-definitive-for-deploy) +- Le pipeline décide de la diffusion des modifications, son verdict est [définitif](/faq/#why-should-the-pipeline-be-definitive-for-deploy) - Les artefacts créés par le pipeline répondent toujours à la [définition de Déployable](https://www.youtube.com/watch?v=bHKHdp4H-8w) de l'organisation -- [L'artefact ne change jamais](../../minimumcd/immutable/). Il n'y a aucun changement humain après le commit. +- [L'artefact ne change jamais](/minimumcd/immutable/). Il n'y a aucun changement humain après le commit. - Tous les travaux sur les fonctionnalités s'arrêtent lorsque le pipeline est rouge - L'environnement de test est proche de l'environnement de production - On peut revenir en arrière (rollback) à la demande -- [La configuration de l'application](../../faq/#what-is-application-configuration) est déployée avec l'artefact +- [La configuration de l'application](/faq/#what-is-application-configuration) est déployée avec l'artefact ## Intégration Continue @@ -51,7 +52,7 @@ dépôt de code, et à vérifier que ce travail est, à notre connaissance, prop Les activités minimales requises pour CI sont : -- [Le développement basé sur un tronc commun](../../minimumcd/tbd/) +- [Le développement basé sur un tronc commun](/minimumcd/tbd/) - Le travail est intégré au tronc commun au moins une fois par jour - Le travail est testé automatiquement avec d'être fusionné au tronc commun - Le travail est testé avec celui des autres automatiquement lors de la fusion @@ -60,7 +61,7 @@ Les activités minimales requises pour CI sont : ## Le développement basé sur un tronc commun (Trunk-based Development, TBD) -[Le développement basé sur un tronc commun](../../minimumcd/tbd/) est le modèle de branche requis pour répondre à la définition d'Intégration Continue. +[Le développement basé sur un tronc commun](/minimumcd/tbd/) est le modèle de branche requis pour répondre à la définition d'Intégration Continue. Il évite la perte de travail, le risque de corruption qui provient des résolutions de conflits lors des fusions, et réduit également le gaspillage d'énergie induit par la taille des lots/ @@ -74,11 +75,11 @@ Les activités minimales requises pour le TBD sont : ## Pourquoi avons-nous construit ce manifeste ? -Pour plus d'informations sur la Livraison Continue Minimale et des réponses à d'autres questions courantes, [veuillez lire la FAQ](../../faq/). +Pour plus d'informations sur la Livraison Continue Minimale et des réponses à d'autres questions courantes, [veuillez lire la FAQ](/faq/). ## Vous souhaitez contribuer ou devenir signataire ? -Les signataires ont signé le [document original en anglais](../../minimumcd/#signatories), et la liste des noms sera tenue à jour uniquement sur celui-ci. +Les signataires ont signé le [document original en anglais](/minimumcd/#signatories), et la liste des noms sera tenue à jour uniquement sur celui-ci. ## Traduction diff --git a/content/Translations/French/references.md b/content/Translations/French/references.md index d5d719b..1a28bcb 100644 --- a/content/Translations/French/references.md +++ b/content/Translations/French/references.md @@ -2,6 +2,7 @@ title: Au-delà des minimums description: Ressources recommandées weight: 5 +type: docs --- ## Au-delà des minimums @@ -14,4 +15,4 @@ livraison continue, que nous que nous avons trouvées très utiles dans nos prop Ces ressources contiennent les bases, mais aussi les connaissances nécessaires pour devenir une organisation de Livraison Continue « d'élite ». Elles sont dédiées à la résolution du problème « pourquoi ne pouvons-nous pas passer en production aujourd'hui ? » -[Lire la liste](../../../references/). +[Lire la liste](/references/). diff --git a/content/Translations/German/_index.md b/content/Translations/German/_index.md index 9819273..b2471cc 100644 --- a/content/Translations/German/_index.md +++ b/content/Translations/German/_index.md @@ -2,24 +2,17 @@ title: Deutsch description: "Minimale nutzbare kontinuierliche Lieferung" weight: 3 +type: docs --- -{{% notice %}} +{{% alert %}} "Kontinuierliche Lieferung vebessert die Geschwindigkeit und Qualität der Auslieferung, und hilft zugleich die Kultur zu verbessern, Burnout und Mühsal in der Entwicklung zu vermeiden." -- Das Mindset von DevOps. Accelerate: 24 Schlüsselkompetenzen, um leistungsstarke Technologieunternehmen zu entwickeln und zu skalieren -{{% /notice %}} +{{% /alert %}} -![MinimumCD](/images/minimumCD-logo-hex.png?height=150px) - -Minimum Viable CD - -"Kontinuierliche Lieferung verbessert sowohl die Lieferleistung als auch die Qualität und trägt außerdem zur Verbesserung der Unternehmenskultur und zur Verringerung von Burnout und Lieferungsschmerzen bei. - -- Accelerate: Die Wissenschaft von schlanker Software und DevOps: Aufbau und Skalierung hochleistungsfähiger Technologieorganisationen - -MinimumCD +{{< figure src="/images/minimumCD-logo-hex.png" alt="MinimumCD" width="20%" >}} Wir, [die Unterzeichner](#unterzeichner), sind der Meinung, dass eine Minimale Definition von Continuous Delivery (CD) erforderlich ist, um den Ablauf der Software-Lieferung zu verbessern und die oben genannten Ergebnisse zu erzielen. Obwohl unsere Kontexte unterschiedlich sein mögen, gibt es universelle Praktiken, die allen Situationen und Teams gemeinsam sind. Indem wir diese definieren, können wir: @@ -39,13 +32,13 @@ Die für CD erforderlichen Mindestaktivitäten sind: - [Kontinuierliche Integration](#kontinuierliche-integration) verwenden - Die [Anwendungspipeline](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract) ist die einzige Möglichkeit zur Lieferung in einer beliebigen Umgebung. -- Die Pipeline entscheidet über die Freigabefähigkeit von Änderungen, ihr Urteil ist [endgültig](../../faq/#why-should-the-pipeline-be-definitive-for-deploy) -- Die von der Pipeline erstellten Artefakte entsprechen immer der der organisationseigenen ["Definition für deploybar"](../../faq/#what-do-we-mean-by-definition-of-deployable). -- [Unveränderliche Artefakte](../../minimumcd/immutable/). Keine menschlichen Änderungen nach der Übergabe an cas CD-System. +- Die Pipeline entscheidet über die Freigabefähigkeit von Änderungen, ihr Urteil ist [endgültig](/faq/#why-should-the-pipeline-be-definitive-for-deploy) +- Die von der Pipeline erstellten Artefakte entsprechen immer der der organisationseigenen ["Definition für deploybar"](/faq/#what-do-we-mean-by-definition-of-deployable). +- [Unveränderliche Artefakte](/minimumcd/immutable/). Keine menschlichen Änderungen nach der Übergabe an cas CD-System. - Jegliche Arbeiten an Features werden eingestellt, wenn die Pipeline defekt ist. - Produktionsähnliche Testumgebung - Rollback bei Bedarf -- [Anwendungskonfiguration](../../faq/#what-is-application-configuration) wird gemeinsam mit dem Artefakt ausgeliefert +- [Anwendungskonfiguration](/faq/#what-is-application-configuration) wird gemeinsam mit dem Artefakt ausgeliefert ## Kontinuierliche Integration @@ -62,7 +55,7 @@ Die für CI erforderlichen Mindestaktivitäten sind: ## Trunk-basierte Entwicklung -Die [trunk-basierte Entwicklung](../../minimumcd/tbd/) ist das branching Modell, das erforderlich ist, um die Definition von CI zu erfüllen. Es verhindert den Verlust von Arbeit, das Risiko von verfälschtem oder defektem Code bei der Lösung von Merge-Konflikten besteht und auch die (Lean-) Verschwendung durch Bewegung, die die Batchgröße erhöht. +Die [trunk-basierte Entwicklung](/minimumcd/tbd/) ist das branching Modell, das erforderlich ist, um die Definition von CI zu erfüllen. Es verhindert den Verlust von Arbeit, das Risiko von verfälschtem oder defektem Code bei der Lösung von Merge-Konflikten besteht und auch die (Lean-) Verschwendung durch Bewegung, die die Batchgröße erhöht. - Die für TBD erforderlichen Mindestaktivitäten sind: - Alle Änderungen werden in den Stamm integriert. @@ -73,11 +66,11 @@ Die [trunk-basierte Entwicklung](../../minimumcd/tbd/) ist das branching Modell, ## Warum haben wir das gebaut? -Für Hintergrundinformationen zu Minimum CD und Antworten auf andere häufige Fragen, lesen Sie bitte die [FAQs](../../faq/). +Für Hintergrundinformationen zu Minimum CD und Antworten auf andere häufige Fragen, lesen Sie bitte die [FAQs](/faq/). ## Die Reise beginnen -Haben Sie Fragen, wo Sie anfangen sollen? Sehen Sie sich einige [Empfehlungen](../../journey/) an. +Haben Sie Fragen, wo Sie anfangen sollen? Sehen Sie sich einige [Empfehlungen](/journey/) an. ## Beitragen diff --git a/content/Translations/Italian/_index.md b/content/Translations/Italian/_index.md index 59a7a3a..a1aa1a4 100644 --- a/content/Translations/Italian/_index.md +++ b/content/Translations/Italian/_index.md @@ -2,6 +2,7 @@ title: Italiano description: "Implementazione minima della Continuous Delivery" weight: 3 +type: docs --- ## Implementazione minima della Continuous Delivery @@ -10,7 +11,7 @@ weight: 3 -- Accelerate `(Unofficial translation)` -Noi, [i firmatari](../../minimumcd/#signatories), riteniamo che la definizione di un'implementazione minima della Continuous Delivery (CD) sia necessaria per migliorare il flusso di rilascio del software. Sebbene i contesti in cui lavoriamo possano essere diversi, esistono pratiche universali. Definendo tali pratiche possiamo: +Noi, [i firmatari](/minimumcd/#signatories), riteniamo che la definizione di un'implementazione minima della Continuous Delivery (CD) sia necessaria per migliorare il flusso di rilascio del software. Sebbene i contesti in cui lavoriamo possano essere diversi, esistono pratiche universali. Definendo tali pratiche possiamo: - Introdurre alla Continuous Delivery nuovi praticanti in modo coerente - Discutere le pratiche ingegneristiche che costituiscono CD @@ -30,13 +31,13 @@ Il set minimo di attività richieste per la CD sono: - [Continuous integration](#continuous-integration-integrazione-continua) (Integrazione Continua) - La [application pipeline](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract) è l'unico percorso per il rilascio in produzione -- La pipeline decide la rilasciabilità delle modifiche software, e il suo verdetto è [definitivo](./faq/#perch%C3%A9-la-pipeline-dovrebbe-dettare-legge-per-il-rilascio) +- La pipeline decide la rilasciabilità delle modifiche software, e il suo verdetto è [definitivo](/translations/italian/faq/#perch%C3%A9-la-pipeline-dovrebbe-dettare-legge-per-il-rilascio) - Gli artefatti creati dalla pipeline soddisfano sempre la definizione di rilasciabilità [definition of deployable](https://www.youtube.com/watch?v=bHKHdp4H-8w) della specifica organizzazione -- Artefatti immutabili ([Immutable artifact](./faq/#cosa-significa-artefatti-immutabili)): nessuna modifica manuale dopo i commit +- Artefatti immutabili ([Immutable artifact](/translations/italian/faq/#cosa-significa-artefatti-immutabili)): nessuna modifica manuale dopo i commit - Tutto il lavoro si ferma se la pipeline fallisce - Utilizzare ambienti di test il più possibile simili all'ambiente di produzione - Rollback su richiesta -- La [configurazione dell'applicazione](./faq/#cosa-significa-artefatti-immutabili) viene distribuita assieme agli artefatti +- La [configurazione dell'applicazione](/translations/italian/faq/#cosa-significa-artefatti-immutabili) viene distribuita assieme agli artefatti ## Continuous Integration (Integrazione continua) @@ -44,7 +45,7 @@ La CI è l'attività che ci consente di integrare continuamente il lavoro di cia Le attività minime richieste dalla CI sono: -- [Trunk-based development](../../minimumcd/tbd/) +- [Trunk-based development](/minimumcd/tbd/) - Il lavoro viene integrato nel trunk almeno una volta al giorno - Una suite di test automatici verifica il lavoro prima che venga integrato nel trunk - Una suite di test automatici verifica il lavoro dopo essere stato integrato nel trunk @@ -53,7 +54,7 @@ Le attività minime richieste dalla CI sono: ## Trunk-based Development -Il [Trunk-based Development](../../minimumcd/tbd/) è il modello di branching necessario a soddisfare la definizione della CI. La CI evita la perdita delle modifiche, il rischio di corruzione che deriva dall'integrazione e dalla risoluzione dei conflitti, e riduce lo spreco dovuto ad attività che potrebbero aumentare la dimensione degli insiemi di modifiche. +Il [Trunk-based Development](/minimumcd/tbd/) è il modello di branching necessario a soddisfare la definizione della CI. La CI evita la perdita delle modifiche, il rischio di corruzione che deriva dall'integrazione e dalla risoluzione dei conflitti, e riduce lo spreco dovuto ad attività che potrebbero aumentare la dimensione degli insiemi di modifiche. - Le attività minime richieste dal TBD sono: - Tutte le modifiche devono essere integrate nel trunk @@ -69,11 +70,11 @@ La CD minima non è il primo passo in un modello di maturità, tuttavia è il mi Queste risorse contengono sia conoscenze di base, sia conoscenze necessarie a farvi diventare un'organizzazione CD "d'élite". Sono risposte specifiche alla domanda "Cosa ci impedisce di andare in produzione oggi?" -[Vedi la lista](../../references/). +[Vedi la lista](/references/). ## Perche abbiamo costruito questa lista? -Per maggiori dettagli sulla CD minima e risposte su altre domande comuni, vi rimandiamo alle [FAQs](./faq/). +Per maggiori dettagli sulla CD minima e risposte su altre domande comuni, vi rimandiamo alle [FAQs](/translations/italian/faq/). ## Per contribuire o diventare firmatari @@ -81,7 +82,7 @@ Vedere [linee guida per contribuire](https://github.com/Minimum-CD/cd-manifesto/ ## Firmatari -I firmatari hanno firmato la [versione originale in inglese](../../minimumcd/#signatories) e la lista corrente dei nomi è pubblicata solo in quella versione +I firmatari hanno firmato la [versione originale in inglese](/minimumcd/#signatories) e la lista corrente dei nomi è pubblicata solo in quella versione ## Traduzione diff --git a/content/Translations/Italian/faq.md b/content/Translations/Italian/faq.md index b731f6b..e753111 100644 --- a/content/Translations/Italian/faq.md +++ b/content/Translations/Italian/faq.md @@ -1,6 +1,7 @@ --- title: Domande Frequenti (FAQ) description: "Implementazione minima della Continuous Delivery" +type: docs --- ## Motivazioni diff --git a/content/Translations/Portuguese-BR/_index.md b/content/Translations/Portuguese-BR/_index.md index 7919a7e..bdcd914 100644 --- a/content/Translations/Portuguese-BR/_index.md +++ b/content/Translations/Portuguese-BR/_index.md @@ -2,22 +2,23 @@ title: "Português Brasileiro" description: "Mínimo viável para a Entrega Contínua" weight: 3 +type: docs --- ## Mínimo viável para a Entrega Contínua -{{% notice %}} +{{% alert %}} "A entrega contínua não só melhora a qualidade e capacidade de entrega, bem como ajuda na evolução da cultura, reduz a estafa e as dificuldades na implantação." -- Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations (Tradução não oficial) -{{% /notice %}} +{{% /alert %}} -![MinimumCD](/images/minimumCD-logo-hex.png?height=150px) +{{< figure src="/images/minimumCD-logo-hex.png" alt="MinimumCD" width="20%" >}} -Nós, [os abaixo-assinados](../../minimumcd/#signatories), acreditamos que é necessária uma definição mínima de entrega contínua (_Continuous Delivery_, CD) para a melhoria do fluxo de entrega e cumprimento dos resultados supracitados. Embora os nossos contextos possam ser diferentes, existem práticas universais consideradas comuns. Ao defini-las, é possível: +Nós, [os abaixo-assinados](/minimumcd/#signatories), acreditamos que é necessária uma definição mínima de entrega contínua (_Continuous Delivery_, CD) para a melhoria do fluxo de entrega e cumprimento dos resultados supracitados. Embora os nossos contextos possam ser diferentes, existem práticas universais consideradas comuns. Ao defini-las, é possível: - Introduzi-las aos novos praticantes, de forma consistente - Discutir as práticas de engenharia que abrangem a entrega contínua @@ -37,13 +38,13 @@ As atividades mínimas exigidas para o CD são: - Uso de [Integração contínua](#integração-contínua) - O [_delivery pipeline_](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract) é a única forma possível de fazer _deploy_ para qualquer ambiente -- O _pipeline_ decide se as mudanças atendem ou não os requisitos para entrada em produção. Esse veredicto é [definitivo](../../faq/#why-should-the-pipeline-be-definitive-for-deploy) -- Os artefatos criados pelo _pipeline_ respeitam sempre a [definição de _deployable_](../../faq/#what-do-we-mean-by-definition-of-deployable) da organização -- [Artefato imutável](../../minimumcd/immutable/) (não existem mudanças manuais após o _commit_) +- O _pipeline_ decide se as mudanças atendem ou não os requisitos para entrada em produção. Esse veredicto é [definitivo](/faq/#why-should-the-pipeline-be-definitive-for-deploy) +- Os artefatos criados pelo _pipeline_ respeitam sempre a [definição de _deployable_](/faq/#what-do-we-mean-by-definition-of-deployable) da organização +- [Artefato imutável](/minimumcd/immutable/) (não existem mudanças manuais após o _commit_) - Todo o desenvolvimento de funcionalidades é suspenso quando o _pipeline_ falha - Ambiente de testes semelhante ao ambiente produtivo - _Rollback_ sob demanda -- A [configuração da aplicação](../../faq/#what-is-application-configuration) é implantada junto com o artefato +- A [configuração da aplicação](/faq/#what-is-application-configuration) é implantada junto com o artefato ## Integração Contínua @@ -60,7 +61,7 @@ As atividades mínimas necessárias ao CI são: ## Trunk-Based Development -O [_Trunk-based development_](../../minimumcd/tbd/) (versão inglesa) (TBD) é um padrão de _branching_ mandatório para cumprimento dos requisitos de CI. Evita a perda de trabalho, o risco de mudanças corrompidas devido à resolução de conflitos do _merge_ e também reduz o desperdício de movimento que aumenta o tamanho do _batch_ de mudanças. +O [_Trunk-based development_](/minimumcd/tbd/) (versão inglesa) (TBD) é um padrão de _branching_ mandatório para cumprimento dos requisitos de CI. Evita a perda de trabalho, o risco de mudanças corrompidas devido à resolução de conflitos do _merge_ e também reduz o desperdício de movimento que aumenta o tamanho do _batch_ de mudanças. As atividades mínimas necessárias para o TBD são: @@ -72,11 +73,11 @@ As atividades mínimas necessárias para o TBD são: ## Por que construímos este manifesto? -Para obter informações acerca do Mínimo CD e respostas a outras questões comuns, por favor [leia o FAQ](../../faq/) (versão inglesa). +Para obter informações acerca do Mínimo CD e respostas a outras questões comuns, por favor [leia o FAQ](/faq/) (versão inglesa). ## Começando a jornada -Dúvidas sobre como começar? Confira algumas [recomendações](../../journey/) (versão inglesa). +Dúvidas sobre como começar? Confira algumas [recomendações](/journey/) (versão inglesa). ## Contribuindo @@ -86,7 +87,7 @@ Leia as nossas [diretrizes de contribuição](https://github.com/Minimum-CD/cd-m ## Signatários -Os signatários assinaram a [versão original em inglês](../../minimumcd/#signatories) e a lista atual de nomes é publicada apenas nessa versão. +Os signatários assinaram a [versão original em inglês](/minimumcd/#signatories) e a lista atual de nomes é publicada apenas nessa versão. ## Tradução diff --git a/content/Translations/Portuguese/_index.md b/content/Translations/Portuguese/_index.md index 05fc880..958c265 100644 --- a/content/Translations/Portuguese/_index.md +++ b/content/Translations/Portuguese/_index.md @@ -2,22 +2,23 @@ title: "Português" description: "Mínimo viável para a Entrega Contínua" weight: 3 +type: docs --- ## Mínimo viável para a Entrega Contínua -{{% notice %}} +{{% alert %}} "A entrega contínua não só melhora a qualidade e capacidade de entrega, bem como ajuda na evolução da cultura, reduz o cansaço e as dores do desenvolvimento/release." -- Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations (Tradução não oficial) -{{% /notice %}} +{{% /alert %}} -![MinimumCD](/images/minimumCD-logo-hex.png?height=150px) +{{< figure src="/images/minimumCD-logo-hex.png" alt="MinimumCD" width="20%" >}} -Nós, [os abaixo-assinados](../../minimumcd/#signatories), acreditamos que é necessária uma definição mínima de entrega contínua (_Continuous Delivery_, CD) para a melhoria do fluxo de entrega e cumprimento dos resultados supracitados. Embora os nossos contextos possam ser diferentes, existem práticas universais consideradas comuns. Ao defini-las, é possível: +Nós, [os abaixo-assinados](/minimumcd/#signatories), acreditamos que é necessária uma definição mínima de entrega contínua (_Continuous Delivery_, CD) para a melhoria do fluxo de entrega e cumprimento dos resultados supracitados. Embora os nossos contextos possam ser diferentes, existem práticas universais consideradas comuns. Ao defini-las, é possível: - Introduzi-las aos novos praticantes, de forma consistente - Discutir as práticas de engenharia que abrangem a entrega contínua @@ -37,13 +38,13 @@ As atividades mínimas exigidas para o CD são: - Uso de [Integração contínua](#integração-contínua) - A [_pipeline_ aplicational](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract) é a única forma possível de fazer _deploy_ para qualquer ambiente -- A _pipeline_ decide a possibilidade dessas mudanças serem replicadas para o ambiente produtivo. Esse veredicto é [definitivo](../../faq/#why-should-the-pipeline-be-definitive-for-deploy) -- Os artefactos criados pela _pipeline_ respeitam sempre a [definição de _deployable_](../../faq/#what-do-we-mean-by-definition-of-deployable) da organização -- [Artefacto imutável](../../minimumcd/immutable/) (não existem mudanças manuais após o _commit_) +- A _pipeline_ decide a possibilidade dessas mudanças serem replicadas para o ambiente produtivo. Esse veredicto é [definitivo](/faq/#why-should-the-pipeline-be-definitive-for-deploy) +- Os artefactos criados pela _pipeline_ respeitam sempre a [definição de _deployable_](/faq/#what-do-we-mean-by-definition-of-deployable) da organização +- [Artefacto imutável](/minimumcd/immutable/) (não existem mudanças manuais após o _commit_) - Todo o desenvolvimento de funcionalidades é suspenso quando a _pipeline_ se encontra em falha (em vermelho) - Ambientes de teste semelhantes ao ambiente produtivo - _Rollback_ conforme necessário -- A [configuração da aplicação](../../faq/#what-is-application-configuration) é _deployed_ com o artefacto +- A [configuração da aplicação](/faq/#what-is-application-configuration) é _deployed_ com o artefacto ## Integração Contínua @@ -60,7 +61,7 @@ As atividades mínimas necessárias ao CI são: ## Trunk-Based Development -O [_Trunk-based development_](../../minimumcd/tbd/) (versão inglesa) (TBD) é um padrão de _branching_ essencial para cumprimento dos requisitos de CI. Impede a perda de trabalho, o risco de mudanças corrompidas devido à resolução de conflitos do _merge_ e também reduz o desperdício de movimento que aumenta o tamanho do _batch_ de mudanças. +O [_Trunk-based development_](/minimumcd/tbd/) (versão inglesa) (TBD) é um padrão de _branching_ essencial para cumprimento dos requisitos de CI. Impede a perda de trabalho, o risco de mudanças corrompidas devido à resolução de conflitos do _merge_ e também reduz o desperdício de movimento que aumenta o tamanho do _batch_ de mudanças. Os atividades mínimas essenciais para o TBD são: @@ -72,11 +73,11 @@ Os atividades mínimas essenciais para o TBD são: ## Por que construímos este manifesto? -Para obter informações acerca do Mínimo CD e respostas a outras questões comuns, por favor [lê as FAQ](../../faq/) (versão inglesa). +Para obter informações acerca do Mínimo CD e respostas a outras questões comuns, por favor [lê as FAQ](/faq/) (versão inglesa). ## Começando a jornada -Dúvidas sobre como começar? Confira algumas [recomendações](../../journey/) (versão inglesa). +Dúvidas sobre como começar? Confira algumas [recomendações](/journey/) (versão inglesa). ## Contribuindo @@ -86,7 +87,7 @@ Lê as nossas [diretrizes de contribuição](https://github.com/Minimum-CD/cd-ma ## Signatários -Os signatários assinaram a [versão original em inglês](../../minimumcd/#signatories) e a lista atual de nomes é publicada apenas nessa versão. +Os signatários assinaram a [versão original em inglês](/minimumcd/#signatories) e a lista atual de nomes é publicada apenas nessa versão. ## Tradução diff --git a/content/Translations/Sinhala/_index.md b/content/Translations/Sinhala/_index.md index fd7368f..9615072 100644 --- a/content/Translations/Sinhala/_index.md +++ b/content/Translations/Sinhala/_index.md @@ -2,20 +2,21 @@ title: Sinhala description: "අඛණ්ඩ බෙදාහැරීමට හැකි මෘදුකාංග නිපදවීමට අවමයෙන් කලයුතු සහ කලහැකිදේ" weight: 3 +type: docs --- ## අඛණ්ඩ බෙදාහැරීමට හැකි මෘදුකාංග නිපදවීමට අවමයෙන් කලයුතු සහ කලහැකිදේ -{{% notice %}} +{{% alert %}} "අඛණ්ඩ බෙදාහැරීමට හැකි මෘදුකාංග නිපදවීමේ ක්‍රියාවලිය මගින් මෘදුකාංග බෙදාහැරීමේ කාර්ය සාධනය සහ ගුණාත්මකභාවය යන දෙකම වැඩිදියුණු කරන අතර, එම නිපදවන පරිසරයේ අභිවර්ධනයක්ද ඇතිකරයි. තවද මේ බෙදාහැරීමේ කටයුතු සීග්‍ර වීමත් සමග එම කාර්ය කරන්නන් ධනාත්මක මානසිකත්වයෙන් පසුවේ." -- Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations (නිල නොවන පරිවර්තනය) -{{% /notice %}} +{{% /alert %}} -![MinimumCD](/images/minimumCD-logo-hex.png?height=150px) +{{< figure src="/images/minimumCD-logo-hex.png" alt="MinimumCD" width="20%" >}} අපි, [පහළින් අත්සන් කර ඇත්තන්](#signatories), අඛණ්ඩව බෙදාහැරීමට හැකි මෘදුකාංග නිපදවීමේ ප්‍රවාහය (CD) වැඩිදියුණු කිරීමට සහ ඉහත ප්‍රතිඵල සාක්ෂාත් කර ගැනීමට අවම අර්ථ දැක්වීමක් අවශ්‍ය බව අපි විශ්වාස කරමු. @@ -38,14 +39,14 @@ CD සඳහා අවශ්‍ය අවම ක්‍රියාකාරක - [Continuous Integration](#continuous-integration)භාවිතා කලයුතුවේ - එම [මෘදුකාංග යෙදුම් මාර්ගය pipeline](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract) මෘදුකාංග බෙදාහැරීමේ එකම මාර්ගය වේ -- එම යෙදුම් මාර්ගය (pipeline) වෙනස්කම්වල මුදා හැරීම තීරණය කරයි, එහි තීන්දුව [නිශ්චිත තීන්දුවවේ](../../faq/#why-should-the-pipeline-be-definitive-for-deploy) +- එම යෙදුම් මාර්ගය (pipeline) වෙනස්කම්වල මුදා හැරීම තීරණය කරයි, එහි තීන්දුව [නිශ්චිත තීන්දුවවේ](/faq/#why-should-the-pipeline-be-definitive-for-deploy) -- එම මාර්ගයෙන් නිර්මාණය කරන ලද වස්තුන් සෑම විටම ආයතනයේ [බෙදාහැරිය හැකි අර්ථ දැක්වීම සපුරාලයි](../../faq/#what-do-we-mean-by-definition-of-deployable) -- [විචල්‍ය නොවන වස්තුන්](../../minimumcd/immutable/) (සැකසීමෙන් පසු කිසි පුද්ගලයෙකුට මේ වස්තුන් වෙනස් කල නොහැක) +- එම මාර්ගයෙන් නිර්මාණය කරන ලද වස්තුන් සෑම විටම ආයතනයේ [බෙදාහැරිය හැකි අර්ථ දැක්වීම සපුරාලයි](/faq/#what-do-we-mean-by-definition-of-deployable) +- [විචල්‍ය නොවන වස්තුන්](/minimumcd/immutable/) (සැකසීමෙන් පසු කිසි පුද්ගලයෙකුට මේ වස්තුන් වෙනස් කල නොහැක) - මෘදුකාංග යෙදුම් මාර්ගය (pipeline) රතු වූ විට සියලුම සියලු වැඩ නතර වේ - Production-වලට සමාන පරීක්ෂණ පරිසර - සැණකින් ප්‍රකූර්ති තත්වයට පත්කල හැකි පරීක්ෂණ පරිසර -- [යෙදුම් වින්‍යාසය](../../faq/#What-is-application-configuration)වස්තුන් සමඟ එකට බෙදාහැරේ +- [යෙදුම් වින්‍යාසය](/faq/#What-is-application-configuration)වස්තුන් සමඟ එකට බෙදාහැරේ ## Continuous Integration @@ -62,7 +63,7 @@ CI සඳහා අවශ්‍ය අවම ක්‍රියාකාරක ## Trunk Based Development -[Trunk-based සංවර්ධනය](../../minimumcd/tbd) යනු නිර්වචනය වන්නේ මූලාශ්‍ර පාලනයට අවශ්‍ය එක අත්තක් විතරක් බාවිතාකරන රටාවයි, වෙනත් විදියකට CI ක්‍රියාවලිය කල නොහැක. මෙම විදිය code ඒකාබද්ධ වීමේදී සිදුවෙන දුෂිතවීම් වලක්වයි +[Trunk-based සංවර්ධනය](/minimumcd/tbd) යනු නිර්වචනය වන්නේ මූලාශ්‍ර පාලනයට අවශ්‍ය එක අත්තක් විතරක් බාවිතාකරන රටාවයි, වෙනත් විදියකට CI ක්‍රියාවලිය කල නොහැක. මෙම විදිය code ඒකාබද්ධ වීමේදී සිදුවෙන දුෂිතවීම් වලක්වයි TBD සඳහා අවශ්‍ය අවම ක්‍රියාකාරකම් වන්නේ: @@ -74,11 +75,11 @@ TBD සඳහා අවශ්‍ය අවම ක්‍රියාකාරක ## ඇයි අපි මේක හැදුවේ? -අවම CD පසුබිම සහ අනෙකුත් පොදු ප්‍රශ්නවලට පිළිතුරු සඳහා, කරුණාකර [නිති අසන ප්‍රශ්න කියවන්න](../../faq). +අවම CD පසුබිම සහ අනෙකුත් පොදු ප්‍රශ්නවලට පිළිතුරු සඳහා, කරුණාකර [නිති අසන ප්‍රශ්න කියවන්න](/faq). ## ගමන ආරම්භ කිරීම -ආරම්භ කළ යුත්තේ කොතැනින්ද යන්න පිළිබඳ ප්‍රශ්න? සමහර [නිර්දේශ](../../journey/). බලන්න. +ආරම්භ කළ යුත්තේ කොතැනින්ද යන්න පිළිබඳ ප්‍රශ්න? සමහර [නිර්දේශ](/journey/). බලන්න. ## දායක වීම diff --git a/content/Translations/Spanish/_index.md b/content/Translations/Spanish/_index.md index 70d6da3..858663e 100644 --- a/content/Translations/Spanish/_index.md +++ b/content/Translations/Spanish/_index.md @@ -2,17 +2,18 @@ title: Español description: "Entrega Continua Mínima Viable" weight: 3 +type: docs --- ## Entrega Continua Mínima Viable -{{% notice %}} +{{% alert %}} "La entrega continua mejora tanto el rendimiento como la calidad de la entrega, y también ayuda a mejorar la cultura y a reducir el agotamiento y el dolor del despliegue." -- Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations (Traducción no oficial) -{{% /notice %}} +{{% /alert %}} -Nosotros, [los abajo firmantes](../../minimumcd/#signatories), creemos que se requiere una definición mínima de entrega continua (CD por sus siglas en inglés) para mejorar el flujo de entrega y lograr los resultados anteriores. Si bien nuestros contextos pueden ser diferentes, existen prácticas universales. Al definirlos podemos: +Nosotros, [los abajo firmantes](/minimumcd/#signatories), creemos que se requiere una definición mínima de entrega continua (CD por sus siglas en inglés) para mejorar el flujo de entrega y lograr los resultados anteriores. Si bien nuestros contextos pueden ser diferentes, existen prácticas universales. Al definirlos podemos: - Introducir a los nuevos profesionales de forma coherente - Discutir las prácticas de ingeniería que abarca CD @@ -32,13 +33,13 @@ Las actividades mínimas requeridas para CD son: - [Integración continua](#integración-continua). - El [pipeline de la aplicación](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract) es el único camino para desplegar en producción. -- El pipeline decide la posibilidad de entrega de los cambios, el veredicto es [definitivo](../../faq/#why-should-the-pipeline-be-definitive-for-deploy). -- Los artefactos creados por el pipeline siempre cumplen los requisitos de [definición de desplegable](../../faq/#what-do-we-mean-by-definition-of-deployable) de la organización. -- [Artefacto inalterable](../../minimumcd/immutable/). No hay cambios hechos por personas después de la confirmación. +- El pipeline decide la posibilidad de entrega de los cambios, el veredicto es [definitivo](/faq/#why-should-the-pipeline-be-definitive-for-deploy). +- Los artefactos creados por el pipeline siempre cumplen los requisitos de [definición de desplegable](/faq/#what-do-we-mean-by-definition-of-deployable) de la organización. +- [Artefacto inalterable](/minimumcd/immutable/). No hay cambios hechos por personas después de la confirmación. - Todo el trabajo de funcionalidades se detiene cuando el pipeline está en rojo - Entorno de prueba similar a producción - Revertir bajo demanda. -- La [configuración de la aplicación](../../faq/#what-is-application-configuration) se despliega con el artefacto. +- La [configuración de la aplicación](/faq/#what-is-application-configuration) se despliega con el artefacto. ## Integración Continua @@ -46,7 +47,7 @@ Integración continua (CI por sus siglas en inglés) es la actividad de integrar Las actividades mínimas requeridas para CI son: -- [Desarrollo basado en rama principal](../../minimumcd/tbd/) +- [Desarrollo basado en rama principal](/minimumcd/tbd/) - El trabajo se integra a la rama principal como mínimo cada día - El trabajo tiene pruebas automatizadas antes de fusionarse con la rama principal - El trabajo se prueba con otro trabajo automáticamente al fusionarse @@ -55,7 +56,7 @@ Las actividades mínimas requeridas para CI son: ## Desarrollo Basado en Rama Principal -[Desarrollo Basado en Rama Principal](../../minimumcd/tbd/) (TBD por sus siglas en inglés) es el patrón de ramificación requerido para cumplir con la definición de CI. Previene el trabajo perdido, el riesgo de corrupción que proviene de la resolución de conflictos fusionados, y también reduce el desperdicio de movimiento que incrementan el volumen de cambios. +[Desarrollo Basado en Rama Principal](/minimumcd/tbd/) (TBD por sus siglas en inglés) es el patrón de ramificación requerido para cumplir con la definición de CI. Previene el trabajo perdido, el riesgo de corrupción que proviene de la resolución de conflictos fusionados, y también reduce el desperdicio de movimiento que incrementan el volumen de cambios. - Las actividades mínimas requeridas para TBD son: - Todos los cambios se integran en la rama principal @@ -66,7 +67,7 @@ Las actividades mínimas requeridas para CI son: ## ¿Por qué construimos esto? -Para obtener más información sobre el CD mínimo y respuestas a otras preguntas comunes, por favor [lea las preguntas más frecuentes](../../faq/). +Para obtener más información sobre el CD mínimo y respuestas a otras preguntas comunes, por favor [lea las preguntas más frecuentes](/faq/). ## ¿Quieres contribuir? @@ -74,7 +75,7 @@ Lee nuestra [pauta de contribución](https://github.com/Minimum-CD/cd-manifesto/ ## Firmantes -Los firmantes avalan la [versión original en inglés](../../minimumcd/#signatories) y la lista actual de nombres solo se publica con esa versión. +Los firmantes avalan la [versión original en inglés](/minimumcd/#signatories) y la lista actual de nombres solo se publica con esa versión. ## Traducción diff --git a/content/Translations/Texan/_index.md b/content/Translations/Texan/_index.md index 154ad98..d257dff 100644 --- a/content/Translations/Texan/_index.md +++ b/content/Translations/Texan/_index.md @@ -2,16 +2,17 @@ title: Texan description: "The bare minimum for makin' work suck less" weight: 3 +type: docs --- -{{% notice %}} +{{% alert %}} "Continuous delivery improves both delivery performance and quality, and also helps improve culture and reduce burnout and deployment pain." -- Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations -{{% /notice %}} +{{% /alert %}} -![MinimumCD](/images/minimumCD-logo-hex.png?height=150px) +{{< figure src="/images/minimumCD-logo-hex.png" alt="MinimumCD" width="20%" >}} We, [the undersigned](#signatories), reckon that parin' down continuous delivery (CD) to its core is required if we wanna improve the flow of delivery and achieve the outcomes above. While our contexts may vary, there are universal @@ -38,13 +39,13 @@ The minimum activities required for CD are: - The [application pipeline](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract) is the only way to deploy to any environment -- The pipeline decides the releasability of changes. [Whatever it says, goes](../../faq/#why-should-the-pipeline-be-definitive-for-deploy) -- Artifacts created by the pipeline always meet the organization's [definition of deployable](../../faq/#what-do-we-mean-by-definition-of-deployable) -- [Immutable artifact](../../minimumcd/immutable/) (no human changes after commit) +- The pipeline decides the releasability of changes. [Whatever it says, goes](/faq/#why-should-the-pipeline-be-definitive-for-deploy) +- Artifacts created by the pipeline always meet the organization's [definition of deployable](/faq/#what-do-we-mean-by-definition-of-deployable) +- [Immutable artifact](/minimumcd/immutable/) (no human changes after commit) - All feature work stops when the pipeline is red - Production-like test environment - Rollback on-demand -- [Application configuration](../../faq/#what-is-application-configuration) deploys with artifact +- [Application configuration](/faq/#what-is-application-configuration) deploys with artifact ## Continuous Integration @@ -62,7 +63,7 @@ The bare minimums for CI are: ## Trunk-based Development -[Trunk-based development](../../minimumcd/tbd/) is the branchin' pattern we need to meet the definition +[Trunk-based development](/minimumcd/tbd/) is the branchin' pattern we need to meet the definition of CI. It prevents lost work, the risk of corruption that comes from conflictin' changes, and reduces back-and-forth commiseratin' that makes changes bigger. @@ -76,11 +77,11 @@ The minimum activities required for TBD are: ## Why'd we build this? -We wrote that down along with some other stuff to [help y'all out](../../faq/). +We wrote that down along with some other stuff to [help y'all out](/faq/). ## Headin' Down the Trail -Wanna know where to start? Check out some [ideas](../../journey/) that've worked for us. +Wanna know where to start? Check out some [ideas](/journey/) that've worked for us. ## Contributin' diff --git a/content/Translations/_index.md b/content/Translations/_index.md index c47f5f1..9e5f09c 100644 --- a/content/Translations/_index.md +++ b/content/Translations/_index.md @@ -1,7 +1,8 @@ --- title: Translations -description: "" -weight: 10 +linkTitle: "Translations" +type: docs +menu: + main: + weight: 20 --- - -{{% children style="h2" depth="1" description="true" /%}} diff --git a/content/_layout/footer/_index.md b/content/_layout/footer/_index.md deleted file mode 100644 index 8de07f5..0000000 --- a/content/_layout/footer/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -description: Footer -title: Footer ---- - -
-
Licensed MIT
-
diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000..873df98 Binary files /dev/null and b/favicon.png differ diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..6ddbf4a --- /dev/null +++ b/go.mod @@ -0,0 +1,9 @@ +module cd-manifesto + +go 1.22.1 + +require ( + github.com/FortAwesome/Font-Awesome v0.0.0-20240108205627-a1232e345536 // indirect + github.com/google/docsy v0.9.1 // indirect + github.com/twbs/bootstrap v5.3.3+incompatible // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..c9a1516 --- /dev/null +++ b/go.sum @@ -0,0 +1,7 @@ +github.com/FortAwesome/Font-Awesome v0.0.0-20240108205627-a1232e345536 h1:LFS9LpoSZYhxQ6clU0NIVbaGR08BlxAs4b+9W+7IGVQ= +github.com/FortAwesome/Font-Awesome v0.0.0-20240108205627-a1232e345536/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/google/docsy v0.9.1 h1:+jqges1YCd+yHeuZ1BUvD8V8mEGVtPxULg5j/vaJ984= +github.com/google/docsy v0.9.1/go.mod h1:saOqKEUOn07Bc0orM/JdIF3VkOanHta9LU5Y53bwN2U= +github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= +github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ= +github.com/twbs/bootstrap v5.3.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= diff --git a/hugo.toml b/hugo.toml index 28fef6a..589d752 100644 --- a/hugo.toml +++ b/hugo.toml @@ -1,81 +1,126 @@ -baseURL = 'https://minimumcd.org/' -defaultContentLanguage = "en" -languageCode = "en-US" -title = 'MinimumCD.org' +baseURL = 'https://minimumcd.org/' +title = 'Minimum CD' -theme = "docport" +enableGitInfo = true +enableRobotsTXT = true -pygmentsCodeFences = true -pygmentsStyle = "monokai" +disableKinds = [ + "taxonomy", + "term" +] -defaultContentLanguageInSubdir = false -enableMissingTranslationPlaceholders = false +# You can add your own taxonomies +[taxonomies] + category = "categories" + tag = "tags" -googleanalytics = "G-KVLFMQXEF1" +# Configure how URLs look like per section. +[permalinks] + blog = "/:section/:year/:month/:day/:slug/" -disableKinds = [ - "RSS", - "taxonomy" -] +# Image processing configuration. +[imaging] + anchor = "Smart" + quality = 75 + resampleFilter = "CatmullRom" -# Keep this as is +[markup] + [markup.goldmark] + [markup.goldmark.parser.attribute] + block = true +[markup.goldmark.renderer] + unsafe = true +[markup.highlight] + # See a complete list of available styles at https://xyproto.github.io/splash/docs/all.html + style = "tango" + # Uncomment if you want your chosen highlight style used for code blocks without a specified language + # guessSyntax = "true" + + # Everything below this are Site Params + +# Comment out if you don't want the "print entire section" link enabled. [outputs] - home = [ + section = [ "HTML", - "JSON", - "RSS" + "RSS", + "print" ] -# Site params [params] - color_main = "#477bbf" - color_second = "#b30000" - disableNavChevron = false # set true to hide next/prev chevron, default is false - disableSearch = false # default is false - menushortcutsnewtab = false # set true to open shortcuts links to a new tab/window - ordersectionsby = "weight" # ordersectionsby = "title" + # gcs_engine_id = "c68e6136e96d14a0f" + homePage = "/minimumcd" + + github_branch = "master" + github_project_repo = "https://github.com/Minimum-CD/cd-manifesto" + github_repo = "https://github.com/Minimum-CD/cd-manifesto" + + # Google Custom Search Engine ID. Remove or comment out to disable search. + # gcs_engine_id = "d72aa9b2712488cc3" + + # Enable Lunr.js offline search + offlineSearch = true + + prism_syntax_highlighting = true + pygmentsCodeFences = true + pygmentsStyle = "tango" + pygmentsUseClasses = false + pygmentsUseClassic = false custom_js = [ "https://buttons.github.io/buttons.js" ] - editURL = "https://github.com/Minimum-CD/cd-manifesto/blob/master/content/" - enableGitInfo = true - github_repo = 'Minimum-CD/cd-manifesto' - logo = '/images/minimumCD-logo-hex.png' - -[mediaTypes] - [mediaTypes."application/netlifyconfig"] - suffixes = [ - "yml" + + [params.taxonomy] + # set taxonomyCloud = [] to hide taxonomy clouds + taxonomyCloud = [ + "categories", + "tags" ] -[outputFormats] - [outputFormats.netlifyyaml] - isHTML = false - isPlainText = true - mediaType = "application/netlifyconfig" - notAlternative = true + # If used, must have same length as taxonomyCloud + taxonomyCloudTitle = [ + "Categories", + "Tag Cloud" + ] -[markup.goldmark.renderer] - unsafe = true + # set taxonomyPageHeader = [] to hide taxonomies on the page headers + taxonomyPageHeader = [ + "categories", + "tags" + ] -# Code highlight configuration -[markup.highlight] - codeFences = true - guessSyntax = true - hl_Lines = "" - lineNoStart = 1 - lineNos = false - lineNumbersInTable = true - noClasses = true - style = "monokai" - tabWidth = 2 - -[[menu.shortcuts]] - identifier = "ds" - name = "Github" - url = "https://github.com/Minimum-CD/cd-manifesto" - weight = 10 - -[create-footer-md] - other = "Licensed MIT" + [params.copyright] + authors = "MinimumCD Authors | [CC BY 4.0](https://creativecommons.org/licenses/by/4.0) | " + from_year = 2020 + + [params.ui] + breadcrumb_disable = false + navbar_logo = '/icons/logo.svg' + navbar_translucent_over_cover_disable = false + show_nav_title = true + sidebar_cache_limit = 10 + sidebar_menu_compact = true + sidebar_menu_foldable = true + sidebar_search_disable = false + + [params.links] + [[params.links.developer]] + desc = "Contribute!" + icon = "fab fa-github" + name = "GitHub" + url = "https://github.com/Minimum-CD/cd-manifesto" + + [params.ui.feedback] + enable = false + + [params.ui.readingtime] + enable = false + +[services] + [services.googleAnalytics] + id = "G-KVLFMQXEF1" + +[module] + proxy = "direct" + [[module.imports]] + path = "github.com/google/docsy" diff --git a/layouts/home.html b/layouts/home.html new file mode 100644 index 0000000..e7514fb --- /dev/null +++ b/layouts/home.html @@ -0,0 +1,17 @@ +{{ define "main" }} + {{ $site := . }} {{/* Save the global context */}} + {{ if not + .Site.Params.homePage + }} + {{ with .Content }}{{ . }}{{ end }} + {{ else }} + {{ with .Site.Params.homePage }} + + + + + + + {{ end }} + {{ end }} +{{ end }} diff --git a/layouts/partials/body-header.html b/layouts/partials/body-header.html deleted file mode 100644 index 5a8e8fc..0000000 --- a/layouts/partials/body-header.html +++ /dev/null @@ -1,25 +0,0 @@ -
- {{if not (in .Params.hide "nav")}} -
- -
- {{end}} - -
- {{- $defaultheader := printf "Site logo %s" .Site.BaseURL .Site.Params.logo .Site.Title -}} - {{- partial "_mdinclude.html" (dict "name" "header" "context" . "tip" $defaultheader ) -}} -
- - {{- with .Site.Params.github_repo }} - - {{- end}} -
diff --git a/layouts/partials/head.html b/layouts/partials/head.html index f431b7c..3a1e82e 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -1,7 +1,105 @@ -{{ range .Site.Params.custom_css -}} - -{{- end }} - -{{ range .Site.Params.custom_js -}} + + +{{ range .AlternativeOutputFormats -}} + +{{ end -}} +{{ $outputFormat := partial "outputformat.html" . -}} +{{ if and + hugo.IsProduction (ne $outputFormat "print") +-}} + +{{ else -}} + +{{ end -}} +{{ partialCached "favicons.html" . }} + + {{- if .IsHome -}} + {{ .Site.Title -}} + {{ else -}} + {{ with .Title }}{{ . }} |{{ end -}} {{ .Site.Title -}} + {{ end -}} + + +{{ template "_internal/opengraph.html" . -}} +{{ template + "_internal/schema.html" . +-}} +{{ template "_internal/twitter_cards.html" . -}} +{{ partialCached "head-css.html" . "asdf" -}} + +{{ if .Site.Params.offlineSearch -}} + +{{ end -}} +{{ with .Site.Params.custom_js }} + {{ range . }} -{{- end }} + {{ end }} +{{ end }} +{{ if .Site.Params.prism_syntax_highlighting -}} + +{{ end -}} +{{ template + "algolia/head" . +-}} +{{ partial "hooks/head-end.html" . -}} +{{/* To comply with + GDPR, cookie consent scripts places in head-end must execute before Google + Analytics is enabled */ +-}} +{{ if hugo.IsProduction -}} + {{ $enableGtagForUniversalAnalytics := not + .Site.Params.disableGtagForUniversalAnalytics + -}} + {{ if (or + $enableGtagForUniversalAnalytics (hasPrefix + .Site.Config.Services.GoogleAnalytics.ID "G-")) + -}} + {{ template + "_internal/google_analytics_gtag.html" . + -}} + {{ else -}} + {{ template + "_internal/google_analytics_async.html" . + -}} + {{ end -}} +{{ end -}} +{{ define + "algolia/head" +-}} + {{ if and .Site.Params.search (isset .Site.Params.search + "algolia") + -}} + + {{ end -}} + {{ if ne .Site.Params.algolia_docsearch nil -}} + {{ warnf `Config + 'params.algolia_docsearch' is deprecated: use 'params.search.algolia' For + details, see + https://www.docsy.dev/docs/adding-content/search/#algolia-docsearch.` + -}} + {{ end -}} +{{ end -}} diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html new file mode 100644 index 0000000..7b26df2 --- /dev/null +++ b/layouts/partials/navbar.html @@ -0,0 +1,123 @@ +{{ $cover := and + (.HasShortcode "blocks/cover") + (not .Site.Params.ui.navbar_translucent_over_cover_disable) +-}} +{{ $baseURL := urls.Parse $.Site.Params.Baseurl -}} + +{{ $title := "" }} +{{ with .Site.Params.ui.show_nav_title }} + {{- if eq . true -}} + {{- $title = $.Site.Params.title -}} + {{ end }} +{{ end }} + + + diff --git a/layouts/partials/section-index.html b/layouts/partials/section-index.html new file mode 100644 index 0000000..cd133a3 --- /dev/null +++ b/layouts/partials/section-index.html @@ -0,0 +1,78 @@ +
+ {{ $parent := .Page }} + {{ $pages := (where .Site.Pages "Section" .Section).ByWeight }} + {{ $pages = (where $pages "Type" "!=" "search") }} + {{ $pages = (where $pages ".Params.hide_summary" "!=" true) }} + {{ $pages = (where $pages ".Parent" "!=" nil) }} + {{ $pages = (where $pages ".Parent.File" "!=" nil) }} + + {{ if and $parent.File (not (eq $parent.File.UniqueID nil)) }} + + + {{ $pages = (where $pages ".Parent.File.UniqueID" "==" $parent.File.UniqueID) }} + + {{ $summaryLength := cond (isset .Page.Site.Params "childPageSummaryLength") .Page.Site.Params.childPageSummaryLength 80 }} + + {{ $noPageIndex := cond (isset .Page.Site.Params "noPageIndex") .Page.Site.Params.noPageIndex false }} + + {{ if or $noPageIndex (or $parent.Params.no_list (eq (len $pages) 0)) }} + {{/* If no_list is true or we don't have subpages we don't show a list of subpages */}} + {{ else if $parent.Params.simple_list }} + {{/* If simple_list is true we show a bulleted list of subpages */}} + {{ template "header" }} + + {{ else }} + {{/* Otherwise we show a nice formatted list of subpages with page descriptions */}} + {{ template "header" }} +
+ {{ range $pages }} + {{ $manualLink := cond (isset .Params "manuallink") .Params.manualLink ( cond (isset .Params "manuallinkrelref") (relref . .Params.manualLinkRelref) .RelPermalink) }} + + {{ end }} +
+ {{ end }} +
+{{ end }} + {{ define "header" }} +
+
Section Index
+ {{ end }} + \ No newline at end of file diff --git a/linkinator.config.json b/linkinator.config.json new file mode 100644 index 0000000..df72eb7 --- /dev/null +++ b/linkinator.config.json @@ -0,0 +1,7 @@ +{ + "recurse": true, + "skip": "^(https://.*linkedin.com),^(https://.*youtube.com),^(https://.*twitter.com), ^(https://.*github.com)", + "verbosity": "error", + "url-rewrite-search": "https://minimumcd.org/", + "url-rewrite-replace": "public/" +} diff --git a/logo.svg b/logo.svg new file mode 100644 index 0000000..0b80167 --- /dev/null +++ b/logo.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/minimumCD-Tagline.png b/minimumCD-Tagline.png new file mode 100644 index 0000000..afc00ca Binary files /dev/null and b/minimumCD-Tagline.png differ diff --git a/minimumCD-logo-hex.png b/minimumCD-logo-hex.png new file mode 100644 index 0000000..8f3ce58 Binary files /dev/null and b/minimumCD-logo-hex.png differ diff --git a/netlify.toml b/netlify.toml index 223d36b9..49db84e 100644 --- a/netlify.toml +++ b/netlify.toml @@ -3,4 +3,5 @@ publish = "public" [build.environment] + GO_VERSION = "1.22.1" HUGO_VERSION = "0.122.0" diff --git a/package-lock.json b/package-lock.json index ea41702..868bfa0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,49 +9,91 @@ "version": "1.0.0", "license": "CC-BY-4.0", "devDependencies": { - "husky": "^8.0.3", - "linkinator": "^5.0.2", - "markdownlint-cli": "^0.37.0" - }, - "engines": { - "node": "^16 || ^18" + "autoprefixer": "^10.4.18", + "hugo-extended": "0.123.8", + "husky": "^9.0.11", + "linkinator": "^6.0.4", + "markdownlint-cli": "^0.39.0", + "postcss-cli": "^11.0.0", + "prettier": "^3.2.5", + "prettier-plugin-go-template": "^0.0.15", + "start-server-and-test": "^2.0.3" } }, "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -66,6 +108,21 @@ "node": ">=4" } }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -83,6 +140,41 @@ "node": ">=12" } }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -93,28 +185,85 @@ "node": ">=14" } }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dev": true, + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", "dev": true }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, "dependencies": { - "debug": "4" + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 14" } }, "node_modules/ansi-regex": { @@ -130,30 +279,94 @@ } }, "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=4" + "node": ">= 8" } }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.18", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", + "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001591", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "node_modules/balanced-match": { @@ -162,6 +375,51 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -171,58 +429,329 @@ "balanced-match": "^1.0.0" } }, - "node_modules/camelcase": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "dev": true, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "dev": true, + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001597", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz", + "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/careful-downloader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/careful-downloader/-/careful-downloader-3.0.0.tgz", + "integrity": "sha512-5KMIPa0Yoj+2tY6OK9ewdwcPebp+4XS0dMYvvF9/8fkFEfvnEpWmHWYs9JNcZ7RZUvY/v6oPzLpmmTzSIbroSA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "decompress": "^4.2.1", + "fs-extra": "^11.1.1", + "got": "^12.6.0", + "is-path-inside": "^4.0.0", + "tempy": "^3.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "engines": { - "node": ">=14.16" + "dependencies": { + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/camelcase-keys": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-8.0.2.tgz", - "integrity": "sha512-qMKdlOfsjlezMqxkUGGMaWWs17i2HoL15tM+wtx8ld4nLrUwU58TFdvyGOz/piNP842KeO8yXvggVQSdQ828NA==", + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "camelcase": "^7.0.0", - "map-obj": "^4.3.0", - "quick-lru": "^6.1.1", - "type-fest": "^2.13.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/camelcase-keys/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "engines": { - "node": ">=12.20" + "dependencies": { + "ansi-regex": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/color-convert": { @@ -240,15 +769,33 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", - "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "dev": true, "engines": { "node": ">=16" } }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -263,6 +810,33 @@ "node": ">= 8" } }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dev": true, + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -280,36 +854,129 @@ } } }, - "node_modules/decamelize": { + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-response": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz", - "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decamelize-keys": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-2.0.1.tgz", - "integrity": "sha512-nrNeSCtU2gV3Apcmn/EZ+aR20zKDuNDStV67jPiupokD3sOAFeMzslLMCFdKv1sPqzwoe5ZUhsSW9IAVgKSL/Q==", + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, - "dependencies": { - "decamelize": "^6.0.0", - "map-obj": "^4.3.0", - "quick-lru": "^6.1.1", - "type-fest": "^3.1.0" - }, "engines": { - "node": ">=14.16" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dev": true, + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -319,6 +986,33 @@ "node": ">=4.0.0" } }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -374,18 +1068,39 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, + "node_modules/electron-to-chromium": { + "version": "1.4.699", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.699.tgz", + "integrity": "sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw==", + "dev": true + }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -398,35 +1113,167 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "dependencies": { - "is-arrayish": "^0.2.1" + "pend": "~1.2.0" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=4" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, "node_modules/find-up": { "version": "6.3.0", @@ -444,6 +1291,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/foreground-child": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", @@ -460,31 +1327,125 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fs.realpath": { + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "dev": true, + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", + "dev": true + }, + "node_modules/fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "dev": true }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gaxios": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.1.3.tgz", - "integrity": "sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.3.0.tgz", + "integrity": "sha512-p+ggrQw3fBwH2F5N/PAI4k/G/y1art5OxKpb2J2chwNNHM4hHuAOtivjPuirMF4KNKwTTUal/lPfL2+7h2mEcg==", "dev": true, "dependencies": { "extend": "^3.0.2", - "https-proxy-agent": "^5.0.0", + "https-proxy-agent": "^7.0.1", "is-stream": "^2.0.0", "node-fetch": "^2.6.9" }, "engines": { - "node": ">=12" + "node": ">=14" + } + }, + "node_modules/gaxios/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-stdin": { @@ -499,16 +1460,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/glob": { - "version": "9.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", - "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^8.0.2", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -517,27 +1495,81 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/globby": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", + "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", + "dev": true, + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" }, "engines": { - "node": ">= 0.4.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -547,22 +1579,46 @@ "node": ">=4" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "dependencies": { - "lru-cache": "^7.5.1" + "lru-cache": "^6.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/htmlparser2": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.0.0.tgz", - "integrity": "sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -578,59 +1634,120 @@ "entities": "^4.5.0" } }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", "dev": true, "dependencies": { - "agent-base": "6", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">= 14" + } + }, + "node_modules/hugo-extended": { + "version": "0.123.8", + "resolved": "https://registry.npmjs.org/hugo-extended/-/hugo-extended-0.123.8.tgz", + "integrity": "sha512-EudplT9MZRhDemli+8SleR8SuxBvwdaf4mCCd1yFUcV+YtM1M92Doc2+AadQn+Mf+znamk2vEIM5Q/YUKvQkeg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "careful-downloader": "^3.0.0", + "log-symbols": "^5.1.0", + "read-pkg-up": "^9.1.0" + }, + "bin": { + "hugo": "lib/cli.js", + "hugo-extended": "lib/cli.js" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" } }, "node_modules/husky": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", "dev": true, "bin": { - "husky": "lib/bin.js" + "husky": "bin.mjs" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/typicode" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" } }, - "node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/ini": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", - "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -642,48 +1759,114 @@ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-plain-obj": { + "node_modules/is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -708,6 +1891,19 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/joi": { + "version": "17.12.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", + "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -726,6 +1922,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -733,18 +1935,51 @@ "dev": true }, "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", "dev": true }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": "> 0.8" + } + }, + "node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { @@ -754,28 +1989,28 @@ "dev": true }, "node_modules/linkify-it": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", - "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, "dependencies": { - "uc.micro": "^1.0.1" + "uc.micro": "^2.0.0" } }, "node_modules/linkinator": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/linkinator/-/linkinator-5.0.2.tgz", - "integrity": "sha512-bkcgC070cpNfwWySimU2mRWxtMcrVsWR+rD89O+DSqaPxI0k1nd8Cf8GNyLkqS28YOwSYTMg/CpV+k0MxmiRkQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/linkinator/-/linkinator-6.0.4.tgz", + "integrity": "sha512-gxZ9ePUBeoaCk29p+2gAwrRIVnKOqAV8ZVCEM8N7MvpwbccDBQiKjXFyS6nQx56K1CCZLboan2i5iJfpWCsnSQ==", "dev": true, "dependencies": { "chalk": "^5.0.0", "escape-html": "^1.0.3", - "gaxios": "^5.0.0", - "glob": "^9.3.2", + "gaxios": "^6.0.0", + "glob": "^10.3.10", "htmlparser2": "^9.0.0", - "marked": "^7.0.4", - "meow": "^12.0.1", - "mime": "^3.0.0", + "marked": "^10.0.0", + "meow": "^13.0.0", + "mime": "^4.0.0", "server-destroy": "^1.0.1", "srcset": "^5.0.0" }, @@ -783,7 +2018,7 @@ "linkinator": "build/src/cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/locate-path": { @@ -801,81 +2036,122 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", "dev": true, + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "dev": true, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/markdown-it": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", - "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", + "node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "dev": true, "dependencies": { - "argparse": "^2.0.1", - "entities": "~3.0.1", - "linkify-it": "^4.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" + "pify": "^3.0.0" }, - "bin": { - "markdown-it": "bin/markdown-it.js" + "engines": { + "node": ">=4" } }, - "node_modules/markdown-it/node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, "engines": { - "node": ">=0.12" + "node": ">=4" + } + }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, + "node_modules/markdown-it": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.0.0.tgz", + "integrity": "sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.0.0" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "bin": { + "markdown-it": "bin/markdown-it.mjs" } }, "node_modules/markdownlint": { - "version": "0.31.1", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.31.1.tgz", - "integrity": "sha512-CKMR2hgcIBrYlIUccDCOvi966PZ0kJExDrUi1R+oF9PvqQmCrTqjOsgIvf2403OmJ+CWomuzDoylr6KbuMyvHA==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.33.0.tgz", + "integrity": "sha512-4lbtT14A3m0LPX1WS/3d1m7Blg+ZwiLq36WvjQqFGsX3Gik99NV+VXp/PW3n+Q62xyPdbvGOCfjPqjW+/SKMig==", "dev": true, "dependencies": { - "markdown-it": "13.0.1", - "markdownlint-micromark": "0.1.7" + "markdown-it": "14.0.0", + "markdownlint-micromark": "0.1.8" }, "engines": { - "node": ">=16" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/DavidAnson" } }, "node_modules/markdownlint-cli": { - "version": "0.37.0", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.37.0.tgz", - "integrity": "sha512-hNKAc0bWBBuVhJbSWbUhRzavstiB4o1jh3JeSpwC4/dt6eJ54lRfYHRxVdzVp4qGWBKbeE6Pg490PFEfrKjqSg==", + "version": "0.39.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.39.0.tgz", + "integrity": "sha512-ZuFN7Xpsbn1Nbp0YYkeLOfXOMOfLQBik2lKRy8pVI/llmKQ2uW7x+8k5OMgF6o7XCsTDSYC/OOmeJ+3qplvnJQ==", "dev": true, "dependencies": { - "commander": "~11.0.0", + "commander": "~11.1.0", "get-stdin": "~9.0.0", - "glob": "~10.3.4", - "ignore": "~5.2.4", + "glob": "~10.3.10", + "ignore": "~5.3.0", "js-yaml": "^4.1.0", - "jsonc-parser": "~3.2.0", - "markdownlint": "~0.31.1", + "jsonc-parser": "~3.2.1", + "markdownlint": "~0.33.0", "minimatch": "~9.0.3", "run-con": "~1.3.2" }, @@ -883,133 +2159,140 @@ "markdownlint": "markdownlint.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, - "node_modules/markdownlint-cli/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "node_modules/markdownlint-micromark": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.8.tgz", + "integrity": "sha512-1ouYkMRo9/6gou9gObuMDnvZM8jC/ly3QCFQyoSPCS2XV1ZClU0xpKbL1Ar3bWWRT1RnBZkWUEiNKrI2CwiBQA==", "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/DavidAnson" } }, - "node_modules/markdownlint-cli/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/marked": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-10.0.0.tgz", + "integrity": "sha512-YiGcYcWj50YrwBgNzFoYhQ1hT6GmQbFG8SksnYJX1z4BXTHSOrz1GB5/Jm2yQvMg4nN1FHP4M6r03R10KrVUiA==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" + "bin": { + "marked": "bin/marked.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 18" + } + }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true + }, + "node_modules/meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "dev": true, + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/markdownlint-cli/node_modules/minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 8" } }, - "node_modules/markdownlint-micromark": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.7.tgz", - "integrity": "sha512-BbRPTC72fl5vlSKv37v/xIENSRDYL/7X/XoFzZ740FGEbs9vZerLrIkFRY0rv7slQKxDczToYuMmqQFN61fi4Q==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, "engines": { - "node": ">=16" + "node": ">=8.6" } }, - "node_modules/marked": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/marked/-/marked-7.0.5.tgz", - "integrity": "sha512-lwNAFTfXgqpt/XvK17a/8wY9/q6fcSPZT1aP6QW0u74VwaJF/Z9KbRcX23sWE4tODM+AolJNcUtErTkgOeFP/Q==", + "node_modules/mime": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.1.tgz", + "integrity": "sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==", "dev": true, + "funding": [ + "https://github.com/sponsors/broofa" + ], "bin": { - "marked": "bin/marked.js" + "mime": "bin/cli.js" }, "engines": { - "node": ">= 16" + "node": ">=16" } }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "dev": true + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "node_modules/meow": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.0.1.tgz", - "integrity": "sha512-/QOqMALNoKQcJAOOdIXjNLtfcCdLXbMFyB1fOOPdm6RzfBTlsuodOCTBDjVbeUSmgDQb8UI2oONqYGtq1PKKKA==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.2", - "camelcase-keys": "^8.0.2", - "decamelize": "^6.0.0", - "decamelize-keys": "^2.0.1", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^5.0.0", - "read-pkg-up": "^9.1.0", - "redent": "^4.0.0", - "trim-newlines": "^5.0.0", - "type-fest": "^3.9.0", - "yargs-parser": "^21.1.1" + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" }, "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "bin": { - "mime": "cli.js" - }, "engines": { - "node": ">=10.0.0" + "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", "dev": true, "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/minimatch": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -1030,27 +2313,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/ms": { @@ -1059,10 +2328,29 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "dependencies": { "whatwg-url": "^5.0.0" @@ -1079,19 +2367,109 @@ } } }, - "node_modules/normalize-package-data": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", - "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "mimic-fn": "^2.1.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "dev": true, + "engines": { + "node": ">=12.20" } }, "node_modules/p-limit": { @@ -1176,36 +2554,322 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", - "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==", + "node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "dev": true, "engines": { - "node": "14 || >=16.14" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "dependencies": { + "through": "~2.3" } }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-cli": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-11.0.0.tgz", + "integrity": "sha512-xMITAI7M0u1yolVcXJ9XTZiO9aO49mcoKQy6pCDFdMh9kGqhzLVpWxeD/32M/QBmkhcGypZFFOLNLmIW4Pg4RA==", + "dev": true, + "dependencies": { + "chokidar": "^3.3.0", + "dependency-graph": "^0.11.0", + "fs-extra": "^11.0.0", + "get-stdin": "^9.0.0", + "globby": "^14.0.0", + "picocolors": "^1.0.0", + "postcss-load-config": "^5.0.0", + "postcss-reporter": "^7.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "slash": "^5.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "postcss": "index.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-load-config": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.0.3.tgz", + "integrity": "sha512-90pBBI5apUVruIEdCxZic93Wm+i9fTrp7TXbgdUCH+/L+2WnfpITSpq5dFU/IPvbv7aNiMlQISpUkAm3fEcvgQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/postcss-reporter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.1.0.tgz", + "integrity": "sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "picocolors": "^1.0.0", + "thenby": "^1.3.4" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-go-template": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/prettier-plugin-go-template/-/prettier-plugin-go-template-0.0.15.tgz", + "integrity": "sha512-WqU92E1NokWYNZ9mLE6ijoRg6LtIGdLMePt2C7UBDjXeDH9okcRI3zRqtnWR4s5AloiqyvZ66jNBAa9tmRY5EQ==", + "dev": true, + "dependencies": { + "ulid": "^2.3.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "prettier": "^3.0.0" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true, + "engines": { + "node": ">=6" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/quick-lru": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.1.tgz", - "integrity": "sha512-S27GBT+F0NTRiehtbrgaSE1idUAJ5bX8dPAQTdylEyNlrdcH5X4Lz7Edz3DYzecbsCluD5zO8ZNEe04z3D3u6Q==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, "node_modules/read-pkg": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz", @@ -1241,104 +2905,169 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=10" + "node": ">=8.10.0" } }, - "node_modules/read-pkg/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", "dev": true, "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "lowercase-keys": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "node_modules/run-con": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.3.2.tgz", + "integrity": "sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==", "dev": true, "dependencies": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" - }, - "engines": { - "node": ">=12" + "deep-extend": "^0.6.0", + "ini": "~4.1.0", + "minimist": "^1.2.8", + "strip-json-comments": "~3.1.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "run-con": "cli.js" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" } }, - "node_modules/run-con": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.3.2.tgz", - "integrity": "sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~4.1.0", - "minimist": "^1.2.8", - "strip-json-comments": "~3.1.1" + "commander": "^2.8.1" }, "bin": { - "run-con": "cli.js" + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" } }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, "node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -1401,6 +3130,28 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", @@ -1412,9 +3163,9 @@ } }, "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", "dev": true }, "node_modules/spdx-expression-parse": { @@ -1428,15 +3179,27 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", "dev": true }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, "node_modules/srcset": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-5.0.0.tgz", - "integrity": "sha512-SqEZaAEhe0A6ETEa9O1IhSPC7MdvehZtCnTR0AftXk3QhY2UNgb+NApFOUPZILXk/YTDfFxMTNJOBpzrJsEdIA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-5.0.1.tgz", + "integrity": "sha512-/P1UYbGfJVlxZag7aABNRrulEXAwCSDo7fklafOQrantuPTDmYgijJMks2zusPCVzgW9+4P69mq7w6pYuZpgxw==", "dev": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -1445,6 +3208,54 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/start-server-and-test": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.3.tgz", + "integrity": "sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==", + "dev": true, + "dependencies": { + "arg": "^5.0.2", + "bluebird": "3.7.2", + "check-more-types": "2.24.0", + "debug": "4.3.4", + "execa": "5.1.1", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "7.2.0" + }, + "bin": { + "server-test": "src/bin/start.js", + "start-server-and-test": "src/bin/start.js", + "start-test": "src/bin/start.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -1541,19 +3352,22 @@ "node": ">=8" } }, - "node_modules/strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "dev": true, "dependencies": { - "min-indent": "^1.0.1" - }, + "is-natural-number": "^4.0.1" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/strip-json-comments": { @@ -1580,40 +3394,212 @@ "node": ">=4" } }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/temp-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", + "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", + "dev": true, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/tempy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", + "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", + "dev": true, + "dependencies": { + "is-stream": "^3.0.0", + "temp-dir": "^3.0.0", + "type-fest": "^2.12.2", + "unique-string": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/thenby": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", + "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, - "node_modules/trim-newlines": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-5.0.0.tgz", - "integrity": "sha512-kstfs+hgwmdsOadN3KgA+C68wPJwnZq4DN6WMDCvZapDWEF34W2TyPKN2v2+BJnZgIz5QOfxFeldLyYvdgRAwg==", + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, "engines": { - "node": ">=14.16" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/type-fest": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.12.0.tgz", - "integrity": "sha512-qj9wWsnFvVEMUDbESiilKeXeHL7FwwiFcogfhfyjmvT968RXSvnl23f1JOClTHYItsi7o501C/7qVllscUP3oA==", + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true + }, + "node_modules/ulid": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", + "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "dev": true, + "bin": { + "ulid": "bin/cli.js" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, "engines": { - "node": ">=14.16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dev": true, + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, "node_modules/validate-npm-package-license": { @@ -1626,6 +3612,25 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/wait-on": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", + "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", + "dev": true, + "dependencies": { + "axios": "^1.6.1", + "joi": "^17.11.0", + "lodash": "^4.17.21", + "minimist": "^1.2.8", + "rxjs": "^7.8.1" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -1766,16 +3771,28 @@ "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" } }, "node_modules/yallist": { @@ -1784,6 +3801,36 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/yaml": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/yargs-parser": { "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", @@ -1793,6 +3840,57 @@ "node": ">=12" } }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yocto-queue": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", diff --git a/package.json b/package.json index 96be2b9..7d1ba6d 100644 --- a/package.json +++ b/package.json @@ -26,21 +26,26 @@ "author": "MinimumCD.org", "main": "hugo serve", "scripts": { - "build": "hugo", - "link-check": "npm run build && linkinator ./public --config .linkinator.config.json ", + "build": "hugo --minify", + "build:clean": "rm -rf public && npm run build", + "link-check": "npm run build:clean && linkinator --recurse public/ --config ./linkinator.config.json", "lint": "markdownlint ./content/**/*.md", "lint:fix": "markdownlint -f ./content/**/*.md", - "prepare": "husky install", + "prepare": "husky", "start": "hugo serve", - "test": "npm run lint && npm run link-check", - "test:ci": "rm -rf public && hugo && npx check-html-links public" + "test": "npm run lint", + "test:links": "start-server-and-test start 1313 link-check", + "update": "hugo mod get -u ./... && hugo mod tidy && npx npm-check-updates -u && npm install" }, "devDependencies": { - "husky": "^8.0.3", - "linkinator": "^5.0.2", - "markdownlint-cli": "^0.37.0" - }, - "engines": { - "node": "^16 || ^18" + "autoprefixer": "^10.4.18", + "hugo-extended": "0.123.8", + "husky": "^9.0.11", + "linkinator": "^6.0.4", + "markdownlint-cli": "^0.39.0", + "postcss-cli": "^11.0.0", + "prettier": "^3.2.5", + "prettier-plugin-go-template": "^0.0.15", + "start-server-and-test": "^2.0.3" } } diff --git a/settings.json b/settings.json new file mode 100644 index 0000000..4dd3d89 --- /dev/null +++ b/settings.json @@ -0,0 +1,6 @@ +{ + "cSpell.words": [ + "isset", + "pygments" + ] +} diff --git a/static/css/style.css b/static/css/style.css deleted file mode 100644 index cec9b92..0000000 --- a/static/css/style.css +++ /dev/null @@ -1,15 +0,0 @@ -body header, header a, header nav { - display: flex; - align-items: center; - justify-content: center; -} - -@media (max-width: 936px) { - body header div.burger { - display: flex; - } -} - -.nobr { - white-space: nowrap; -} diff --git a/static/images/minimumCD-logo-hex.webp b/static/images/minimumCD-logo-hex.webp new file mode 100644 index 0000000..9282289 Binary files /dev/null and b/static/images/minimumCD-logo-hex.webp differ diff --git a/static/images/minimumCD-logo-sm.png b/static/images/minimumCD-logo-sm.png new file mode 100644 index 0000000..8f3ce58 Binary files /dev/null and b/static/images/minimumCD-logo-sm.png differ diff --git a/themes/docport/.gitignore b/themes/docport/.gitignore deleted file mode 100644 index 1d3dc76..0000000 --- a/themes/docport/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -.DS_Store -/exampleSite/public/ -/hugo-0* -/notes.md -/hugoBasicExample/ -/.idea/ -/docdock/ diff --git a/themes/docport/LICENSE b/themes/docport/LICENSE deleted file mode 100644 index 103bca1..0000000 --- a/themes/docport/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -# MIT License - -Copyright (c) 2020 Valere JEANTET - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/themes/docport/LICENSE.md b/themes/docport/LICENSE.md deleted file mode 100644 index 3a91619..0000000 --- a/themes/docport/LICENSE.md +++ /dev/null @@ -1,20 +0,0 @@ -# The MIT License (MIT) - -Copyright (c) 2020 Valere JEANTET - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/docport/README.md b/themes/docport/README.md deleted file mode 100644 index 1c471e2..0000000 --- a/themes/docport/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# README - -## Hugo docPort Theme - -DocPort, a professional documentation theme built for [Hugo](https://gohugo.io/). -it provides a simple navigation, automatic search engine, a high level of configuration and a bunch of [shortcodes](https://docport.netlify.app/shortcodes/) crafted for documentation (attachment, presentations, child pages, notice, alerts, diagrams...). - -This project is actively being maintained, and integrate easily with netlify CMS for static content authoring without leaving the browser. - -![Overview](https://github.com/vjeantet/hugo-theme-docport/raw/master/images/tn2.png) - -## Demo - -Visit the [theme documentation](http://docport.netlify.com/) to see what is going on. It is actually built with this theme. - -## Quick Start - -- Add the repository into your Hugo Project repository as a submodule, `git submodule add https://github.com/vjeantet/hugo-theme-docport.git themes/hugo-theme-docport.` -- Configure your `config.toml`. You may the prepared one for this theme. The `config.toml` inside the exampleSite is also a good reference. -- Build your site with `hugo server` and see the result at . - -More on installation methods exist, see more information in the [live demo website](https://docport.netlify.app/getting-start/installation/) - -## Documentation - -DocPort has its own user guide - -## License - -DocPort is licensed under the MIT license, see the LICENSE.md file for details. - -## Maintenance - -This theme is maintained by its author Valère JEANTET with the help from these awesome [contributors](https://docport.netlify.app/docport-theme/credits/). - -## Credits - -Many thanks to - -- @matcornic for its inspiration and OpenSource spirit ! . See his great theme [Hugo Learn Theme](https://github.com/matcornic/hugo-theme-learn) -- all [docdock theme](https://github.com/vjeantet/hugo-theme-docdock) contributors and forkers. - -This theme is mainly based on their work ! - -### See Also - -- [Visit the documentation](https://docport.netlify.app/) -- [Hugo docs](https://gohugo.io/getting-started/configuration/) -- [Git submodules](https://git-scm.com/docs/git-submodule) diff --git a/themes/docport/archetypes/default.md b/themes/docport/archetypes/default.md deleted file mode 100644 index fdf72a6..0000000 --- a/themes/docport/archetypes/default.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "{{ replace .TranslationBaseName "-" " " | title }}" -date: {{ .Date }} -description: "" -draft: true - -subpage: false - -hide: -- header -- nav -- breadcrumb -- footer -- nextpage ---- - -Lorem Ipsum. -Notice `draft` is set to true. diff --git a/themes/docport/archetypes/slide.md b/themes/docport/archetypes/slide.md deleted file mode 100644 index e40a913..0000000 --- a/themes/docport/archetypes/slide.md +++ /dev/null @@ -1,46 +0,0 @@ -+++ -title = "Slide title" -type="slide" - -theme = "league" -[revealOptions] -transition= 'concave' -controls= true -progress= true -history= true -center= true -+++ - -# Slide 1 - -___ - -## Slide 1.1 - -- Turn off alarm -- Get out of bed - -___ - -## Slide 1.2 - -- Eat eggs -- Drink coffee - ---- - -# Slide 2 - -___ - -## Slide 2.1 - -- Eat spaghetti -- Drink wine - -___ - -## Slide 2.2 - -- Get in bed -- Count sheep \ No newline at end of file diff --git a/themes/docport/assets/sass/checklist.scss b/themes/docport/assets/sass/checklist.scss deleted file mode 100644 index 10089d1..0000000 --- a/themes/docport/assets/sass/checklist.scss +++ /dev/null @@ -1,95 +0,0 @@ -body { - article section.page div.content { - div.checklist-header { - .form-control-file { - position: relative; - width: 100%; - height: 100%; - min-height: 6em; - outline: none; - visibility: hidden; - cursor: pointer; - background-color: #c61c23; - box-shadow: 0 0 5px solid currentColor; - - &:before { - content: attr(data-title); - position: absolute; - top: 0.5em; - left: 0; - width: 100%; - min-height: 4em; - line-height: 0.5em; - padding-top: 1.5em; - opacity: 1; - visibility: visible; - text-align: center; - border: 0.25em dashed currentColor; - transition: all 0.3s cubic-bezier(.25, .8, .25, 1); - overflow: hidden; - } - - &:hover { - &:before { - border-style: solid; - box-shadow: inset 0px 0px 0px 0.25em currentColor; - } - } - } - } - - h2 a { - //float: left; - - margin-left: 0.2em; - //font-size: 70%; - text-decoration: none; - } - - - div.checklist-footer { - margin-top: 2em; - margin-bottom: 2em; - text-align: center; - } - - .zone{ - - } - } - - - - #TableOfContents > ul li { - input { - margin-right: 0.3em; - display: none; - } - - i{ - margin-right: 0.3em; - color: #e6e6e6; - &.fa-check-circle{ - color: green; - } - &.fa-dot-circle{ - color: #999999; - } - - } - - &:not(.cl-ready):not(.cl-done):not(.cl-doing) { - input{ - visibility: hidden; - } - } - - &.cl-ready,&.cl-doing,&.cl-done { - input { - visibility: visible; - } - } - - } - -} \ No newline at end of file diff --git a/themes/docport/assets/sass/layout.scss b/themes/docport/assets/sass/layout.scss deleted file mode 100644 index f8feb55..0000000 --- a/themes/docport/assets/sass/layout.scss +++ /dev/null @@ -1,225 +0,0 @@ -* { - box-sizing: border-box; -} -a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video { - border: 0; - vertical-align: baseline; -} - -body { - margin: 0px 0px ; - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - - min-height: 100vh; - text-rendering: optimizeLegibility; - - header { - flex-shrink: 0; - min-height: 45px; - max-height: 45px; - padding: 8px 0; - position: fixed; - width: 100%; - z-index: 9999; - -webkit-transform: translateZ(0); - transform: translateZ(0); - - > * { - max-width: 1400px; - width: 100%; - padding: 0 20px; - margin: 0 auto; - } - - div.burger { - display: none; - } - } - - article { - - -webkit-box-flex: 1; - flex-grow: 1; - display: -webkit-box; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - flex-direction: column; - min-height: calc(100vh - 45px); - - left: 0; - min-height: 100%; - padding-top: 100px; - position: relative; - z-index: 99; - - - - - - -webkit-box-flex: 1; - flex-grow: 1; - display: -webkit-box; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - flex-flow: row nowrap; - - - padding-top: 45px; - margin: 0 auto; - width: 100%; - max-width: 1400px; - - > * { - margin: 0 24px; - } - - aside { - transition: max-height .2s ease-out; - - -webkit-box-flex: 0; - flex: 0 0 20em; - margin-left: 0; - - -webkit-box-flex: 0; - flex: 0 0 20em; - height: calc(100vh - 45px); - position: -webkit-sticky; - position: sticky; - overflow-y: auto; - top: 45px; - } - - section.page{ - - -webkit-box-flex: 1; - flex: 1 auto; - max-width: 100%; - min-width: 0; - - - .jump-to-section{ - display:none; - margin-top: 0.5em; - margin-left: 0.2em; - ul{ - padding-left: 10px; - } - - nav{ - display: none; - position: absolute; - z-index: 5; - border: 1px solid ; - padding: 1em 30px; - border-radius: 3px; - min-width: 25%; - max-width: 50%; - box-shadow: 0 5px 8px rgba(0,0,0,.25); - } - } - } - - section.right-menu{ - margin-right: 0; - align-self: flex-start; - display: block; - -webkit-box-flex: 0; - flex: 0 0 240px; - max-height: calc(100vh - 45px); - overflow-y: auto; - position: -webkit-sticky; - position: sticky; - top: 45px; - margin-bottom: 40px; - } - } - footer { - > * { - max-width: 1400px; - width: 100%; - padding: 0 20px; - margin: 0 auto; - } - } -} - -/* hideheader hidenav hidebreadcrumb hidetoc hidefooter */ -body { - &.hideheader{ - article{ - padding-top: 0px ; - aside{ - top:0px; - height: calc(100vh); - } - section.right-menu{ - top:0px; - max-height: calc(100vh); - } - } - } -} - -@media(max-width:1160px) { - body{ - header{ - div.burger{ - display: none; - } - } - article { - padding-left: 0px ; - padding-right: 0px; - aside{ - margin-right: 0px; - } - aside.responsive{ - display: block; - } - section.page{ - .jump-to-section{display: block;} - } - section.right-menu{ - display: none; - } - - } - } -} - -@media(max-width:936px) { - body{ - header{ - div.burger{ - display: block; - } - } - article { - padding-left: 0px; - padding-right: 0px; - aside{ - display: none; - flex: 0 0 100%; - } - aside.responsive{ - display: block; - } - section.page{ - .jump-to-section{display: block;} - } - section.right-menu{ - display: none; - } - - } - } -} - - - diff --git a/themes/docport/assets/sass/main.scss b/themes/docport/assets/sass/main.scss deleted file mode 100644 index ce5d111..0000000 --- a/themes/docport/assets/sass/main.scss +++ /dev/null @@ -1,538 +0,0 @@ -{{if .Site.Params.color_main}} -$color_main : {{ .Site.Params.color_main }} ; -{{else}} -$color_main : hsl(random(360)-1, random(100)-1%, random(100)-1%); -{{end}} - -{{if .Site.Params.color_second}} -$color_second : {{ .Site.Params.color_second }} ; -{{else}} -$color_second : saturate($color_main, 0%); -{{end}} - -$c_light1 : lighten($color_main, 15%); -$c_light2 : lighten($color_main, 45%); -$c_light3 : lighten($color_main, 50%); -$c_light4 : lighten($color_main, 80%); - - -$c_dark1 : darken($color_main, 15%); -$c_dark2 : darken($color_main, 25%); -$c_dark3 : darken($color_main, 45%); -$c_dark4 : darken($color_main, 50%); - - - -$c_saturate1 : $color_second; -$c_saturate2 : saturate($color_second, 30%); -$c_saturate3 : saturate($color_second, 40%); -$c_saturate4 : saturate($color_second, 50%); -$c_saturate5 : saturate($color_second, 60%); -$c_saturate6 : saturate($color_second, 75%); -$c_saturate7 : saturate($color_second, 90%); - - - - - - - -body{ - font-family: "Montserrat",sans-serif; - - font-weight: 400; - line-height: 1.5; - color: $c_dark3; - - a{ - color: $c_dark4; - text-decoration: none; - background-color: transparent; - &:hover{ - color: initial; - text-decoration: none; - }; - } - - - header { - background-color: $c_dark2; - - border-bottom: 2px solid gray ; - box-shadow: 0 0 0.2rem rgba(0,0,0,.1), 0 0.2rem 0.4rem rgba(0,0,0,.2); - - justify-content: space-between; - align-items: stretch ; - - color:($c_light2); - a, a:hover { - color:invert($c_dark2); - } - > div { - display: flex; - flex-direction: row; - flex-wrap: nowrap; - justify-content: space-between; - align-items: stretch ; - - white-space: nowrap; - - - img { - height: 32px; - margin-right: 0.5rem; - } - .burger { - margin-right: 1rem; - } - - } - - - - - nav.shortcuts { - margin-left: auto; - position: relative; - - display: flex; - justify-content: flex-start; - list-style-type: none; - flex-direction: row; - flex-wrap: nowrap; - - li { - - margin: 0px; - .fa { - margin-right: 0.5rem - } - - a { - color:lighten(invert($c_dark2),4%); - padding: 0 1rem; - font-weight: bold; - font-size: 90%; - } - } - } - - - } - - - article { - background-color: $c_light4 ; - aside { - #close_menu{ - display: none; - float:right; - margin-right: 2rem; - } - - &.responsive{ - #close_menu{ - display: block; - } - } - } - - section.right-menu { - padding: 3.5rem 0 3.5rem 0; - font-size:14px; - line-height:20px; - padding-left:2px; - - > div { - margin-bottom: 2em; - > *{ - margin-left:5px; - } - label{ - font-weight:700; - letter-spacing: -1px; - display: block; - margin-bottom: 14px; - border-bottom: 1px dotted $c_light1; - color:$c_dark2; - font-variant: small-caps; - } - nav>ul{ - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; - ul{ - padding: 0px 0px 0px 14px; - margin: 0px 0px 0px 0px; - border-left: 1px solid $c_light2; - li{ - font-size: 90%; - } - } - } - - ul{ - list-style-type: none; - } - li{ - padding: 8px 0px 8px 0px; - font-weight:300; - border-bottom: 1px solid transparent; - &.active{ - border-bottom: 1px dashed #999999; - } - a { - /*padding-left: 2px;*/ - } - - } - } - - .Actions{ - font-size: 75%; - } - - } - } - - footer { - background-color: $c_dark2; - color:invert($c_dark2); - a{ - color:invert($c_dark2); - } - padding: 3rem; - } - -} - - -article section.page { - background-color: inherit; - #ariane{ - display: block; - font-size: 1rem; - line-height: 1.5; - letter-spacing: -.01em; - font-weight: 500; - - ol{ - margin-top: 1em!important; - padding: 0px; - display: flex; - flex-wrap: wrap; - list-style: none; - li{ - display: list-item; - &:after{ - display: inline-block; - padding-right: .5rem; - padding-left: .5rem; - color: $c_dark3; - content: "⊸"; - } - a { - color: $c_dark3; - border-bottom: 1px dotted $c_saturate1; - padding-bottom: 4px; - padding-right: 0px; - } - - &.active{ - &:after{ - display: inline-block; - padding-left: .75rem; - content: ""; - } - } - } - - } - - } - - nav.subpages{ - - flex-wrap: wrap; - display: flex; - - margin-right: -1.5rem; - margin-left: -1.5rem; - padding-left: 1.5em; - - position: -webkit-sticky; - position: sticky; - overflow-y: auto; - top: 45px; - background-color: inherit; - opacity: 0.85; - - - justify-content: flex-start; - list-style-type: none; - li { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - margin: 0px; - padding-right: .4rem; - min-width: 50px; - - a { - font-size: 90%; - color: $c_saturate4; - } - &:not(:first-child):before{ - display: inline-block; - margin-left: 0.4em; - padding-right: .4rem; - color: $c_saturate2; - content: "|"; - } - &.active{ - font-weight: bold; - } - } - li:first-child:before{ - content : "└ "; - color: $c_saturate2; - } - } - - - div.jump-to-section{ - font-size: smaller; - color:$c_dark2; - ul{ - padding-left-left: 0px; - list-style-type: none; - li a{ - color:$c_saturate3; - } - } - - nav{ - background-color: white; - opacity: 0.95; - } - } - - - - - div.chevrons { - margin-top: 3rem; - border-top: 1px solid $c_light2; - border-bottom: 1px solid $c_light2; - padding: 1rem 0rem; - display: flex; - flex-direction: row; - align-items: stretch; - -webkit-box-pack: end!important; - justify-content: flex-end!important; - - a{ - display: flex; - align-items: center!important; - -webkit-box-align: center!important; - justify-content: flex-end!important; - - max-width: 70%; - - padding: 24px; - - &.prev{ - display: none - } - &.next div{ - text-align: right; - justify-content: flex-end; - padding: 20px; - } - - label{ - font-size: 24px; - font-weight: 700; - cursor: pointer; - } - p{ - font-size: 15px; - padding: 0px; - margin: 0px; - text-align: left; - } - - } - - - } -} -article section.page { - line-height:24px; - - h1:first-of-type { - font-size: 2.6rem; - margin-top: 1.5rem!important; - color:$c_dark2; - margin-bottom: 0px; - line-height: 1.05; - letter-spacing: -.05em; - font-weight: 800; - span{ - font-size: 90%; - font-weight: 500; - &:before{ - padding-left: .75rem; - padding-right: .75rem; - color: $c_dark2; - content: "⊷"; - } - ; - } - } -} -article section.page div.content{ - margin-top: 2.5rem; - - a.anchor { - display: block; - position: relative; - top: -7rem; - visibility: hidden; - } - - a{ - color:$c_saturate7; - font-weight: 500; - text-decoration: underline; - } - - p { - margin-top: 1rem; - margin-bottom: 1rem; - } - - h1 { - color:$c_dark1; - - font-variant-ligatures:none; - font-weight:800; - - letter-spacing:-0.75px; - line-height:32px; - } - - h2 { - margin-top: 0.5em; - font-weight:700; - letter-spacing:-0.95px; - - } - - h3,h4 { - margin-top: 0.5em; - } - - // TABLE - table { - width: 100%; - margin-bottom: 2em; - - border-collapse: collapse; - border-spacing: 0; - border: 1px solid #e6e6e6; - - - - th, - td { - padding: .25rem .75rem - } - - th { - padding: 0.5rem; - text-transform: uppercase; - vertical-align: middle; - text-align: center; - font-weight: 800; - background: #f6f6f6; - color: black; - border-bottom: 2px solid #e5e5e5; - } - - td { - padding: 0.5rem; - vertical-align: middle; - border-bottom: 1px solid #e5e5e5; - border: 1px solid #e6e6e6; - color: #323232; - } - - td:first-child { - code { - background-color: transparent; - padding: 0 - } - } - } - // IMAGES - img { - border: 0; - max-width: 100%; - margin: 1.5rem auto; - display: block; - text-align: center; - - - - &.border { - border: 2px solid #e6e6e6 !important; - padding: 2px; - } - - &.shadow { - box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); - } - - &.inline { - display: inline !important; - - vertical-align: bottom; - } - - &.inline { - display: inline !important; - - vertical-align: bottom; - } - } - - div.highlight{ - pre{ - display:block; - white-space: pre-wrap; - overflow: inherit!important; - code{ - color:inherit!important; - font-size: 95%; - display: block; - line-height: 1.2em; - padding: 10px; - border:0px; - font-weight: inherit; - background-color: inherit; - } - } - } - - >div.highlight{ - pre code{ - margin-left:-1.5rem; - margin-right:-1.5rem; - } - } -} - - - - - diff --git a/themes/docport/assets/sass/menu.scss b/themes/docport/assets/sass/menu.scss deleted file mode 100644 index 50f157b..0000000 --- a/themes/docport/assets/sass/menu.scss +++ /dev/null @@ -1,164 +0,0 @@ -{{if .Site.Params.color_main}} -$color_main : {{ .Site.Params.color_main }} ; -{{else}} -$color_main : hsl(random(360)-1, random(100)-1%, 45%); -{{end}} - - - -$c_dark1 : darken($color_main, 15%); - - -.autocomplete-suggestions{ - background-color: lighten($color_main, 50%)!important; - height: 100vh; -} -article>aside { - /*background-color: $c_light3;*/ - background-color: transparentize($color_main,0.9); - background-color: lighten($color_main,50%); - padding: 2rem 0rem 1rem 0rem; - - - div.search{ - position: absolute; - left: 0px; - top: 0px; - width: calc(100%); - input { - padding: 3px 25px; - width: 100%; - height: 2rem; - border: 0px; - background-color: transparentize($color_main,0.9); - border-bottom: 1px solid transparentize($color_main,0.8); - } - } - - - .menu { - list-style-type: none; - line-height: 2rem; - margin-top: 2rem; - ul { - display: none; - } - .ddexp{ - cursor: pointer; - } - // first menu level - >.dd-item { - margin-top: 24px; - >a{ - font-weight: 700; - font-size: 16px; - } - > i { - color:darken($color_main,6); - position: absolute; - left:21px; - font-size: 1em; - font-size: 20px; - line-height: inherit; - - } - } - - // menu items - .dd-item { - padding: 10px 0px 10px 16px; - - list-style: none; - a { - text-decoration: none; - } - >a{ - line-height: 20px; - font-size: 14px; - /*color: rgb(110, 119, 122);*/ - /*color:$color_main;*/ - - color: darken($color_main,6); - - - } - > i { - color:darken($color_main,6); - } - ul { - padding-inline-start: 0px; - } - li { - /*border-left: 1px solid #eee;*/ - } - - &.haschildren{ - &.parent{ - >a { - font-weight: 600 - } - } - } - - &.parent{ - >a { - - } - >ul { - display: block; - } - } - - - &.active { - background-color: transparentize($color_main,0.9); - - &.haschildren { - /*background-color: transparent;*/ - - > a { - font-weight: 700 - } - } - - >a{ - color:$c_dark1; - } - - >ul { - display: block; - } - >div { - background-color: $c_dark1; - * { - font-weight: bold; - border-bottom: dotted 1px red; - } - } - } - - - &.alwaysopen>ul { - display: block - } - - &.parent>ul { - display: block - } - - - - } - } - - section { - margin: 2rem 0rem; - } -} - -body{ - a{ - text-decoration: none; - } -} - diff --git a/themes/docport/assets/sass/shortcodes/alert.scss b/themes/docport/assets/sass/shortcodes/alert.scss deleted file mode 100644 index cbbb2f3..0000000 --- a/themes/docport/assets/sass/shortcodes/alert.scss +++ /dev/null @@ -1,67 +0,0 @@ -$color_primary : #007bff ; -$color_secondary : #6c757d ; -$color_success : #28a745 ; -$color_danger : #dc3545 ; -$color_warning : #ffc107 ; -$color_info : #17a2b8 ; -$color_light : #f8f9fa ; -$color_dark : #343a40 ; -$color_white : #fff ; -$color_transparent : transparent ; - -div.alert{ - padding: .75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: .25rem; - - a{color:inherit!important;} - - &.primary{ - color: white; - background-color: $color_primary; - border-color: $color_primary; - } - &.info{ - color: white; - background-color: $color_info; - border-color: $color_info; - } - &.success{ - color: white; - background-color: $color_success; - border-color: $color_success; - } - &.warning{ - color: black; - background-color: $color_warning; - border-color: $color_warning; - } - &.danger{ - color: white; - background-color: $color_danger; - border-color: $color_danger; - } - &.danger{ - color: white; - background-color: $color_danger; - border-color: $color_danger; - } - &.secondary{ - color: white; - background-color: $color_secondary; - border-color: $color_secondary; - } - &.light{ - color: black; - background-color: $color_light; - border-color: $color_light; - } - &.dark{ - color: white; - background-color: $color_dark; - border-color: $color_dark; - } - - -} diff --git a/themes/docport/assets/sass/shortcodes/attachments.scss b/themes/docport/assets/sass/shortcodes/attachments.scss deleted file mode 100644 index 98740a6..0000000 --- a/themes/docport/assets/sass/shortcodes/attachments.scss +++ /dev/null @@ -1,12 +0,0 @@ -section.attachments{ - a{ - border-bottom: 1px dotted white ; - } - a:hover{ - border-bottom: 1px solid white ; - } - >label{ - font-weight: 600; - font-variant: small-caps; - } -} \ No newline at end of file diff --git a/themes/docport/assets/sass/shortcodes/children.scss b/themes/docport/assets/sass/shortcodes/children.scss deleted file mode 100644 index 9a4eb86..0000000 --- a/themes/docport/assets/sass/shortcodes/children.scss +++ /dev/null @@ -1,36 +0,0 @@ -article { -ul.children.children-card { - flex-wrap: wrap; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - - >span { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - min-width: 0; - min-height: 0; - width: 40%; - min-width: 250px; - margin: 1rem 1rem ; - border: 0.1rem solid #ccc; - -box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); - card{ - margin: 0px 0px; - display: block; - padding: 1rem; - background-color: #eee; - font-size: 200%; - } - - p{ - padding: 0rem 1rem; - } - } -} -} diff --git a/themes/docport/assets/sass/shortcodes/columns.scss b/themes/docport/assets/sass/shortcodes/columns.scss deleted file mode 100644 index 4aea2e8..0000000 --- a/themes/docport/assets/sass/shortcodes/columns.scss +++ /dev/null @@ -1,16 +0,0 @@ -div.columns{ - flex-wrap: wrap; - display: flex; - - div.column{ - flex: 1 1; - margin: 0 1em; - } - :first-child{ - margin-left: 0px!important; - } - :last-child{ - margin-right: 0px!important; - } -} - diff --git a/themes/docport/assets/sass/shortcodes/notice.scss b/themes/docport/assets/sass/shortcodes/notice.scss deleted file mode 100644 index f85d47c..0000000 --- a/themes/docport/assets/sass/shortcodes/notice.scss +++ /dev/null @@ -1,146 +0,0 @@ -$color_primary : #007bff ; -$color_secondary : #6c757d ; -$color_success : #28a745 ; -$color_danger : #dc3545 ; -$color_warning : #ffc107 ; -$color_info : #17a2b8 ; -$color_light : #f8f9fa ; -$color_dark : #343a40 ; -$color_white : #fff ; -$color_transparent : transparent ; - - -div.notices { - margin-top: 1rem; - margin-bottom: 1rem; - - > :not(label) { - background: white; - margin-top: 0px!important; - margin-bottom: 0px!important; - box-sizing: border-box; - box-shadow: inset 4px 0 0 black; - background-color: lighten(black,90%); - font-size: smaller; - &:not(ul) { - /*box-shadow: inset 4px 0 0 black;*/ - /*border-radius: .2rem;*/ - padding: .5rem 1rem .5rem 1rem; - } - } - - ul {} - > label{ - font-size: 0.5em; - position: absolute; - margin-left: 0em; - margin-top: -1.8em; - font-weight: bold; - font-variant: small-caps; - letter-spacing: 0.6em; - } - - &.note{ - p { - box-shadow: inset 4px 0 0 $color_primary; - background: transparentize($color_primary, 0.95); - color: darken($color_primary,20%) !important; - } - label{color: $color_primary;} - } - &.primary { - > *:not(label) { - box-shadow: inset 4px 0 0 $color_primary; - background: transparentize($color_primary, 0.95); - color: darken($color_primary,20%) !important; - } - label{color: $color_primary;} - } - - &.secondary { - p { - box-shadow: inset 4px 0 0 $color_secondary; - background: transparentize($color_secondary, 0.95); - color: darken($color_secondary,20%) !important; - } - label{color: $color_secondary;} - } - - &.success, &.tip { - > *:not(label) { - box-shadow: inset 4px 0 0 $color_success; - background: transparentize($color_success, 0.95); - color: darken($color_success,20%) !important; - } - label{color: $color_success;} - } - - &.danger { - > *:not(label) { - box-shadow: inset 4px 0 0 $color_danger; - background: transparentize($color_danger, 0.95); - color: darken($color_danger,20%) !important; - } - label{color: $color_danger;} - } - - &.warning { - > *:not(label) { - box-shadow: inset 4px 0 0 $color_warning; - background: transparentize($color_warning, 0.95); - color: darken($color_warning,20%) !important; - } - label{color: $color_warning;} - } - - &.info { - > *:not(label) { - box-shadow: inset 4px 0 0 $color_info; - background: transparentize($color_info, 0.95); - color: darken($color_info,20%) !important; - } - label{color: $color_info;} - } - - &.light { - > *:not(label) { - box-shadow: inset 4px 0 0 $color_light; - background: transparentize($color_light, 0.95); - color: darken($color_light,20%) !important; - } - label{color: $color_light;} - } - &.dark { - > *:not(label) { - box-shadow: inset 4px 0 0 $color_dark; - background: transparentize($color_dark, 0.95); - color: darken($color_dark,20%) !important; - } - label{color: $color_dark;} - } - &.white { - > *:not(label) { - box-shadow: inset 4px 0 0 $color_white; - background: transparentize($color_white, 0.95); - color: whiteen($color_white,20%) !important; - } - label{color: $color_white;} - } - &.transparent { - > *:not(label) { - box-shadow: inset 4px 0 0 $color_transparent; - background: transparentize($color_transparent, 0.95); - color: transparenten($color_transparent,20%) !important; - } - label{color: $color_transparent;} - } -} - - - - - - - - - \ No newline at end of file diff --git a/themes/docport/assets/sass/shortcodes/panel.scss b/themes/docport/assets/sass/shortcodes/panel.scss deleted file mode 100644 index 8093ef7..0000000 --- a/themes/docport/assets/sass/shortcodes/panel.scss +++ /dev/null @@ -1,89 +0,0 @@ -$color_primary : #007bff ; -$color_secondary : #6c757d ; -$color_success : #28a745 ; -$color_danger : #dc3545 ; -$color_warning : #ffc107 ; -$color_info : #17a2b8 ; -$color_light : #f8f9fa ; -$color_dark : #343a40 ; -$color_white : #fff ; -$color_transparent : transparent ; - -div.card { - margin-top: 1rem; - margin-bottom: 1rem; - box-sizing: border-box; - overflow-wrap: break-word; - width: 100%; - border-radius: 4px 4px 4px 4px; - border: 1px solid rgba(0, 0, 0, 0.125); - font-size: 14px; -}/*div.card*/ - -.card-header { - box-sizing: border-box; - - overflow-wrap: break-word; - background-color: $color_light ; - border-bottom: 1px solid rgba(0, 0, 0, 0.125); - border-left: 0px none rgb(33, 37, 41); - border-radius: 3px 3px 0 0; - - padding: 12px 20px; - &.info{ - color: white; - a{color: white; } - background-color: $color_info; - border-color: $color_info; - } - &.primary{ - color: white; - a{color: white; } - background-color: $color_primary; - border-color: $color_primary; - } - &.success{ - color: white; - a{color: white; } - background-color: $color_success; - border-color: $color_success; - } - &.warning{ - color: black; - a{color: black; } - background-color: $color_warning; - border-color: $color_warning; - } - &.danger{ - color: white; - a{color: white; } - background-color: $color_danger; - border-color: $color_danger; - } -}/*.card-header*/ - - -.card-body { - box-sizing: border-box; - overflow-wrap: break-word; - padding: 20px; -}/*.card-body*/ - -.card-text { - box-sizing: border-box; - overflow-wrap: break-word; - margin: 0px; -}/*.card-text*/ - - .card-footer { - box-sizing: border-box; - color: rgb(108, 117, 125); - overflow-wrap: break-word; - background: rgba(0, 0, 0, 0.03) none repeat scroll 0% 0% / auto padding-box border-box; - border-top: 1px solid rgba(0, 0, 0, 0.125); - border-right: 0px none rgb(108, 117, 125); - border-bottom: 0px none rgb(108, 117, 125); - border-left: 0px none rgb(108, 117, 125); - border-radius: 0 0 3px 3px; - padding: 12px 20px; -}/*.card-footer*/ diff --git a/themes/docport/assets/sass/shortcodes/tabs.scss b/themes/docport/assets/sass/shortcodes/tabs.scss deleted file mode 100644 index 3978a4b..0000000 --- a/themes/docport/assets/sass/shortcodes/tabs.scss +++ /dev/null @@ -1,40 +0,0 @@ -.tabs { - border: 1px solid #e9ecef; - border-radius: .25rem; - overflow: hidden; - display: flex; - flex-wrap: wrap; - - label { - display: inline-block; - padding: 0.3em 1em; - border-bottom: 2px transparent; - cursor: pointer; - } - - - >input[type=radio] { - height: 0; - width: 0; - overflow: hidden; - opacity: 0; - position: absolute; - - &:checked+label { - border-bottom: 2px solid #05b; - - +.tab { - display: block; - } - } - } - - - >div.tab { - display: none; - order: 999; - width: 100%; - border-top: 1px solid #f8f9fa; - padding: 1em 1em; - } -} \ No newline at end of file diff --git a/themes/docport/exampleSite/config-template.toml b/themes/docport/exampleSite/config-template.toml deleted file mode 100644 index 2be94fb..0000000 --- a/themes/docport/exampleSite/config-template.toml +++ /dev/null @@ -1,86 +0,0 @@ -title = "DocPort Documentation" - -theme = "hugo-theme-docport" - -baseURL = "https://example.com" - -languageCode = "en-us" -DefaultContentLanguage = "en" -pygmentsCodeFences = true -pygmentsStyle = "monokai" - -defaultContentLanguageInSubdir= false -enableMissingTranslationPlaceholders = false - -# googleanalytics = "UA-123-45" - -disableKinds = ["taxonomy", "taxonomyTerm", "category", "RSS"] - -# Keep this as is -[outputs] -home = [ "HTML", "RSS", "JSON"] - -# Site params -[params] -ordersectionsby = "weight" # ordersectionsby = "title" -#color_main = "#737373" -#color_second = "#b30000" -disableSearch = false # default is false -disableNavChevron = false # set true to hide next/prev chevron, default is false -menushortcutsnewtab = false # set true to open shortcuts links to a new tab/window - -#editURL = "https://github.com/vjeantet/hugo-theme-docport/edit/master/exampleSite/content/" -enableGitInfo = true - - - -[mediaTypes] - [mediaTypes."application/netlifyconfig"] - suffixes = ["yml"] - -[outputFormats] -[outputFormats.netlifyyaml] -mediaType = "application/netlifyconfig" -isPlainText = true -isHTML = false -notAlternative = true - -[markup.goldmark.renderer] -unsafe = true - -# Code highlight configuration -[markup.highlight] -codeFences = true -guessSyntax = true -hl_Lines = "" -lineNoStart = 1 -lineNos = false -lineNumbersInTable = true -noClasses = true -style = "monokai" -tabWidth = 2 - -# -# top menu shotcuts -# -[[menu.shortcuts]] -name = "Github" -identifier = "ds" -url = "https://github.com/vjeantet/hugo-theme-docport" -weight = 10 - -[[menu.shortcuts]] -name = "Download" -url = "https://github.com/vjeantet/hugo-theme-docport/archive/master.zip" -weight = 11 - -[[menu.shortcuts]] -name = "Hugo Documentation" -identifier = "hugodoc" -url = "https://gohugo.io/" -weight = 20 - -[[menu.shortcuts]] -name = "Credits" -url = "/docport-theme/credits/" -weight = 30 \ No newline at end of file diff --git a/themes/docport/exampleSite/config.toml b/themes/docport/exampleSite/config.toml deleted file mode 100644 index 730a95e..0000000 --- a/themes/docport/exampleSite/config.toml +++ /dev/null @@ -1,95 +0,0 @@ -baseURL = "https://example.com" - -languageCode = "en-us" -DefaultContentLanguage = "en" -title = "DocPort Documentation" -theme = "hugo-theme-docport" -themesdir = "../.." -pygmentsCodeFences = true -pygmentsStyle = "monokai" - - -defaultContentLanguageInSubdir= false -enableMissingTranslationPlaceholders = false - - -# [Languages] -# [Languages.en] -# title = "Documentation for Hugo docport" -# weight = 1 -# languageName = "English" -# -# [Languages.fr] -# title = "Documentation du thème docport" -# weight = 2 -# languageName = "Français" - - - -disableKinds = ["taxonomy", "taxonomyTerm", "category", "RSS"] - -[params] -ordersectionsby = "weight" # ordersectionsby = "title" -color_main = "#737373" -#color_second = "#b30000" -disableSearch = false # default is false -disableNavChevron = false # set true to hide next/prev chevron, default is false -menushortcutsnewtab = false # set true to open shortcuts links to a new tab/window - -#editURL = "https://github.com/vjeantet/hugo-theme-docport/edit/master/exampleSite/content/" -editWithNetlifyCMSURL = "admin/#/collections/pages/entries/" -enableGitInfo = true - -[mediaTypes] - [mediaTypes."application/netlifyconfig"] - suffixes = ["yml"] - -[outputFormats] -[outputFormats.netlifyyaml] -mediaType = "application/netlifyconfig" -isPlainText = true -isHTML = false -notAlternative = true - -[outputs] -home = [ "HTML", "RSS", "JSON"] - -[markup.goldmark.renderer] -unsafe = true - -# Code highlight configuration -[markup.highlight] -codeFences = true -guessSyntax = true -hl_Lines = "" -lineNoStart = 1 -lineNos = false -lineNumbersInTable = true -noClasses = true -style = "monokai" -tabWidth = 2 - -# -# top menu shotcuts -# -[[menu.shortcuts]] -name = "Github" -identifier = "ds" -url = "https://github.com/vjeantet/hugo-theme-docport" -weight = 10 - -[[menu.shortcuts]] -name = "Download" -url = "https://github.com/vjeantet/hugo-theme-docport/archive/master.zip" -weight = 11 - -[[menu.shortcuts]] -name = "Hugo Documentation" -identifier = "hugodoc" -url = "https://gohugo.io/" -weight = 20 - -[[menu.shortcuts]] -name = "Credits" -url = "/docport-theme/credits/" -weight = 30 \ No newline at end of file diff --git a/themes/docport/exampleSite/content/404.md b/themes/docport/exampleSite/content/404.md deleted file mode 100644 index 96c9229..0000000 --- a/themes/docport/exampleSite/content/404.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -date: "2020-09-08T20:40:23.389Z" -description: This is a 404 page -hidden: true -hide: - - toc - - nav - - breadcrumb - - nextpage -layout: page -title: Whoops! Page not found -url: 404.html ---- -That page can't be found. - -Our latest content is [on the homepage](/). - -![404](images/404.jpg?sheight=800px&classes=shadow) - -
Photo by Aron Visuals on Unsplash
\ No newline at end of file diff --git a/themes/docport/exampleSite/content/_layout/article-sidebar-after/_index.md b/themes/docport/exampleSite/content/_layout/article-sidebar-after/_index.md deleted file mode 100644 index ec380ec..0000000 --- a/themes/docport/exampleSite/content/_layout/article-sidebar-after/_index.md +++ /dev/null @@ -1,3 +0,0 @@ ---- ---- - diff --git a/themes/docport/exampleSite/content/_layout/footer/_index.md b/themes/docport/exampleSite/content/_layout/footer/_index.md deleted file mode 100644 index 600271f..0000000 --- a/themes/docport/exampleSite/content/_layout/footer/_index.md +++ /dev/null @@ -1,377 +0,0 @@ ---- -date: "2020-08-20T15:41:15.543Z" -description: Footer -title: Footer ---- - - - \ No newline at end of file diff --git a/themes/docport/exampleSite/content/_layout/netlifycms/_index.md b/themes/docport/exampleSite/content/_layout/netlifycms/_index.md deleted file mode 100644 index b8e2a14..0000000 --- a/themes/docport/exampleSite/content/_layout/netlifycms/_index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -{} ---- -fake \ No newline at end of file diff --git a/themes/docport/exampleSite/content/_layout/netlifycms/config.md b/themes/docport/exampleSite/content/_layout/netlifycms/config.md deleted file mode 100644 index f7b6c1e..0000000 --- a/themes/docport/exampleSite/content/_layout/netlifycms/config.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -netlifycms_content_folder: "exampleSite/content" -outputs: -- netlifyyaml -url: /admin/config.yml ---- -backend: - name: "github" - repo: "vjeantet/hugo-theme-docport" - branch: "master" - open_authoring: true - -media_folder: "static/images/uploads" # Media files will be stored in the repo under images/uploads -public_folder: "/images/uploads" # The src attribute for uploaded media will begin with /images/uploads -publish_mode: editorial_workflow \ No newline at end of file diff --git a/themes/docport/exampleSite/content/_layout/netlifycms/root.md b/themes/docport/exampleSite/content/_layout/netlifycms/root.md deleted file mode 100644 index 5acb501..0000000 --- a/themes/docport/exampleSite/content/_layout/netlifycms/root.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -type: raw -title: Content Manager -url: /admin/index.html ---- - - - - - - - - - - - - - - diff --git a/themes/docport/exampleSite/content/_layout/sidebar-after/_index.md b/themes/docport/exampleSite/content/_layout/sidebar-after/_index.md deleted file mode 100644 index ca527f7..0000000 --- a/themes/docport/exampleSite/content/_layout/sidebar-after/_index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -date: "2020-08-20T11:07:48.092Z" -description: Sidebar after -title: Sidebar after ---- - -
- -Download - -Star - -Fork -
- - \ No newline at end of file diff --git a/themes/docport/exampleSite/content/_layout/sidebar-before/_index.md b/themes/docport/exampleSite/content/_layout/sidebar-before/_index.md deleted file mode 100644 index c3223ae..0000000 --- a/themes/docport/exampleSite/content/_layout/sidebar-before/_index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -date: "2020-08-20T11:08:17.209Z" -description: Sidebar before -title: Sidebar before ---- -[//]: # (This a comment) - diff --git a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/_index.md b/themes/docport/exampleSite/content/content-and-customization/00-adding-content/_index.md deleted file mode 100644 index 92cee4a..0000000 --- a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/_index.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -creatordisplayname: Valere JEANTET -creatoremail: valere.jeantet@gmail.com -date: "2020-09-08T22:49:36.481Z" -description: This page tells you how to use the theme to add and structure your site - content. -head: "" -hidden: false -lastmodifierdisplayname: Valere JEANTET -lastmodifieremail: valere.jeantet@gmail.com -layout: "" -pre: "" -tags: -- tag1 -- tag2 -title: Adding content -weight: 1 ---- -{{% notice %}}This page tells you how to use the theme to add and structure your site content.{{% /notice %}} - -## Content root directory - -You add content for your site under the `content` root directory of your Hugo site project. -The files in your content root directory are typically grouped in subdirectories corresponding to your site’s sections. - -We’ll look at in the following chapter. - -## Content sections - -With docport, **Each content page composes the site and navigation structure**, they shape the structure of your website. - -Create a folder for each section and their sub sections, and a `_index.md` in each folder which will act as the section's content. -{{%notice%}}You can add any other page.md in section folder, they will be treated as "[subpages]({{< ref "#subpages" >}})"{{%/notice%}} - -To link pages to each other, place them in a folders hierarchy. - -```text - content - └── section-one/ - ├── _index.md - └── section-one-two/ - ├── _index.md - ├── section-one-two-three-A/ - │ ├── _index.md - └── section-one-two-three-B/ - ├── _index.md <-- section's page - ├── pageA.md <-- "subpages" - └── pageB.md <-- "subpages" -``` - -## Subpages - -Subpages are contents which belong to the section, and are displayed bellow section's title in the page. \ -Subpages are not displayed in left menu. - -If you look at the current page title, you will see 3 links which reference its 3 subpages. -![](subpages.png?height=60px&classes=border,shadow) - -## Page frontmatter - -Each page file in a Hugo site has metadata frontmatter that tells Hugo about the page. You specify page frontmatter in TOML, YAML, or JSON. \ -Use the frontmatter to specify the page title, description, creation date, link title, template, menu weighting, and even any resources such as images used by the page. You can see a complete list of possible page frontmatter in [Front Matter](https://gohugo.io/content-management/front-matter/). - -On top of the [existing ones](https://gohugo.io/content-management/front-matter/), DocPort comes with additional params to control what and how to display your content, their entry in left menu or behaviour. - -```yaml ---- -title: "Adding content" - -# order sections -weight: 10 - -# Hide some page components -hide: -- header -- nav -- breadcrumb -- toc -- nextpage -- footer - -# subpage -subpage: false # usefull when you want to force a sub section to be considered as a subpage - -# Redirect to another content -# Set a full URL or a .md path -# examples : -# redirect = "https://github.com/vjeantet" -# redirect = "folder" -# redirect = "folder/_index.md" -redirect: "folder/_index.md" - -# Do not include this page in search results -nosearch: true ---- -``` - -{{%alert success%}}More frontmatter params exists to control how to display you content in the navigation, see [Navigation & Search]({{%relref "02-navigation-search" %}}) in the left menu.{{%/alert%}} \ No newline at end of file diff --git a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/myslide/index.md b/themes/docport/exampleSite/content/content-and-customization/00-adding-content/myslide/index.md deleted file mode 100644 index 08f1544..0000000 --- a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/myslide/index.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -date: "2017-04-24T18:36:24+02:00" -hidden: true -revealOptions: - center: true - controls: true - history: false - progress: true - transition: concave -theme: league -title: My Slide ! fullscreen -type: slide ---- - -# In the morning - -___ - -## Getting up - -- Turn off alarm -- Get out of bed - -___ - -## Breakfast - -- Eat eggs -- Drink coffee - ---- - -# In the evening - -___ - -## Dinner - -- Eat spaghetti -- Drink wine - -___ - -## Going to sleep - -- Get in bed -- Count sheep \ No newline at end of file diff --git a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-images/_index.md b/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-images/_index.md deleted file mode 100644 index 0b6eacc..0000000 --- a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-images/_index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -date: "2017-04-24T18:36:24+02:00" -hidden: false -subpage: true -title: images -weight: 10 ---- - -Images have a similar syntax to markdown links but include a preceding exclamation point. -``` - ![myImage](image.jpeg) -``` -![myImage](image.jpeg) - -## Resizing image - -Add HTTP parameters `width` and/or `height` to the link image to resize the image. Values are CSS values (default is `auto`). - -``` - ![myImage](image.jpeg?height=80px) -``` -![myImage](image.jpeg?height=80px) - - -## Add CSS classes - -Add a HTTP `classes` parameter to the link image to add CSS classes. `shadow` and `border` are available but you could define other ones. -``` - ![myImage](image.jpeg?classes=border,shadow) -``` -![myImage](image.jpeg?classes=border,shadow) diff --git a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-images/image.jpeg b/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-images/image.jpeg deleted file mode 100644 index 08f2e1d..0000000 Binary files a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-images/image.jpeg and /dev/null differ diff --git a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/_index.md b/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/_index.md deleted file mode 100644 index f8fd798..0000000 --- a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/_index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -hidden: true -date: "2017-04-24T18:36:24+02:00" -description: "" -title: As a Skwad -weight: 190 -post: " beta" ---- - -A basic .md file can be rendered as a form/checklist/questionnaire. - -{{% notice %}} -**A page rendered as a Skwad** is a page with a special rendered TOC, and a LOAD/DOWNLAOD form results buttons. -\ -[{{%icon aspect_ratio%}} click here to view an example]({{%ref "ex-checklist/_index.md"%}}) - -{{%/notice%}} - -To tell Hugo to consider a page as a skwad, just add `skwad` options in the frontmatter of your page. - -```yaml ---- -skwad: - clientside: true # Display Load From File and Save To File buttons - mode: form # set "form" for standard form submission or "api" to use Skwad API - url: https://localhost:5555/ # Form Action URL (mode=form) or Skwad base API (mode=api) - spaceName: appsec # spaceName for Api ---- -``` - -## Dedicated shortcodes -* c/text - a line or box input type -* c/choices - a radiogroup or a checkboxgroup -* c/list - a select or a multiselect -* c/check - a checkbox -* c/switch - a switch -* c/show - display a part with a condition using user inputs -* c/hidden - set a hidden value - -## Examples & Demos - -{{%children style="li" description="true" showhidden="true"%}} diff --git a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/__article-sidebar-after.md b/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/__article-sidebar-after.md deleted file mode 100644 index a8d29df..0000000 --- a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/__article-sidebar-after.md +++ /dev/null @@ -1,13 +0,0 @@ ---- ---- - - - -{{%notice info%}} -This checklist was made from the VSAQ Vendor Security Assessment Questionnaire, licensed with Apache License 2.0 -- More info here : https://github.com/google/vsaq -{{%/notice %}} - diff --git a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/_index.md b/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/_index.md deleted file mode 100644 index 411e59b..0000000 --- a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/_index.md +++ /dev/null @@ -1,270 +0,0 @@ ---- -description: Very long and Complex example, with file save/load on client side -hidden: true -hide: -- nextpage -- nav -- breadcrumb - -title: WebApp Security Assessment -weight: 99 - -skwad: - clientside: true ---- - -{{%notice success%}} -This is a demo of a [skwad page]({{%ref "content-and-customization/00-adding-content/page-skwad"%}}) -{{%/notice %}} - -## Application Metadata -{{%include "webappsec/01_appmetadata.md"%}} - - -## Vulnerability Reporting and Management -{{%include "webappsec/02_vulnerabilityreporting.md"%}} - - -## HTTPS and Mixed-Content Risks -{{%include "webappsec/03_https.md"%}} - - -## Authentication and Authorization -{{%include "webappsec/04_authz.md"%}} - - -## Common Web Vulnerabilities -{{%include "webappsec/05_commonvuln.md"%}} - - -## Testing, QA, and Monitoring -{{%include "webappsec/06_testing.md"%}} - -## Additional Notes -Provide any additional information about the security of your application: -{{}} - -## Security Contacts -List the email addresses of people we should contact about any security issues in the application: -{{}} - -## Feedback -Congratulations! You've made it to the end of this questionnaire. If you can spare another minute, please let us know how we can improve it. Your feedback is highly appreciated. -{{}} - ---- - -{{%notice info%}} -**Licence Info :** this checklist was made from the VSAQ Vendor Security Assessment Questionnaire, licensed with Apache License 2.0 -- More info here : https://github.com/google/vsaq -{{%/notice %}} - -{{}} -## Show -{{}} -* (aa) Show a block. -* (no) Another block -* (foo) No Block -* (two) Show the two blocks -{{}} - -### show 1 - -{{}} -{{%notice%}} -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -{{%/notice%}} -{{}} - -{{}} -{{%alert%}}No Alert selected !{{%/alert%}} -{{}} - - - -## text - -Quel est le code du projet ? - - - -{{}} -**Simple** -{{}} -<---> -**Multiple** -{{}} -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. -{{}} -{{}} - -## Choices - -Les enjeux de sécurité ont été identifiés par la SSI ? - -{{}} -**Simple** - -{{}} - * (yes) Yes, we have a published security email contact, or we provide another way for users to report security issues. Incoming reports are timely reviewed and triaged. - * (no) No, we do not currently offer a way to report security vulnerabilities for priority handling - * i don't know -{{}} - -<---> - -**Multiple** - - -{{}} - * (yes) Yes, we have a published security email contact, or we provide another way for users to report security issues. Incoming reports are timely reviewed and triaged. - * (no) No, we do not currently offer a way to report security vulnerabilities for priority handling - * i don't know -{{}} -{{}} - -{{}} -{{%alert danger%}}OK !{{%/alert%}} -{{}} - - -## List -{{}} -**Simple** -{{}} - * (czero) C0 - * (cun) C1 - * (cdeux) C2 -{{}} - -<---> - -**Multiple** -{{}} - * All - * (czero) C0 - * (cun) C1 - * (cdeux) C2 -{{}} -{{}} - -## Checkbox - -{{%c/check mycheck %}}J'ai tout compris 1{{%/c/check %}} - -## switch - -{{%c/switch myswitch %}}Activer le truc{{%/c/switch %}} - - - - - - -## Code -{{%expand%}} -Change on any element form -```js - var form = document.querySelector('form'); - form.addEventListener('change', function(e,v) { - console.log("element changed", e.target,v) - }); - -```` - -Get all data -```js - $("form[name=myform]").serializeArray() -``` - -Download file : -* date -* ref -* url -* data -* hash or signature -```js -function downloadFile() { - var obj = {a: 123, b: "4 5 6"}; - var filename = "download.json"; - var blob = new Blob([JSON.stringify(obj)], {type: 'text/plain'}); - if (window.navigator && window.navigator.msSaveOrOpenBlob) { - window.navigator.msSaveOrOpenBlob(blob, filename); - } else{ - var e = document.createEvent('MouseEvents'), - a = document.createElement('a'); - a.download = filename; - a.href = window.URL.createObjectURL(blob); - a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':'); - e.initEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); - a.dispatchEvent(e); - } -} -```` - -load file 1 : -```js -input.addEventListener('change', () => { - let files = input.files; - - if (files.length == 0) return; - - /* If any further modifications have to be made on the - Extracted text. The text can be accessed using the - file variable. But since this is const, it is a read - only variable, hence immutable. To make any changes, - changing const to var, here and In the reader.onload - function would be advisible */ - const file = files[0]; - - let reader = new FileReader(); - - reader.onload = (e) => { - const file = e.target.result; - - // This is a regular expression to identify carriage - // Returns and line breaks - const lines = file.split(/\r\n|\n/); - textarea.value = lines.join('\n'); - - }; - - reader.onerror = (e) => alert(e.target.error.name); - - reader.readAsText(file); -}); -```` - -load file 2 : -```js -function onFileLoad(elementId, event) { - document.getElementById(elementId).innerText = event.target.result; -} - -function onChooseFile(event, onLoadFileHandler) { - if (typeof window.FileReader !== 'function') - throw ("The file API isn't supported on this browser."); - let input = event.target; - if (!input) - throw ("The browser does not properly implement the event object"); - if (!input.files) - throw ("This browser does not support the `files` property of the file input."); - if (!input.files[0]) - return undefined; - let file = input.files[0]; - let fr = new FileReader(); - fr.onload = onLoadFileHandler; - fr.readAsText(file); -} -``` -```html - -

-``` -{{%/expand%}} -{{
}} diff --git a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/confirm.md b/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/confirm.md deleted file mode 100644 index 12b9670..0000000 --- a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/confirm.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -hide: -- nextpage - -title: Thank You -weight: 99 -hidden: true - ---- - -Thank You ! \ No newline at end of file diff --git a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/test.md b/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/test.md deleted file mode 100644 index 5014b1c..0000000 --- a/themes/docport/exampleSite/content/content-and-customization/00-adding-content/page-skwad/ex-checklist/test.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -hide: -- nextpage - -title: Test Form -weight: 99 - -checklist: true ---- - -{{