spoko-design-system 0.9.6 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.astro/content.d.ts +1 -1
- package/.astro/settings.json +4 -4
- package/.astro/types.d.ts +2 -1
- package/.github/dependabot.yml +11 -11
- package/.github/todo.yml +3 -3
- package/.github/workflows/deploy.yml +39 -39
- package/.github/workflows/release.yml +64 -0
- package/.releaserc.json +93 -0
- package/.stackblitzrc +5 -5
- package/.vscode/extensions.json +5 -5
- package/.vscode/launch.json +11 -11
- package/.vscode/settings.json +5 -5
- package/CHANGELOG.md +12 -0
- package/CONTRIBUTING.md +183 -0
- package/LICENSE +21 -21
- package/README.md +116 -116
- package/astro-i18next.config.mjs +17 -17
- package/astro-i18next.config.ts +10 -10
- package/astro.config.mjs +86 -86
- package/dev-dist/sw.js +91 -91
- package/dev-dist/workbox-c676b6d3.js +3391 -3391
- package/icon.config.ts +310 -310
- package/index.ts +70 -70
- package/package.json +13 -3
- package/public/arrow-bottom.svg +7 -7
- package/public/fonts/lg.svg +53 -53
- package/public/fonts/vwhead-bold-demo.html +549 -549
- package/public/fonts/vwhead-regular-demo.html +549 -549
- package/public/fonts/vwtext-bold-demo.html +549 -549
- package/public/fonts/vwtext-regular-demo.html +549 -549
- package/public/github.svg +3 -3
- package/public/grid_dot.svg +4 -4
- package/public/linkedin.svg +44 -44
- package/public/locales/en/translation.json +12 -12
- package/public/locales/pl/translation.json +12 -12
- package/public/make-scrollable-code-focusable.js +3 -3
- package/public/pagefind.yml +3 -3
- package/public/polo.blue.svg +29 -29
- package/public/spoko.space.svg +71 -71
- package/public/twitter.svg +46 -46
- package/renovate.json +6 -6
- package/sandbox.config.json +11 -11
- package/src/MyComponent.astro +8 -8
- package/src/components/Badge.vue +19 -19
- package/src/components/Badges.vue +21 -21
- package/src/components/Breadcrumbs.vue +94 -94
- package/src/components/Button.vue +101 -101
- package/src/components/ButtonCopy.astro +183 -183
- package/src/components/ButtonCopy.vue +36 -36
- package/src/components/Card.astro +27 -27
- package/src/components/Carousel.astro +26 -26
- package/src/components/Category/CategoriesCarousel.astro +101 -101
- package/src/components/Category/CategoryDetails.astro +169 -169
- package/src/components/Category/CategoryLink.vue +28 -28
- package/src/components/Category/CategorySidebarToggler.vue +9 -9
- package/src/components/Category/CategoryTile.astro +37 -37
- package/src/components/Category/CategoryViewToggler.astro +89 -89
- package/src/components/Category/SubCategoryLink.vue +19 -19
- package/src/components/Copyright.astro +12 -12
- package/src/components/Date.astro +7 -7
- package/src/components/Faq.astro +33 -33
- package/src/components/FaqItem.astro +80 -80
- package/src/components/FeaturesList.vue +37 -37
- package/src/components/FuckRussia.vue +62 -62
- package/src/components/HandDrive.astro +55 -29
- package/src/components/Header/Header.astro +210 -210
- package/src/components/Header/SkipToContent.astro +1 -1
- package/src/components/Headline.vue +87 -87
- package/src/components/Image.astro +30 -30
- package/src/components/LeftSidebar.astro +53 -53
- package/src/components/MainColors.vue +22 -22
- package/src/components/MainInput.vue +15 -15
- package/src/components/Modal.astro +27 -27
- package/src/components/PageContent.astro +5 -5
- package/src/components/PartNumber.vue +27 -27
- package/src/components/Post/PostCategories.astro +41 -41
- package/src/components/Post/PostCategories.vue +30 -30
- package/src/components/PostHeader.astro +103 -103
- package/src/components/PrCode.vue +141 -141
- package/src/components/Product/ProductButton.vue +18 -18
- package/src/components/Product/ProductCarousel.astro +35 -35
- package/src/components/Product/ProductEngineType.vue +42 -42
- package/src/components/Product/ProductImage.astro +40 -40
- package/src/components/Product/ProductLink.astro +101 -101
- package/src/components/Product/ProductLink.vue +59 -59
- package/src/components/Product/ProductLinkInfo.astro +37 -37
- package/src/components/Product/ProductNumber.astro +60 -60
- package/src/components/ProductCarousel.astro +38 -38
- package/src/components/ProductCodes.vue +39 -39
- package/src/components/ProductDetailName.vue +52 -52
- package/src/components/ProductDetailsList.vue +216 -216
- package/src/components/ProductTile.astro +48 -48
- package/src/components/Quote.vue +23 -23
- package/src/components/ReloadPrompt.astro +50 -50
- package/src/components/SlimBanner.vue +72 -72
- package/src/components/Table.vue +32 -32
- package/src/components/TableOfContents.astro +15 -15
- package/src/components/Translations.vue +23 -23
- package/src/components/flags/FlagPL.vue +3 -3
- package/src/components/flags/FlagUA.vue +2 -2
- package/src/components/{Layout → layout}/CallToAction.astro +52 -52
- package/src/components/{Layout → layout}/Container.astro +7 -7
- package/src/components/{Layout → layout}/Header.astro +80 -80
- package/src/config.ts +56 -56
- package/src/design.config.ts +98 -98
- package/src/env.d.ts +6 -6
- package/src/layouts/Layout.astro +61 -61
- package/src/layouts/MainLayout.astro +81 -81
- package/src/layouts/partials/FooterCommon.astro +4 -4
- package/src/layouts/partials/HeadCommon.astro +44 -44
- package/src/layouts/partials/HeadSEO.astro +41 -41
- package/src/pages/components/badges.mdx +57 -57
- package/src/pages/components/breadcrumbs.mdx +139 -139
- package/src/pages/components/buttons.mdx +360 -360
- package/src/pages/components/card.mdx +294 -294
- package/src/pages/components/carousel.mdx +62 -62
- package/src/pages/components/copyright.mdx +42 -42
- package/src/pages/components/details-list.mdx +115 -115
- package/src/pages/components/features-list.mdx +37 -37
- package/src/pages/components/flags.mdx +49 -49
- package/src/pages/components/fuck-russia.mdx +39 -39
- package/src/pages/components/hand-drive.mdx +105 -38
- package/src/pages/components/headline.mdx +137 -137
- package/src/pages/components/icons.astro +135 -135
- package/src/pages/components/image.mdx +513 -513
- package/src/pages/components/input.mdx +367 -367
- package/src/pages/components/jumbotron.mdx +359 -359
- package/src/pages/components/modal.mdx +64 -64
- package/src/pages/components/post-header.mdx +64 -64
- package/src/pages/components/pr-code.mdx +65 -65
- package/src/pages/components/product-number.mdx +58 -58
- package/src/pages/components/product-tile.mdx +51 -51
- package/src/pages/components/quote.mdx +33 -33
- package/src/pages/components/slimbanner.mdx +35 -35
- package/src/pages/components/table.mdx +108 -108
- package/src/pages/core/colors.mdx +10 -10
- package/src/pages/core/grid.mdx +89 -89
- package/src/pages/core/introduction.mdx +77 -77
- package/src/pages/core/shadows.astro +20 -20
- package/src/pages/core/typography.astro +49 -49
- package/src/pages/index.astro +133 -133
- package/src/pages/patterns/introduction.mdx +60 -60
- package/src/pwa.ts +12 -12
- package/src/styles/_variables.scss +70 -70
- package/src/styles/base/base.css +184 -184
- package/src/styles/base/grid.css +92 -92
- package/src/styles/base/typography.css +70 -70
- package/src/styles/content.css +73 -73
- package/src/styles/main.css +7 -7
- package/src/types/Product.ts +31 -31
- package/src/types/astro.d.ts +3 -3
- package/src/utils/product/getPriceFormatted.ts +15 -15
- package/src/utils/product/getProductChecklist.ts +17 -17
- package/src/utils/product/useFormatProductNumber.ts +41 -41
- package/src/utils/seo/getShorterDescription.ts +14 -14
- package/src/utils/text/formatDate.ts +5 -5
- package/src/utils/text/formatLocaleNumber.ts +6 -6
- package/src/utils/text/formatPad.ts +12 -12
- package/src/utils/text/getNumberFormatted.ts +33 -33
- package/src/utils/text/getTranslatedLink.ts +5 -5
- package/src/utils/text.ts +19 -19
- package/tailwind.config.cjs +8 -8
- package/tsconfig.json +28 -28
- package/uno-config/index.ts +268 -268
- package/uno-config/theme/breakpoints.ts +9 -9
- package/uno-config/theme/colors.ts +64 -64
- package/uno-config/theme/dimensions.ts +17 -17
- package/uno-config/theme/effects.ts +14 -14
- package/uno-config/theme/grid.ts +10 -10
- package/uno-config/theme/index.ts +28 -28
- package/uno-config/theme/shortcuts/buttons.ts +53 -53
- package/uno-config/theme/shortcuts/components.ts +123 -123
- package/uno-config/theme/shortcuts/index.ts +20 -20
- package/uno-config/theme/shortcuts/layout.ts +74 -74
- package/uno-config/theme/typography.ts +29 -29
- package/uno.config.ts +2 -2
package/.astro/content.d.ts
CHANGED
|
@@ -205,6 +205,6 @@ declare module 'astro:content' {
|
|
|
205
205
|
LiveContentConfig['collections'][C]['loader']
|
|
206
206
|
>;
|
|
207
207
|
|
|
208
|
-
export type ContentConfig = typeof import("
|
|
208
|
+
export type ContentConfig = typeof import("../src/content.config.mjs");
|
|
209
209
|
export type LiveContentConfig = never;
|
|
210
210
|
}
|
package/.astro/settings.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_variables": {
|
|
3
|
-
"lastUpdateCheck": 1757938917015
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"_variables": {
|
|
3
|
+
"lastUpdateCheck": 1757938917015
|
|
4
|
+
}
|
|
5
5
|
}
|
package/.astro/types.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
/// <reference types="astro/client" />
|
|
1
|
+
/// <reference types="astro/client" />
|
|
2
|
+
/// <reference path="content.d.ts" />
|
package/.github/dependabot.yml
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
-
# package ecosystems to update and where the package manifests are located.
|
|
3
|
-
# Please see the documentation for all configuration options:
|
|
4
|
-
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
|
5
|
-
|
|
6
|
-
version: 2
|
|
7
|
-
updates:
|
|
8
|
-
- package-ecosystem: "" # See documentation for possible values
|
|
9
|
-
directory: "/" # Location of package manifests
|
|
10
|
-
schedule:
|
|
11
|
-
interval: "weekly"
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
|
3
|
+
# Please see the documentation for all configuration options:
|
|
4
|
+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
updates:
|
|
8
|
+
- package-ecosystem: "" # See documentation for possible values
|
|
9
|
+
directory: "/" # Location of package manifests
|
|
10
|
+
schedule:
|
|
11
|
+
interval: "weekly"
|
package/.github/todo.yml
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
- name: todo-issue
|
|
2
|
-
uses: DerJuulsn/todo-issue@v1.1.4
|
|
3
|
-
|
|
1
|
+
- name: todo-issue
|
|
2
|
+
uses: DerJuulsn/todo-issue@v1.1.4
|
|
3
|
+
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
name: Deploy to GitHub Pages
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
# Trigger the workflow every time you push to the `main` branch
|
|
5
|
-
# Using a different branch name? Replace `main` with your branch’s name
|
|
6
|
-
push:
|
|
7
|
-
branches: [ ma ]
|
|
8
|
-
# Allows you to run this workflow manually from the Actions tab on GitHub.
|
|
9
|
-
workflow_dispatch:
|
|
10
|
-
|
|
11
|
-
# Allow this job to clone the repo and create a page deployment
|
|
12
|
-
permissions:
|
|
13
|
-
contents: read
|
|
14
|
-
pages: write
|
|
15
|
-
id-token: write
|
|
16
|
-
|
|
17
|
-
jobs:
|
|
18
|
-
build:
|
|
19
|
-
runs-on: ubuntu-latest
|
|
20
|
-
steps:
|
|
21
|
-
- name: Checkout your repository using git
|
|
22
|
-
uses: actions/checkout@v4
|
|
23
|
-
- name: Install, build, and upload your site
|
|
24
|
-
uses: withastro/action@v3
|
|
25
|
-
with:
|
|
26
|
-
pnpm@latest
|
|
27
|
-
# path: . # The root location of your Astro project inside the repository. (optional)
|
|
28
|
-
# node-version: 18 # The specific version of Node that should be used to build your site. Defaults to 18. (optional)
|
|
29
|
-
# package-manager: pnpm@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional)
|
|
30
|
-
|
|
31
|
-
deploy:
|
|
32
|
-
needs: build
|
|
33
|
-
runs-on: ubuntu-latest
|
|
34
|
-
environment:
|
|
35
|
-
name: github-pages
|
|
36
|
-
url: ${{ steps.deployment.outputs.page_url }}
|
|
37
|
-
steps:
|
|
38
|
-
- name: Deploy to GitHub Pages
|
|
39
|
-
id: deployment
|
|
1
|
+
name: Deploy to GitHub Pages
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
# Trigger the workflow every time you push to the `main` branch
|
|
5
|
+
# Using a different branch name? Replace `main` with your branch’s name
|
|
6
|
+
push:
|
|
7
|
+
branches: [ ma ]
|
|
8
|
+
# Allows you to run this workflow manually from the Actions tab on GitHub.
|
|
9
|
+
workflow_dispatch:
|
|
10
|
+
|
|
11
|
+
# Allow this job to clone the repo and create a page deployment
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
pages: write
|
|
15
|
+
id-token: write
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
build:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
steps:
|
|
21
|
+
- name: Checkout your repository using git
|
|
22
|
+
uses: actions/checkout@v4
|
|
23
|
+
- name: Install, build, and upload your site
|
|
24
|
+
uses: withastro/action@v3
|
|
25
|
+
with:
|
|
26
|
+
pnpm@latest
|
|
27
|
+
# path: . # The root location of your Astro project inside the repository. (optional)
|
|
28
|
+
# node-version: 18 # The specific version of Node that should be used to build your site. Defaults to 18. (optional)
|
|
29
|
+
# package-manager: pnpm@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional)
|
|
30
|
+
|
|
31
|
+
deploy:
|
|
32
|
+
needs: build
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
environment:
|
|
35
|
+
name: github-pages
|
|
36
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
37
|
+
steps:
|
|
38
|
+
- name: Deploy to GitHub Pages
|
|
39
|
+
id: deployment
|
|
40
40
|
uses: actions/deploy-pages@v4
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
- next
|
|
8
|
+
- beta
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: write
|
|
12
|
+
issues: write
|
|
13
|
+
pull-requests: write
|
|
14
|
+
id-token: write
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
release:
|
|
18
|
+
name: Release
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout
|
|
24
|
+
uses: actions/checkout@v4
|
|
25
|
+
with:
|
|
26
|
+
fetch-depth: 0
|
|
27
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
28
|
+
|
|
29
|
+
- name: Setup Node.js
|
|
30
|
+
uses: actions/setup-node@v4
|
|
31
|
+
with:
|
|
32
|
+
node-version: 20
|
|
33
|
+
registry-url: 'https://registry.npmjs.org'
|
|
34
|
+
|
|
35
|
+
- name: Setup pnpm
|
|
36
|
+
uses: pnpm/action-setup@v4
|
|
37
|
+
with:
|
|
38
|
+
version: 10.16.1
|
|
39
|
+
|
|
40
|
+
- name: Get pnpm store directory
|
|
41
|
+
shell: bash
|
|
42
|
+
run: |
|
|
43
|
+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
|
44
|
+
|
|
45
|
+
- name: Setup pnpm cache
|
|
46
|
+
uses: actions/cache@v4
|
|
47
|
+
with:
|
|
48
|
+
path: ${{ env.STORE_PATH }}
|
|
49
|
+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
50
|
+
restore-keys: |
|
|
51
|
+
${{ runner.os }}-pnpm-store-
|
|
52
|
+
|
|
53
|
+
- name: Install dependencies
|
|
54
|
+
run: pnpm install --frozen-lockfile
|
|
55
|
+
|
|
56
|
+
- name: Build package
|
|
57
|
+
run: pnpm run build
|
|
58
|
+
|
|
59
|
+
- name: Release
|
|
60
|
+
env:
|
|
61
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
62
|
+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
63
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
64
|
+
run: pnpm exec semantic-release
|
package/.releaserc.json
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"branches": [
|
|
3
|
+
"main",
|
|
4
|
+
{
|
|
5
|
+
"name": "next",
|
|
6
|
+
"prerelease": true
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": "beta",
|
|
10
|
+
"prerelease": true
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"plugins": [
|
|
14
|
+
"@semantic-release/commit-analyzer",
|
|
15
|
+
"@semantic-release/release-notes-generator",
|
|
16
|
+
"@semantic-release/changelog",
|
|
17
|
+
[
|
|
18
|
+
"@semantic-release/npm",
|
|
19
|
+
{
|
|
20
|
+
"npmPublish": true,
|
|
21
|
+
"tarballDir": "dist"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"@semantic-release/github",
|
|
25
|
+
[
|
|
26
|
+
"@semantic-release/git",
|
|
27
|
+
{
|
|
28
|
+
"assets": [
|
|
29
|
+
"package.json",
|
|
30
|
+
"CHANGELOG.md"
|
|
31
|
+
],
|
|
32
|
+
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
],
|
|
36
|
+
"preset": "conventionalcommits",
|
|
37
|
+
"parserOpts": {
|
|
38
|
+
"noteKeywords": [
|
|
39
|
+
"BREAKING CHANGE",
|
|
40
|
+
"BREAKING CHANGES"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"writerOpts": {
|
|
44
|
+
"commitsSort": [
|
|
45
|
+
"subject",
|
|
46
|
+
"scope"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"analyzeCommits": {
|
|
50
|
+
"releaseRules": [
|
|
51
|
+
{
|
|
52
|
+
"type": "feat",
|
|
53
|
+
"release": "minor"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "fix",
|
|
57
|
+
"release": "patch"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "perf",
|
|
61
|
+
"release": "patch"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"type": "refactor",
|
|
65
|
+
"release": "patch"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"type": "style",
|
|
69
|
+
"release": "patch"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "docs",
|
|
73
|
+
"release": "patch"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"type": "test",
|
|
77
|
+
"release": false
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "ci",
|
|
81
|
+
"release": false
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "chore",
|
|
85
|
+
"release": false
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"scope": "BREAKING CHANGE",
|
|
89
|
+
"release": "major"
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
}
|
package/.stackblitzrc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
{
|
|
2
|
-
"startCommand": "npm start",
|
|
3
|
-
"env": {
|
|
4
|
-
"ENABLE_CJS_IMPORTS": true
|
|
5
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"startCommand": "npm start",
|
|
3
|
+
"env": {
|
|
4
|
+
"ENABLE_CJS_IMPORTS": true
|
|
5
|
+
}
|
|
6
6
|
}
|
package/.vscode/extensions.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
{
|
|
2
|
-
"recommendations": ["astro-build.astro-vscode"],
|
|
3
|
-
"unwantedRecommendations": [],
|
|
4
|
-
"lokalise.i18n-ally"
|
|
5
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"recommendations": ["astro-build.astro-vscode"],
|
|
3
|
+
"unwantedRecommendations": [],
|
|
4
|
+
"lokalise.i18n-ally"
|
|
5
|
+
}
|
package/.vscode/launch.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "0.2.0",
|
|
3
|
-
"configurations": [
|
|
4
|
-
{
|
|
5
|
-
"command": "./node_modules/.bin/astro dev",
|
|
6
|
-
"name": "Development server",
|
|
7
|
-
"request": "launch",
|
|
8
|
-
"type": "node-terminal"
|
|
9
|
-
}
|
|
10
|
-
]
|
|
11
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"configurations": [
|
|
4
|
+
{
|
|
5
|
+
"command": "./node_modules/.bin/astro dev",
|
|
6
|
+
"name": "Development server",
|
|
7
|
+
"request": "launch",
|
|
8
|
+
"type": "node-terminal"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
|
+
}
|
package/.vscode/settings.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
{
|
|
2
|
-
"i18n-ally.sourceLanguage": "en",
|
|
3
|
-
"i18n-ally.keystyle": "nested",
|
|
4
|
-
"i18n-ally.localesPaths": "public/locales",
|
|
5
|
-
"i18n-ally.sortKeys": true,
|
|
1
|
+
{
|
|
2
|
+
"i18n-ally.sourceLanguage": "en",
|
|
3
|
+
"i18n-ally.keystyle": "nested",
|
|
4
|
+
"i18n-ally.localesPaths": "public/locales",
|
|
5
|
+
"i18n-ally.sortKeys": true,
|
|
6
6
|
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
## 1.0.0 (2025-09-23)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* add automated semantic-release with HandDrive component improvements ([dd5f138](https://github.com/polo-blue/sds/commit/dd5f138636d90b3d0932c67c51afd39e42fab35a))
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* add missing conventional-changelog-conventionalcommits dependency ([ad4f47b](https://github.com/polo-blue/sds/commit/ad4f47b47f5de6f684bdbea84a839f5d5642cb62))
|
|
10
|
+
* add updated pnpm-lock.yaml for semantic-release dependencies ([9ac21c9](https://github.com/polo-blue/sds/commit/9ac21c9150f8cfc997767d7c302a999d92b2fb01))
|
|
11
|
+
* correct semantic-release version and update lockfile ([dbee5ef](https://github.com/polo-blue/sds/commit/dbee5efbadcfc4dde616ca163ff496ecffd3f15a))
|
|
12
|
+
* update pnpm version in GitHub Actions to match package.json ([2b25473](https://github.com/polo-blue/sds/commit/2b25473148265e85660209ba457a0aea0c190dcd))
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# Contributing to Spoko Design System
|
|
2
|
+
|
|
3
|
+
## 🚀 Automated Release Process
|
|
4
|
+
|
|
5
|
+
This project uses **semantic-release** for fully automated version management and package publishing.
|
|
6
|
+
|
|
7
|
+
### How It Works
|
|
8
|
+
|
|
9
|
+
1. **Conventional Commits** - All commits must follow the conventional commit format
|
|
10
|
+
2. **Automated Versioning** - Version bumps are determined automatically from commit messages
|
|
11
|
+
3. **Automated Publishing** - Packages are published to npm automatically on main branch
|
|
12
|
+
4. **Changelog Generation** - CHANGELOG.md is automatically updated with each release
|
|
13
|
+
|
|
14
|
+
### Commit Message Format
|
|
15
|
+
|
|
16
|
+
We use [Conventional Commits](https://www.conventionalcommits.org/) specification:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
<type>[optional scope]: <description>
|
|
20
|
+
|
|
21
|
+
[optional body]
|
|
22
|
+
|
|
23
|
+
[optional footer(s)]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
#### Commit Types
|
|
27
|
+
|
|
28
|
+
| Type | Description | Version Bump |
|
|
29
|
+
|------|-------------|--------------|
|
|
30
|
+
| `feat` | New feature | **MINOR** (0.1.0) |
|
|
31
|
+
| `fix` | Bug fix | **PATCH** (0.0.1) |
|
|
32
|
+
| `perf` | Performance improvement | **PATCH** (0.0.1) |
|
|
33
|
+
| `refactor` | Code refactoring | **PATCH** (0.0.1) |
|
|
34
|
+
| `style` | Code style changes | **PATCH** (0.0.1) |
|
|
35
|
+
| `docs` | Documentation changes | **PATCH** (0.0.1) |
|
|
36
|
+
| `test` | Test changes | **No release** |
|
|
37
|
+
| `ci` | CI/CD changes | **No release** |
|
|
38
|
+
| `chore` | Maintenance tasks | **No release** |
|
|
39
|
+
|
|
40
|
+
#### Breaking Changes
|
|
41
|
+
|
|
42
|
+
For **MAJOR** version bumps, include `BREAKING CHANGE:` in the commit footer:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
feat!: remove deprecated HandDrive numeric API
|
|
46
|
+
|
|
47
|
+
BREAKING CHANGE: HandDrive component now only accepts 'lhd' | 'rhd' strings instead of numbers
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Examples
|
|
51
|
+
|
|
52
|
+
#### ✅ Good Commit Messages
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# New component (minor release)
|
|
56
|
+
feat(components): add Button component with variants
|
|
57
|
+
|
|
58
|
+
# Bug fix (patch release)
|
|
59
|
+
fix(HandDrive): handle null values correctly
|
|
60
|
+
|
|
61
|
+
# Breaking change (major release)
|
|
62
|
+
feat!: update HandDrive API to use strings
|
|
63
|
+
|
|
64
|
+
BREAKING CHANGE: handDrive prop now accepts 'lhd' | 'rhd' instead of 1 | 2
|
|
65
|
+
|
|
66
|
+
# Documentation update (patch release)
|
|
67
|
+
docs: update HandDrive component examples
|
|
68
|
+
|
|
69
|
+
# No release
|
|
70
|
+
test: add HandDrive component tests
|
|
71
|
+
chore: update dependencies
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
#### ❌ Bad Commit Messages
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Too vague
|
|
78
|
+
fix: bug fix
|
|
79
|
+
|
|
80
|
+
# No conventional format
|
|
81
|
+
Updated the HandDrive component
|
|
82
|
+
|
|
83
|
+
# Missing type
|
|
84
|
+
add new button component
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Release Branches
|
|
88
|
+
|
|
89
|
+
| Branch | Purpose | Release Type |
|
|
90
|
+
|--------|---------|--------------|
|
|
91
|
+
| `main` | Production releases | **Stable** |
|
|
92
|
+
| `next` | Next major version | **Pre-release** |
|
|
93
|
+
| `beta` | Beta features | **Pre-release** |
|
|
94
|
+
|
|
95
|
+
### Workflow
|
|
96
|
+
|
|
97
|
+
1. **Create Feature Branch**
|
|
98
|
+
```bash
|
|
99
|
+
git checkout -b feat/new-component
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
2. **Make Changes & Commit**
|
|
103
|
+
```bash
|
|
104
|
+
git add .
|
|
105
|
+
git commit -m "feat(components): add NewComponent with TypeScript support"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
3. **Push & Create PR**
|
|
109
|
+
```bash
|
|
110
|
+
git push origin feat/new-component
|
|
111
|
+
# Create PR to main branch
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
4. **Merge to Main**
|
|
115
|
+
- Once PR is approved and merged to `main`
|
|
116
|
+
- GitHub Actions will automatically:
|
|
117
|
+
- Analyze commit messages
|
|
118
|
+
- Determine version bump
|
|
119
|
+
- Update package.json
|
|
120
|
+
- Generate CHANGELOG.md
|
|
121
|
+
- Create GitHub release
|
|
122
|
+
- Publish to npm
|
|
123
|
+
|
|
124
|
+
### Manual Release (if needed)
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Install dependencies
|
|
128
|
+
pnpm install
|
|
129
|
+
|
|
130
|
+
# Run semantic-release locally
|
|
131
|
+
pnpm run semantic-release
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Setup Requirements
|
|
135
|
+
|
|
136
|
+
#### GitHub Repository Secrets
|
|
137
|
+
|
|
138
|
+
Add these secrets to your GitHub repository settings:
|
|
139
|
+
|
|
140
|
+
1. **NPM_TOKEN** - npm authentication token
|
|
141
|
+
```bash
|
|
142
|
+
# Create npm token
|
|
143
|
+
npm login
|
|
144
|
+
npm token create --access=public
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
2. **GITHUB_TOKEN** - Automatically provided by GitHub Actions
|
|
148
|
+
|
|
149
|
+
#### npm Authentication
|
|
150
|
+
|
|
151
|
+
Make sure your npm account has publish access to the `spoko-design-system` package.
|
|
152
|
+
|
|
153
|
+
### Version History
|
|
154
|
+
|
|
155
|
+
All releases are automatically documented in:
|
|
156
|
+
- [CHANGELOG.md](./CHANGELOG.md) - Detailed changelog
|
|
157
|
+
- [GitHub Releases](https://github.com/polo-blue/sds/releases) - Release notes
|
|
158
|
+
- [npm Versions](https://www.npmjs.com/package/spoko-design-system?activeTab=versions) - Published versions
|
|
159
|
+
|
|
160
|
+
### Troubleshooting
|
|
161
|
+
|
|
162
|
+
#### Release Didn't Trigger
|
|
163
|
+
- Check commit message follows conventional format
|
|
164
|
+
- Ensure commit was pushed to `main` branch
|
|
165
|
+
- Check GitHub Actions logs
|
|
166
|
+
|
|
167
|
+
#### Release Failed
|
|
168
|
+
- Check NPM_TOKEN is valid and has publish permissions
|
|
169
|
+
- Verify package.json version is correct
|
|
170
|
+
- Check for breaking changes in dependencies
|
|
171
|
+
|
|
172
|
+
#### Skip Release
|
|
173
|
+
Add `[skip ci]` to commit message to skip release:
|
|
174
|
+
```bash
|
|
175
|
+
git commit -m "docs: update README [skip ci]"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## 📦 Package Information
|
|
179
|
+
|
|
180
|
+
- **Current Version**: 
|
|
181
|
+
- **Downloads**: 
|
|
182
|
+
- **License**: MIT
|
|
183
|
+
- **Repository**: https://github.com/polo-blue/sds
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2022 Jordi Enric Roig Ramis
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 Jordi Enric Roig Ramis
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|