From 9b57e2bd10af25936462cbf50aab6aad6fac7c1d Mon Sep 17 00:00:00 2001 From: Github Actions Date: Tue, 17 Mar 2026 11:38:16 +0000 Subject: [PATCH 1/8] Version bump --- box.json | 2 +- changelog.md | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/box.json b/box.json index 22f3d9e..5c400cd 100755 --- a/box.json +++ b/box.json @@ -1,6 +1,6 @@ { "name":"Vite Based ColdBox Template", - "version":"8.2.0", + "version":"8.3.0", "author":"You", "location":"forgeboxStorage", "slug":"cbtemplate-vite", diff --git a/changelog.md b/changelog.md index 67fc405..c23800b 100644 --- a/changelog.md +++ b/changelog.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [8.2.0] - 2026-03-17 + ## [8.1.0] - 2025-10-10 ## [8.0.1] - 2025-06-11 @@ -46,7 +48,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Cleanup of `tests` to new standards - Added routing conventions to make it easier for the cli to add routes. -[unreleased]: https://github.com/coldbox-templates/vite/compare/v8.1.0...HEAD +[unreleased]: https://github.com/coldbox-templates/vite/compare/v8.2.0...HEAD +[8.2.0]: https://github.com/coldbox-templates/vite/compare/v8.1.0...v8.2.0 [8.1.0]: https://github.com/coldbox-templates/vite/compare/v8.0.1...v8.1.0 [8.0.1]: https://github.com/coldbox-templates/vite/compare/v7.4.0...v8.0.1 [7.4.0]: https://github.com/coldbox-templates/vite/compare/v7.2.0...v7.4.0 From 48d52e41b294d6ab7b02c514736b97d6bcb2140c Mon Sep 17 00:00:00 2001 From: Luis Majano Date: Fri, 1 May 2026 12:18:49 -0400 Subject: [PATCH 2/8] Added BoxLang Format --- .bxformat.json | 125 +++++++++++++++++++++++++++++++++++++++++++++++++ .cfformat.json | 63 ------------------------- 2 files changed, 125 insertions(+), 63 deletions(-) create mode 100644 .bxformat.json delete mode 100644 .cfformat.json diff --git a/.bxformat.json b/.bxformat.json new file mode 100644 index 0000000..ad1d254 --- /dev/null +++ b/.bxformat.json @@ -0,0 +1,125 @@ +{ + "indentSize" : 4, + "tabIndent" : true, + "maxLineLength" : 115, + "newLine" : "\n", + "singleQuote" : false, + "preserveStringQuotes" : false, + "alignConsecutiveAssignments" : true, + "alignConsecutiveProperties" : true, + "bracketPadding" : true, + "parensPadding" : true, + "binaryOperatorsPadding" : true, + "semicolons" : true, + "cfFormatCompatibility" : true, + "sourceType" : null, + "struct" : { + "padding" : true, + "empty_padding" : false, + "quote_keys" : false, + "separator" : " : ", + "multiline" : { + "element_count" : 2, + "comma_dangle" : false, + "leading_comma" : { + "enabled" : false, + "padding" : true + }, + "min_length" : 60 + } + }, + "property" : { + "multiline" : { + "element_count" : 3, + "comma_dangle" : false, + "leading_comma" : { + "enabled" : false, + "padding" : true + }, + "min_length" : 30 + }, + "key_value" : { + "padding" : false + } + }, + "array" : { + "padding" : true, + "empty_padding" : false, + "multiline" : { + "element_count" : 2, + "comma_dangle" : false, + "leading_comma" : { + "enabled" : false, + "padding" : true + }, + "min_length" : 50 + } + }, + "for_loop_semicolons" : { + "padding" : true + }, + "function" : { + "style" : "preserve", + "parameters" : { + "padding" : true, + "empty_padding" : false, + "comma_dangle" : false, + "multiline_count" : 3, + "multiline_length" : 50 + }, + "arrow" : { + "parens" : "always" + } + }, + "arguments" : { + "padding" : true, + "empty_padding" : false, + "comma_dangle" : false, + "multiline_count" : 3, + "multiline_length" : 50 + }, + "braces" : { + "style" : "same-line", + "require_for_single_statement" : true, + "else" : { + "style" : "same-line" + } + }, + "operators" : { + "position" : "end", + "comparison_style" : "preserve", + "ternary" : { + "style" : "flat", + "question_position" : "start" + } + }, + "chain" : { + "break_count" : 3, + "break_length" : 2147483647 + }, + "template" : { + "component_prefix" : "bx", + "indent_content" : true, + "single_attribute_per_line" : false, + "self_closing" : false + }, + "import" : { + "sort" : false, + "group" : false + }, + "comments" : { + "preserve_blank_lines" : true, + "wrap" : false + }, + "class" : { + "member_order" : "preserve", + "member_spacing" : 1, + "property_order" : "preserve", + "method_order" : "preserve", + "method_grouping" : false + }, + "sql" : { + "uppercase_keywords" : true, + "indent_clauses" : true + } +} \ No newline at end of file diff --git a/.cfformat.json b/.cfformat.json deleted file mode 100644 index 443ef67..0000000 --- a/.cfformat.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "array.empty_padding": false, - "array.padding": true, - "array.multiline.min_length": 50, - "array.multiline.element_count": 2, - "array.multiline.leading_comma.padding": true, - "array.multiline.leading_comma": false, - "alignment.consecutive.assignments": true, - "alignment.consecutive.properties": true, - "alignment.consecutive.params": true, - "alignment.doc_comments" : true, - "brackets.padding": true, - "comment.asterisks": "align", - "binary_operators.padding": true, - "for_loop_semicolons.padding": true, - "function_call.empty_padding": false, - "function_call.padding": true, - "function_call.multiline.leading_comma.padding": true, - "function_call.casing.builtin": "cfdocs", - "function_call.casing.userdefined": "camel", - "function_call.multiline.element_count": 3, - "function_call.multiline.leading_comma": false, - "function_call.multiline.min_length": 50, - "function_declaration.padding": true, - "function_declaration.empty_padding": false, - "function_declaration.multiline.leading_comma": false, - "function_declaration.multiline.leading_comma.padding": true, - "function_declaration.multiline.element_count": 3, - "function_declaration.multiline.min_length": 50, - "function_declaration.group_to_block_spacing": "compact", - "function_anonymous.empty_padding": false, - "function_anonymous.group_to_block_spacing": "compact", - "function_anonymous.multiline.element_count": 3, - "function_anonymous.multiline.leading_comma": false, - "function_anonymous.multiline.leading_comma.padding": true, - "function_anonymous.multiline.min_length": 50, - "function_anonymous.padding": true, - "indent_size": 4, - "keywords.block_to_keyword_spacing": "spaced", - "keywords.group_to_block_spacing": "spaced", - "keywords.padding_inside_group": true, - "keywords.spacing_to_block": "spaced", - "keywords.spacing_to_group": true, - "keywords.empty_group_spacing": false, - "max_columns": 115, - "metadata.multiline.element_count": 3, - "metadata.multiline.min_length": 50, - "method_call.chain.multiline" : 3, - "newline":"\n", - "property.multiline.element_count": 3, - "property.multiline.min_length": 30, - "parentheses.padding": true, - "strings.quote": "double", - "strings.attributes.quote": "double", - "struct.separator": " : ", - "struct.padding": true, - "struct.empty_padding": false, - "struct.multiline.leading_comma": false, - "struct.multiline.leading_comma.padding": true, - "struct.multiline.element_count": 2, - "struct.multiline.min_length": 60, - "tab_indent": true -} From 8ad5d3211a784d99d547deece20a2342819239a2 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Fri, 1 May 2026 16:23:21 +0000 Subject: [PATCH 3/8] Version bump --- box.json | 2 +- changelog.md | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/box.json b/box.json index 5c400cd..24f642d 100755 --- a/box.json +++ b/box.json @@ -1,6 +1,6 @@ { "name":"Vite Based ColdBox Template", - "version":"8.3.0", + "version":"8.4.0", "author":"You", "location":"forgeboxStorage", "slug":"cbtemplate-vite", diff --git a/changelog.md b/changelog.md index c23800b..16ff78c 100644 --- a/changelog.md +++ b/changelog.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [8.3.0] - 2026-05-01 + ## [8.2.0] - 2026-03-17 ## [8.1.0] - 2025-10-10 @@ -48,7 +50,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Cleanup of `tests` to new standards - Added routing conventions to make it easier for the cli to add routes. -[unreleased]: https://github.com/coldbox-templates/vite/compare/v8.2.0...HEAD +[unreleased]: https://github.com/coldbox-templates/vite/compare/v8.3.0...HEAD +[8.3.0]: https://github.com/coldbox-templates/vite/compare/v8.2.0...v8.3.0 [8.2.0]: https://github.com/coldbox-templates/vite/compare/v8.1.0...v8.2.0 [8.1.0]: https://github.com/coldbox-templates/vite/compare/v8.0.1...v8.1.0 [8.0.1]: https://github.com/coldbox-templates/vite/compare/v7.4.0...v8.0.1 From 0d9436b5533e1a99f939976173d32dfc2842d4fe Mon Sep 17 00:00:00 2001 From: Luis Majano Date: Wed, 20 May 2026 16:31:42 +0200 Subject: [PATCH 4/8] new formatting --- .bxformat.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.bxformat.json b/.bxformat.json index ad1d254..59154e7 100644 --- a/.bxformat.json +++ b/.bxformat.json @@ -1,12 +1,12 @@ { "indentSize" : 4, "tabIndent" : true, - "maxLineLength" : 115, + "maxLineLength" : 120, "newLine" : "\n", "singleQuote" : false, "preserveStringQuotes" : false, "alignConsecutiveAssignments" : true, - "alignConsecutiveProperties" : true, + "alignConsecutiveProperties" : false, "bracketPadding" : true, "parensPadding" : true, "binaryOperatorsPadding" : true, @@ -17,9 +17,9 @@ "padding" : true, "empty_padding" : false, "quote_keys" : false, - "separator" : " : ", + "separator" : ": ", "multiline" : { - "element_count" : 2, + "element_count" : 5, "comma_dangle" : false, "leading_comma" : { "enabled" : false, @@ -30,13 +30,13 @@ }, "property" : { "multiline" : { - "element_count" : 3, + "element_count" : 5, "comma_dangle" : false, "leading_comma" : { "enabled" : false, "padding" : true }, - "min_length" : 30 + "min_length" : 80 }, "key_value" : { "padding" : false @@ -46,13 +46,13 @@ "padding" : true, "empty_padding" : false, "multiline" : { - "element_count" : 2, + "element_count" : 5, "comma_dangle" : false, "leading_comma" : { "enabled" : false, "padding" : true }, - "min_length" : 50 + "min_length" : 60 } }, "for_loop_semicolons" : { @@ -64,7 +64,7 @@ "padding" : true, "empty_padding" : false, "comma_dangle" : false, - "multiline_count" : 3, + "multiline_count" : 5, "multiline_length" : 50 }, "arrow" : { @@ -76,7 +76,7 @@ "empty_padding" : false, "comma_dangle" : false, "multiline_count" : 3, - "multiline_length" : 50 + "multiline_length" : 60 }, "braces" : { "style" : "same-line", @@ -99,12 +99,12 @@ }, "template" : { "component_prefix" : "bx", - "indent_content" : true, + "indent_content" : false, "single_attribute_per_line" : false, "self_closing" : false }, "import" : { - "sort" : false, + "sort" : true, "group" : false }, "comments" : { @@ -116,7 +116,7 @@ "member_spacing" : 1, "property_order" : "preserve", "method_order" : "preserve", - "method_grouping" : false + "method_grouping" : true }, "sql" : { "uppercase_keywords" : true, From 44918c93e65cbe1dc6935fd74f399fa446361b4a Mon Sep 17 00:00:00 2001 From: Luis Majano Date: Wed, 20 May 2026 16:37:04 +0200 Subject: [PATCH 5/8] Update template with latest changes --- box.json | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/box.json b/box.json index 24f642d..1967774 100755 --- a/box.json +++ b/box.json @@ -25,8 +25,7 @@ ".github/PULL_REQUEST_TEMPLATE.md" ], "devDependencies":{ - "testbox":"^6.0.0", - "commandbox-cfformat":"*" + "testbox":"^6.0.0" }, "installPaths":{ "coldbox":"coldbox/", @@ -39,9 +38,8 @@ }, "scripts":{ "postInstall":"pathExists .env || cp .env.example .env && package set ignore=[]", - "format":"cfformat run config/,handlers/,interceptors/,models/,modules_app/,tests/specs/,*.cfc ./.cfformat.json --overwrite", - "format:check":"cfformat check config/,handlers/,interceptors/,models/,modules_app/,tests/specs/,*.cfc ./.cfformat.json", - "format:watch":"cfformat watch path='config/,handlers/,interceptors/,models/,modules_app/,tests/specs/,*.cfc' settingsPath='.cfformat.json'", + "format":"!boxlang format --source config/,handlers/,interceptors/,models/,modules_app/,tests/specs/,*.cfc", + "format:check":"!boxlang format --check --source config/,handlers/,interceptors/,models/,modules_app/,tests/specs/,*.cfc", "docker:build":"!docker build --no-cache -t my-coldbox-app -f ./docker/Dockerfile ./", "docker:run":"!docker run -it -p 8080:8080 my-coldbox-app", "docker:bash":"!docker run -it my-coldbox-app /bin/bash", From e5302fd07f3c257be32c6fe773ff0c387d15d420 Mon Sep 17 00:00:00 2001 From: Luis Majano Date: Wed, 20 May 2026 16:43:31 +0200 Subject: [PATCH 6/8] Update template with latest changes --- .github/workflows/snapshot.yml | 46 +++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index 3f3efef..0d2f4d2 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -5,6 +5,11 @@ on: branches: - 'development' +# Unique group name per workflow-branch/tag combo +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: ########################################################################################## # Tests @@ -16,32 +21,33 @@ jobs: ########################################################################################## # Format Source Code ########################################################################################## - format: - name: Code Auto-Formatting - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Setup CommandBox CLI - uses: Ortus-Solutions/setup-commandbox@v2.0.1 - - - name: Auto-format - run: | - box install commandbox-cfformat - box run-script format - - - name: Commit Format Changes - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: Apply cfformat changes - push_options: --force + # Will enable once we have more testing in. + # format: + # name: Code Auto-Formatting + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v6 + + # - name: Setup CommandBox CLI + # uses: Ortus-Solutions/setup-commandbox@v2.0.1 + + # - name: Auto-format + # run: | + # box install commandbox-cfformat + # box run-script format + + # - name: Commit Format Changes + # uses: stefanzweifel/git-auto-commit-action@v4 + # with: + # commit_message: Apply cfformat changes + # push_options: --force ########################################################################################## # Release it ########################################################################################## release: uses: ./.github/workflows/release.yml - needs: [ tests, format ] + needs: [ tests ] secrets: inherit with: snapshot: true From 7097f790beacf206c61881026ce6c7f52f2c4595 Mon Sep 17 00:00:00 2001 From: Luis Majano Date: Mon, 15 Jun 2026 17:53:56 +0200 Subject: [PATCH 7/8] Update template with latest changes --- .bxlint.json | 68 +++++++++++++++++++++++++++++++++++++ .cflintrc | 79 ------------------------------------------- .vscode/settings.json | 16 +++------ 3 files changed, 72 insertions(+), 91 deletions(-) create mode 100644 .bxlint.json delete mode 100644 .cflintrc diff --git a/.bxlint.json b/.bxlint.json new file mode 100644 index 0000000..14b2ed0 --- /dev/null +++ b/.bxlint.json @@ -0,0 +1,68 @@ +{ + "diagnostics": { + "duplicateMethod": { + "enabled": true, + "severity": "error" + }, + "duplicateProperty": { + "enabled": true, + "severity": "error" + }, + "emptyCatchBlock": { + "enabled": true, + "severity": "warning" + }, + "invalidExtends": { + "enabled": false, + "severity": "error" + }, + "invalidImplements": { + "enabled": false, + "severity": "error" + }, + "missingQueryParamCfsqltype": { + "enabled": true, + "severity": "warning" + }, + "missingReturnStatement": { + "enabled": true, + "severity": "warning" + }, + "shadowedVariable": { + "enabled": true, + "severity": "warning" + }, + "unescapedQueryParam": { + "enabled": true, + "severity": "warning" + }, + "unreachableCode": { + "enabled": true, + "severity": "warning" + }, + "unscopedVariable": { + "enabled": true, + "severity": "warning" + }, + "unusedImport": { + "enabled": true, + "severity": "warning" + }, + "unusedPrivateMethod": { + "enabled": true, + "severity": "warning" + }, + "unusedVariable": { + "enabled": true, + "severity": "hint" + } + }, + "include": [], + "exclude": [], + "mappings": {}, + "formatting": { + "experimental": { + "enabled": false + } + } +} \ No newline at end of file diff --git a/.cflintrc b/.cflintrc deleted file mode 100644 index 49615de..0000000 --- a/.cflintrc +++ /dev/null @@ -1,79 +0,0 @@ -{ - "output": [], - "rule": [], - "includes": [ - { - "code": "AVOID_USING_STRUCTNEW" - }, - { - "code": "AVOID_USING_ARRAYNEW" - }, - { - "code": "AVOID_USING_CFINCLUDE_TAG" - }, - { - "code": "AVOID_USING_CFABORT_TAG" - }, - { - "code": "AVOID_USING_ABORT" - }, - { - "code": "ARG_VAR_CONFLICT" - }, - - { - "code": "CFQUERYPARAM_REQ" - }, - { - "code": "COMPARE_INSTEAD_OF_ASSIGN" - }, - { - "code": "COMPONENT_HINT_MISSING" - }, - { - "code": "EXCESSIVE_FUNCTION_LENGTH" - }, - { - "code": "EXCESSIVE_COMPONENT_LENGTH" - }, - { - "code": "EXCESSIVE_ARGUMENTS" - }, - { - "code": "EXCESSIVE_FUNCTIONS" - }, - { - "code": "FUNCTION_TOO_COMPLEX" - }, - { - "code": "FUNCTION_HINT_MISSING" - }, - { - "code": "LOCAL_LITERAL_VALUE_USED_TOO_OFTEN" - }, - { - "code": "GLOBAL_LITERAL_VALUE_USED_TOO_OFTEN" - }, - { - "code": "MISSING_VAR" - }, - { - "code": "OUTPUT_ATTR" - }, - { - "code": "UNUSED_LOCAL_VARIABLE" - }, - { - "code": "UNUSED_METHOD_ARGUMENT" - }, - { - "code": "SQL_SELECT_STAR" - }, - { - "code": "VAR_ALLCAPS_NAME" - } - ], - "inheritParent": false, - "inheritPlugins": true, - "parameters": {} -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 9d74a9b..21679a8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,14 +1,6 @@ { - "boxlang.cfml.mappings": [ - { - "logicalPath": "/coldbox", - "directoryPath": "./coldbox", - "isPhysicalDirectoryPath" :false - }, - { - "logicalPath": "/testbox", - "directoryPath": "./testbox", - "isPhysicalDirectoryPath" :false - } - ] + "boxlang.mappings": { + "coldbox" : "./lib/coldbox", + "testbox" : "./lib/testbox" + } } From 72a1ff88eddf333145e8301f5dc79c770a57152a Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Sep 2026 11:02:14 +0000 Subject: [PATCH 8/8] Fix main view for struct based RegisteredHandlers setting in ColdBox 8.2 ColdBox 8.2 stores RegisteredHandlers as a struct instead of a list, which made the default index view fail with "Can't cast Struct to a string". Loop the setting as a collection and require coldbox ^8.2.0. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01436jYJmdqfg6WZ62HQeoso --- box.json | 2 +- views/main/index.cfm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/box.json b/box.json index 1967774..664f076 100755 --- a/box.json +++ b/box.json @@ -34,7 +34,7 @@ }, "dependencies":{ "vite-helpers":"^2.0.0", - "coldbox":"^8.0.0" + "coldbox":"^8.2.0" }, "scripts":{ "postInstall":"pathExists .env || cp .env.example .env && package set ignore=[]", diff --git a/views/main/index.cfm b/views/main/index.cfm index bc93c99..fcb7ccd 100755 --- a/views/main/index.cfm +++ b/views/main/index.cfm @@ -39,7 +39,7 @@ index()