@plutocms/utils 0.0.1-alpha.5 → 0.0.1-alpha.7
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/.github/dependabot.yml +11 -0
- package/.github/workflows/publish.yml +59 -0
- package/.github/workflows/release.yml +110 -0
- package/bun.lock +13 -2
- package/package.json +5 -3
|
@@ -0,0 +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: bun # See documentation for possible values
|
|
9
|
+
directory: / # Location of package manifests
|
|
10
|
+
schedule:
|
|
11
|
+
interval: weekly
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
name: Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [closed]
|
|
6
|
+
branches: [main]
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
publish:
|
|
10
|
+
name: Publish to npm
|
|
11
|
+
# Only run when a release PR (title = vX.X.X) is merged
|
|
12
|
+
if: github.event.pull_request.merged == true && startsWith(github.event.pull_request.title, 'v')
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
permissions:
|
|
15
|
+
contents: write # push tags & create GitHub releases
|
|
16
|
+
id-token: write # npm provenance attestation
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- name: Checkout
|
|
20
|
+
uses: actions/checkout@v4
|
|
21
|
+
|
|
22
|
+
- name: Setup Bun
|
|
23
|
+
uses: oven-sh/setup-bun@v1
|
|
24
|
+
with:
|
|
25
|
+
bun-version: latest
|
|
26
|
+
|
|
27
|
+
- name: Setup Node.js
|
|
28
|
+
uses: actions/setup-node@v4
|
|
29
|
+
with:
|
|
30
|
+
node-version: 24
|
|
31
|
+
registry-url: https://registry.npmjs.org/
|
|
32
|
+
|
|
33
|
+
- name: Configure git
|
|
34
|
+
run: |
|
|
35
|
+
git config user.name "github-actions[bot]"
|
|
36
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
37
|
+
|
|
38
|
+
- name: Install dependencies
|
|
39
|
+
run: bun install --frozen-lockfile
|
|
40
|
+
|
|
41
|
+
- name: Publish to npm
|
|
42
|
+
run: |
|
|
43
|
+
VERSION=$(node -p "require('./package.json').version")
|
|
44
|
+
if [[ "$VERSION" == *-* ]]; then
|
|
45
|
+
TAG=$(echo "$VERSION" | sed -E 's/^[0-9]+\.[0-9]+\.[0-9]+-([a-zA-Z]+).*/\1/')
|
|
46
|
+
else
|
|
47
|
+
TAG=latest
|
|
48
|
+
fi
|
|
49
|
+
npm publish --provenance --access public --tag "$TAG"
|
|
50
|
+
|
|
51
|
+
# Only tag and create the GitHub release after a successful publish
|
|
52
|
+
- name: Create git tag and GitHub release
|
|
53
|
+
run: |
|
|
54
|
+
VERSION=$(node -p "require('./package.json').version")
|
|
55
|
+
git tag "v$VERSION"
|
|
56
|
+
git push origin "v$VERSION"
|
|
57
|
+
gh release create "v$VERSION" --generate-notes --title "v$VERSION"
|
|
58
|
+
env:
|
|
59
|
+
GH_TOKEN: ${{ github.token }}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
bump:
|
|
7
|
+
description: Version bump type (auto-detected from conventional commits if not set)
|
|
8
|
+
required: false
|
|
9
|
+
default: ''
|
|
10
|
+
type: choice
|
|
11
|
+
options:
|
|
12
|
+
- ''
|
|
13
|
+
- patch
|
|
14
|
+
- minor
|
|
15
|
+
- major
|
|
16
|
+
|
|
17
|
+
# Prevent concurrent releases
|
|
18
|
+
concurrency:
|
|
19
|
+
group: release
|
|
20
|
+
cancel-in-progress: false
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
release:
|
|
24
|
+
name: Create Release PR
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
permissions:
|
|
27
|
+
contents: write
|
|
28
|
+
pull-requests: write
|
|
29
|
+
|
|
30
|
+
steps:
|
|
31
|
+
- name: Checkout
|
|
32
|
+
uses: actions/checkout@v4
|
|
33
|
+
with:
|
|
34
|
+
fetch-depth: 0 # full history required by changelogen to read all commits
|
|
35
|
+
|
|
36
|
+
- name: Setup Bun
|
|
37
|
+
uses: oven-sh/setup-bun@v1
|
|
38
|
+
with:
|
|
39
|
+
bun-version: latest
|
|
40
|
+
|
|
41
|
+
- name: Setup Node.js
|
|
42
|
+
uses: actions/setup-node@v4
|
|
43
|
+
with:
|
|
44
|
+
node-version: 24
|
|
45
|
+
|
|
46
|
+
- name: Configure git
|
|
47
|
+
run: |
|
|
48
|
+
git config user.name "github-actions[bot]"
|
|
49
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
50
|
+
|
|
51
|
+
- name: Install dependencies
|
|
52
|
+
run: bun install --frozen-lockfile
|
|
53
|
+
|
|
54
|
+
- name: Lint
|
|
55
|
+
run: bun run lint || true
|
|
56
|
+
|
|
57
|
+
- name: Test
|
|
58
|
+
run: bun test || true
|
|
59
|
+
|
|
60
|
+
# Create a release branch before changelogen, run changelogen and commit on the branch, push, then open PR
|
|
61
|
+
- name: Create release branch
|
|
62
|
+
run: |
|
|
63
|
+
VERSION_BEFORE=$(node -p "require('./package.json').version")
|
|
64
|
+
BRANCH="release/v$VERSION_BEFORE"
|
|
65
|
+
git checkout -b "$BRANCH"
|
|
66
|
+
|
|
67
|
+
# Run changelogen and only commit if there are changes
|
|
68
|
+
- name: Bump version and generate changelog (on release branch)
|
|
69
|
+
id: changelogen
|
|
70
|
+
run: |
|
|
71
|
+
BUMP="${{ inputs.bump }}"
|
|
72
|
+
if [ -n "$BUMP" ]; then
|
|
73
|
+
npx changelogen@latest --$BUMP
|
|
74
|
+
else
|
|
75
|
+
npx changelogen@latest --bump
|
|
76
|
+
fi
|
|
77
|
+
git add package.json CHANGELOG.md || true
|
|
78
|
+
VERSION=$(node -p "require('./package.json').version")
|
|
79
|
+
# Only commit if there are changes
|
|
80
|
+
if ! git diff --cached --quiet; then
|
|
81
|
+
git commit -m "chore(release): v$VERSION"
|
|
82
|
+
echo "has_changes=true" >> $GITHUB_ENV
|
|
83
|
+
else
|
|
84
|
+
echo "No changes to commit. Skipping PR creation."
|
|
85
|
+
echo "has_changes=false" >> $GITHUB_ENV
|
|
86
|
+
fi
|
|
87
|
+
env:
|
|
88
|
+
GH_TOKEN: ${{ github.token }}
|
|
89
|
+
|
|
90
|
+
- name: Push release branch
|
|
91
|
+
if: env.has_changes == 'true'
|
|
92
|
+
run: |
|
|
93
|
+
VERSION=$(node -p "require('./package.json').version")
|
|
94
|
+
BRANCH="release/v$VERSION"
|
|
95
|
+
git push origin "$BRANCH"
|
|
96
|
+
env:
|
|
97
|
+
GH_TOKEN: ${{ github.token }}
|
|
98
|
+
|
|
99
|
+
- name: Create release PR
|
|
100
|
+
if: env.has_changes == 'true'
|
|
101
|
+
run: |
|
|
102
|
+
VERSION=$(node -p "require('./package.json').version")
|
|
103
|
+
BRANCH="release/v$VERSION"
|
|
104
|
+
gh pr create \
|
|
105
|
+
--title "v$VERSION" \
|
|
106
|
+
--body "Release v$VERSION" \
|
|
107
|
+
--base main \
|
|
108
|
+
--head "$BRANCH"
|
|
109
|
+
env:
|
|
110
|
+
GH_TOKEN: ${{ github.token }}
|
package/bun.lock
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"prettier": "^3.7.4",
|
|
16
16
|
"vue": "^3.5.28",
|
|
17
17
|
"vue-router": "^5.0.2",
|
|
18
|
+
"vue-tsc": "^3.3.7",
|
|
18
19
|
},
|
|
19
20
|
},
|
|
20
21
|
},
|
|
@@ -741,6 +742,8 @@
|
|
|
741
742
|
|
|
742
743
|
"@volar/source-map": ["@volar/source-map@2.4.28", "", {}, "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ=="],
|
|
743
744
|
|
|
745
|
+
"@volar/typescript": ["@volar/typescript@2.4.28", "", { "dependencies": { "@volar/language-core": "2.4.28", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw=="],
|
|
746
|
+
|
|
744
747
|
"@vue-macros/common": ["@vue-macros/common@3.1.2", "", { "dependencies": { "@vue/compiler-sfc": "^3.5.22", "ast-kit": "^2.1.2", "local-pkg": "^1.1.2", "magic-string-ast": "^1.0.2", "unplugin-utils": "^0.3.0" }, "peerDependencies": { "vue": "^2.7.0 || ^3.2.25" }, "optionalPeers": ["vue"] }, "sha512-h9t4ArDdniO9ekYHAD95t9AZcAbb19lEGK+26iAjUODOIJKmObDNBSe4+6ELQAA3vtYiFPPBtHh7+cQCKi3Dng=="],
|
|
745
748
|
|
|
746
749
|
"@vue/babel-helper-vue-transform-on": ["@vue/babel-helper-vue-transform-on@2.0.1", "", {}, "sha512-uZ66EaFbnnZSYqYEyplWvn46GhZ1KuYSThdT68p+am7MgBNbQ3hphTL9L+xSIsWkdktwhPYLwPgVWqo96jDdRA=="],
|
|
@@ -765,7 +768,7 @@
|
|
|
765
768
|
|
|
766
769
|
"@vue/devtools-shared": ["@vue/devtools-shared@8.0.6", "", { "dependencies": { "rfdc": "^1.4.1" } }, "sha512-Pp1JylTqlgMJvxW6MGyfTF8vGvlBSCAvMFaDCYa82Mgw7TT5eE5kkHgDvmOGHWeJE4zIDfCpCxHapsK2LtIAJg=="],
|
|
767
770
|
|
|
768
|
-
"@vue/language-core": ["@vue/language-core@3.
|
|
771
|
+
"@vue/language-core": ["@vue/language-core@3.3.7", "", { "dependencies": { "@volar/language-core": "2.4.28", "@vue/compiler-dom": "^3.5.0", "@vue/shared": "^3.5.0", "alien-signals": "^3.2.1", "muggle-string": "^0.4.1", "path-browserify": "^1.0.1", "picomatch": "^4.0.4" } }, "sha512-LzmkKinXAMMoh8Jfi/jMUSDUjuPdv8mynH5WJGKfXyZtDw3hQ6GBaoI6Bcnl/Xqlu32q/0Z6i/trp4VXykzyLw=="],
|
|
769
772
|
|
|
770
773
|
"@vue/reactivity": ["@vue/reactivity@3.5.28", "", { "dependencies": { "@vue/shared": "3.5.28" } }, "sha512-gr5hEsxvn+RNyu9/9o1WtdYdwDjg5FgjUSBEkZWqgTKlo/fvwZ2+8W6AfKsc9YN2k/+iHYdS9vZYAhpi10kNaw=="],
|
|
771
774
|
|
|
@@ -799,7 +802,7 @@
|
|
|
799
802
|
|
|
800
803
|
"ajv": ["ajv@6.14.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw=="],
|
|
801
804
|
|
|
802
|
-
"alien-signals": ["alien-signals@3.1
|
|
805
|
+
"alien-signals": ["alien-signals@3.2.1", "", {}, "sha512-I8FjmltrfnDFoZedi5CG8DghVYNhzb/Ijluz7tCSJH0xpd0484Kowhbb1XDYOxfJpU1p5wnM2X54dA+IfGyD1g=="],
|
|
803
806
|
|
|
804
807
|
"ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="],
|
|
805
808
|
|
|
@@ -2081,6 +2084,8 @@
|
|
|
2081
2084
|
|
|
2082
2085
|
"vue-router": ["vue-router@5.0.3", "", { "dependencies": { "@babel/generator": "^7.28.6", "@vue-macros/common": "^3.1.1", "@vue/devtools-api": "^8.0.6", "ast-walker-scope": "^0.8.3", "chokidar": "^5.0.0", "json5": "^2.2.3", "local-pkg": "^1.1.2", "magic-string": "^0.30.21", "mlly": "^1.8.0", "muggle-string": "^0.4.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", "scule": "^1.3.0", "tinyglobby": "^0.2.15", "unplugin": "^3.0.0", "unplugin-utils": "^0.3.1", "yaml": "^2.8.2" }, "peerDependencies": { "@pinia/colada": ">=0.21.2", "@vue/compiler-sfc": "^3.5.17", "pinia": "^3.0.4", "vue": "^3.5.0" }, "optionalPeers": ["@pinia/colada", "@vue/compiler-sfc", "pinia"] }, "sha512-nG1c7aAFac7NYj8Hluo68WyWfc41xkEjaR0ViLHCa3oDvTQ/nIuLJlXJX1NUPw/DXzx/8+OKMng045HHQKQKWw=="],
|
|
2083
2086
|
|
|
2087
|
+
"vue-tsc": ["vue-tsc@3.3.7", "", { "dependencies": { "@volar/typescript": "2.4.28", "@vue/language-core": "3.3.7" }, "peerDependencies": { "typescript": ">=5.0.0" }, "bin": { "vue-tsc": "bin/vue-tsc.js" } }, "sha512-+C+rgD49wAQ5bUTl2sp5a8Bzg4YoldMNXM+g7CFe604MYcQ8PrZPMQhIjJSzKXtPBCa+C5ayMipqjbA7splekQ=="],
|
|
2088
|
+
|
|
2084
2089
|
"w3c-keyname": ["w3c-keyname@2.2.8", "", {}, "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="],
|
|
2085
2090
|
|
|
2086
2091
|
"webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="],
|
|
@@ -2251,6 +2256,8 @@
|
|
|
2251
2256
|
|
|
2252
2257
|
"@vue/devtools-kit/birpc": ["birpc@2.9.0", "", {}, "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw=="],
|
|
2253
2258
|
|
|
2259
|
+
"@vue/language-core/picomatch": ["picomatch@4.0.5", "", {}, "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A=="],
|
|
2260
|
+
|
|
2254
2261
|
"anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
|
|
2255
2262
|
|
|
2256
2263
|
"archiver-utils/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="],
|
|
@@ -2359,6 +2366,8 @@
|
|
|
2359
2366
|
|
|
2360
2367
|
"unimport/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
|
|
2361
2368
|
|
|
2369
|
+
"unplugin-vue-router/@vue/language-core": ["@vue/language-core@3.2.5", "", { "dependencies": { "@volar/language-core": "2.4.28", "@vue/compiler-dom": "^3.5.0", "@vue/shared": "^3.5.0", "alien-signals": "^3.0.0", "muggle-string": "^0.4.1", "path-browserify": "^1.0.1", "picomatch": "^4.0.2" } }, "sha512-d3OIxN/+KRedeM5wQ6H6NIpwS3P5gC9nmyaHgBk+rO6dIsjY+tOh4UlPpiZbAh3YtLdCGEX4M16RmsBqPmJV+g=="],
|
|
2370
|
+
|
|
2362
2371
|
"untun/citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="],
|
|
2363
2372
|
|
|
2364
2373
|
"untun/pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="],
|
|
@@ -2637,6 +2646,8 @@
|
|
|
2637
2646
|
|
|
2638
2647
|
"string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
|
2639
2648
|
|
|
2649
|
+
"unplugin-vue-router/@vue/language-core/alien-signals": ["alien-signals@3.1.2", "", {}, "sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw=="],
|
|
2650
|
+
|
|
2640
2651
|
"vaul-vue/@vueuse/core/@types/web-bluetooth": ["@types/web-bluetooth@0.0.20", "", {}, "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="],
|
|
2641
2652
|
|
|
2642
2653
|
"vaul-vue/@vueuse/core/@vueuse/metadata": ["@vueuse/metadata@10.11.1", "", {}, "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw=="],
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plutocms/utils",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.1-alpha.
|
|
4
|
+
"version": "0.0.1-alpha.7",
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "Victor Ribeiro",
|
|
7
7
|
"license": "MIT",
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
"postinstall": "nuxt prepare",
|
|
23
23
|
"prettier": "prettier --write .",
|
|
24
24
|
"lint": "eslint .",
|
|
25
|
-
"lint:fix": "eslint . --fix && prettier --write ."
|
|
25
|
+
"lint:fix": "eslint . --fix && prettier --write .",
|
|
26
|
+
"typecheck": "nuxi typecheck"
|
|
26
27
|
},
|
|
27
28
|
"trustedDependencies": [
|
|
28
29
|
"@parcel/watcher",
|
|
@@ -40,6 +41,7 @@
|
|
|
40
41
|
"nuxt": "^4.3.1",
|
|
41
42
|
"prettier": "^3.7.4",
|
|
42
43
|
"vue": "^3.5.28",
|
|
43
|
-
"vue-router": "^5.0.2"
|
|
44
|
+
"vue-router": "^5.0.2",
|
|
45
|
+
"vue-tsc": "^3.3.7"
|
|
44
46
|
}
|
|
45
47
|
}
|