Skip to content

Commit 10f5a65

Browse files
committed
Merge branch 'development'
2 parents ec17133 + 7d66235 commit 10f5a65

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+751
-170
lines changed

.github/workflows/pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919

2020
formatCheck:
2121
name: Checks Source Code Formatting
22-
runs-on: ubuntu-20.04
22+
runs-on: ubuntu-latest
2323
steps:
2424
- name: Checkout Repository
2525
uses: actions/checkout@v4

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
##########################################################################################
2727
build:
2828
name: Build & Publish
29-
runs-on: ubuntu-20.04
29+
runs-on: ubuntu-latest
3030
steps:
3131
- name: Checkout Repository
3232
uses: actions/checkout@v4
@@ -133,7 +133,7 @@ jobs:
133133
prep_next_release:
134134
name: Prep Next Release
135135
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main'
136-
runs-on: ubuntu-20.04
136+
runs-on: ubuntu-latest
137137
needs: [ build ]
138138
steps:
139139
# Checkout development

.github/workflows/snapshot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
##########################################################################################
1919
format:
2020
name: Code Auto-Formatting
21-
runs-on: ubuntu-20.04
21+
runs-on: ubuntu-latest
2222
steps:
2323
- uses: actions/checkout@v4
2424

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
jobs:
1111
tests:
1212
name: Tests
13-
runs-on: ubuntu-20.04
13+
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout Repository
1616
uses: actions/checkout@v4

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ modules/**
77
.tmp/**
88
.artifacts/**
99
changelog-latest.md
10+
modules/**
1011

1112
# Test App
1213
testapp/**

box.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name":"ColdBox CLI",
3-
"version":"7.5.0",
3+
"version":"7.6.0",
44
"location":"https://downloads.ortussolutions.com/ortussolutions/commandbox-modules/coldbox-cli/@build.version@/[email protected]@.zip",
55
"slug":"coldbox-cli",
66
"author":"Ortus Solutions, Corp",

changelog.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
## [Unreleased]
1111

12+
### Added
13+
14+
- New `modern` template for creating modern apps with the latest features
15+
- New `boxlang` template for creating apps with the latest boxlang features
16+
- Modernization of all templates to use the latest features of ColdBox
17+
- New `--boxlang` argument to create content for BoxLang
18+
- New `language` argument detection for BoxLang
19+
20+
### Changed
21+
22+
- Updated to the latest Ubuntu images for the GitHub actions
23+
1224
## [7.5.0] - 2024-10-16
1325

1426
### Fixed

commands/coldbox/create/app-wizard.cfc

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,24 +69,34 @@ component extends="app" aliases="" {
6969
.options( [
7070
{
7171
accessKey : 1,
72-
value : "cbtemplate-simple",
73-
display : "Simple Script - Script based Coldbox App WITHOUT cfconfig & .env settings"
72+
value : "cbtemplate-bx-default",
73+
display : "BoxLang ColdBox Template - Default ColdBox App with BoxLang"
7474
},
7575
{
7676
accessKey : 2,
77+
value : "cbtemplate-supersimple",
78+
display : "Super simple starting template - no modules, no config, no nothing"
79+
},
80+
{
81+
accessKey : 3,
7782
value : "cbtemplate-advanced-script",
78-
display : "Advanced Script - Script based Coldbox App which uses cfconfig & .env settings",
83+
display : "Default Script based Coldbox App which uses cfconfig & .env settings",
7984
selected : true
8085
},
8186
{
82-
accessKey : 3,
87+
accessKey : 4,
8388
value : "cbtemplate-elixir",
8489
display : "Elixir Template - Advanced Script + ColdBox Elixir: Enable Webpack tasks for your ColdBox applications"
8590
},
8691
{
87-
accessKey : 4,
88-
value : "cbtemplate-elixir-vuejs",
89-
display : "Elixir + Vuejs Template - Elixir Template + pre-installed & configured VueJS"
92+
accessKey : 5,
93+
value : "cbtemplate-modern",
94+
display : "A modern ColdBox template with a modern approach to building apps"
95+
},
96+
{
97+
accessKey : 6,
98+
value : "cbtemplate-vite",
99+
display : "A ColdBox template with ViteJS for modern web development"
90100
}
91101
] )
92102
.required()

commands/coldbox/create/app.cfc

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
* {code}
99
* .
1010
* Here are the basic skeletons that are available for you that come from ForgeBox
11+
* - BoxLang
1112
* - Default (default)
1213
* - Elixir
1314
* - Modern
@@ -39,13 +40,14 @@ component extends="coldbox-cli.models.BaseCommand" {
3940
function init(){
4041
// Map these shortcut names to the actual ForgeBox slugs
4142
variables.templateMap = {
42-
"AdvancedScript" : "cbtemplate-advanced-script",
43-
"Default" : "cbtemplate-advanced-script",
44-
"Elixir" : "cbtemplate-elixir",
45-
"rest" : "cbtemplate-rest",
46-
"rest-hmvc" : "cbtemplate-rest-hmvc",
47-
"Vite" : "cbtemplate-vite",
48-
"SuperSimple" : "cbtemplate-supersimple"
43+
"Default" : "cbtemplate-advanced-script",
44+
"BoxLang" : "cbtemplate-bx-default",
45+
"Elixir" : "cbtemplate-elixir",
46+
"modern" : "cbtemplate-modern",
47+
"rest" : "cbtemplate-rest",
48+
"rest-hmvc" : "cbtemplate-rest-hmvc",
49+
"Vite" : "cbtemplate-vite",
50+
"SuperSimple" : "cbtemplate-supersimple"
4951
};
5052

5153
variables.defaultAppName = "My ColdBox App";
@@ -127,6 +129,11 @@ component extends="coldbox-cli.models.BaseCommand" {
127129
shell.cd( originalPath );
128130
}
129131

132+
// Prepare language
133+
if ( arguments.boxlang ) {
134+
command( "package set" ).params( language: "BoxLang" ).run();
135+
}
136+
130137
// Prepare defaults on box.json so we remove template based ones
131138
command( "package set" )
132139
.params(

commands/coldbox/create/handler.cfc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ component aliases="coldbox create controller" extends="coldbox-cli.models.BaseCo
3636
* @rest Make this a REST handler instead of a normal ColdBox Handler
3737
* @force Force overwrite of existing handler
3838
* @resource Generate a resourceful handler with all the actions
39+
* @boxlang Is this a boxlang project? else it is a CFML project
3940
**/
4041
function run(
4142
required name,
@@ -50,7 +51,8 @@ component aliases="coldbox create controller" extends="coldbox-cli.models.BaseCo
5051
boolean open = false,
5152
boolean rest = false,
5253
boolean force = false,
53-
boolean resource = false
54+
boolean resource = false,
55+
boolean boxlang = isBoxLangProject( getCWD() )
5456
){
5557
// This will make each directory canonical and absolute
5658
arguments.directory = resolvePath( arguments.directory );
@@ -100,6 +102,11 @@ component aliases="coldbox create controller" extends="coldbox-cli.models.BaseCo
100102
arguments.description,
101103
"all"
102104
);
105+
// BoxLang replacements
106+
if ( arguments.boxlang ) {
107+
handlerContent = toBoxLangClass( handlerContent );
108+
handlerTestContent = toBoxLangClass( handlerTestContent );
109+
}
103110

104111
// Auto Actions Determination if none passed via resource && rest, else empty handler
105112
if ( !len( arguments.actions ) ) {

0 commit comments

Comments
 (0)