@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.
@@ -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.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=="],
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.2", "", {}, "sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw=="],
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.5",
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
  }