diff --git a/cli/src/commands/wheels/analyze/code.cfc b/cli/src/commands/wheels/analyze/code.cfc index 4500f16ba..f702d1b14 100644 --- a/cli/src/commands/wheels/analyze/code.cfc +++ b/cli/src/commands/wheels/analyze/code.cfc @@ -190,8 +190,8 @@ component extends="../base" { var icon = getSeverityIcon(issue.severity); var color = getSeverityColor(issue.severity); - detailOutput.colored(" #icon# Line #issue.line#:#issue.column# - #issue.message#", color); - print.grayLine(" Rule: #issue.rule#" & (issue.fixable ? " [Auto-fixable]" : "")).toConsole(); + detailOutput.output(" #icon# Line #issue.line#:#issue.column# - #issue.message#"); + print.cyanLine(" Rule: #issue.rule#" & (issue.fixable ? " [Auto-fixable]" : "")).toConsole(); } } } @@ -313,12 +313,6 @@ component extends="../base" { arrayAppend(recommendations, "Address code smells to improve maintainability"); } - if (!fileExists(".wheelscheck")) { - arrayAppend(recommendations, "Create a .wheelscheck config file for custom rules"); - } - - arrayAppend(recommendations, "Integrate this check into your CI/CD pipeline"); - for (var rec in recommendations) { detailOutput.output(" * #rec#"); } diff --git a/cli/src/commands/wheels/analyze/performance.cfc b/cli/src/commands/wheels/analyze/performance.cfc index 6d46c8215..e4be90110 100644 --- a/cli/src/commands/wheels/analyze/performance.cfc +++ b/cli/src/commands/wheels/analyze/performance.cfc @@ -500,9 +500,7 @@ component extends="../base" { var score = calculatePerformanceScore(arguments.results); var grade = getPerformanceGrade(score); - detailOutput.divider("=", 50); - print.boldLine("Performance Grade: #grade# (#score#/100)").toConsole(); - detailOutput.divider("=", 50); + detailOutput.header("Performance Grade: #grade# (#score#/100)"); detailOutput.line(); // Recommendations diff --git a/cli/src/commands/wheels/analyze/security.cfc b/cli/src/commands/wheels/analyze/security.cfc deleted file mode 100644 index 537e9db0f..000000000 --- a/cli/src/commands/wheels/analyze/security.cfc +++ /dev/null @@ -1,31 +0,0 @@ -/** - * DEPRECATED: Use 'wheels security scan' instead - * This command is maintained for backward compatibility only - */ -component extends="../base" { - - property name="detailOutput" inject="DetailOutputService@wheels-cli"; - - /** - * @deprecated Use 'wheels security scan' instead - */ - function run( - string path = ".", - boolean fix = false, - string report = "console", - string severity = "medium", - boolean deep = false - ) { - requireWheelsApp(getCWD()); - arguments = reconstructArgs(arguments); - print.yellowLine("DEPRECATED: This command is deprecated").toConsole(); - print.yellowLine("Please use 'wheels security scan' instead").toConsole(); - detailOutput.line(); - - // Forward to new command - detailOutput.output("Wait Running Command 'wheels security scan'..."); - command("wheels security scan") - .params(argumentCollection = arguments) - .run(); - } -} \ No newline at end of file diff --git a/cli/src/commands/wheels/assets/precompile.cfc b/cli/src/commands/wheels/assets/precompile.cfc index ad38e3e27..4eccc9736 100644 --- a/cli/src/commands/wheels/assets/precompile.cfc +++ b/cli/src/commands/wheels/assets/precompile.cfc @@ -50,7 +50,7 @@ component extends="../base" { // Normalize environment aliases arguments.environment = normalizeEnvironment(arguments.environment); - print.greenBoldLine("==> Precompiling assets for #arguments.environment#...").toConsole(); + detailOutput.output("Precompiling assets for #arguments.environment#..."); detailOutput.line(); // Define asset directories @@ -74,7 +74,7 @@ component extends="../base" { // Process JavaScript files if (directoryExists(jsDir)) { - print.boldLine("Processing JavaScript files...").toConsole(); + detailOutput.output("Processing JavaScript files..."); var jsFiles = directoryList(jsDir, true, "query", "*.js"); for (var file in jsFiles) { if (file.type == "File" && !findNoCase(".min.js", file.name)) { @@ -91,7 +91,7 @@ component extends="../base" { // Process CSS files if (directoryExists(cssDir)) { - print.boldLine("Processing CSS files...").toConsole(); + detailOutput.output("Processing CSS files..."); var cssFiles = directoryList(cssDir, true, "query", "*.css"); for (var file in cssFiles) { if (file.type == "File" && !findNoCase(".min.css", file.name)) { @@ -108,7 +108,7 @@ component extends="../base" { // Process image files if (directoryExists(imagesDir)) { - print.boldLine("Processing image files...").toConsole(); + detailOutput.output("Processing image files..."); var imageFiles = directoryList(imagesDir, true, "query"); for (var file in imageFiles) { if (file.type == "File" && isImageFile(file.name)) { @@ -128,16 +128,16 @@ component extends="../base" { detailOutput.output("Asset manifest written to: #manifestPath#"); detailOutput.line(); - print.greenBoldLine("==> Asset precompilation complete!").toConsole(); - print.greenLine(" Processed #processedCount# files").toConsole(); - detailOutput.output(" Compiled assets location: #compiledDir#"); + detailOutput.statusSuccess("Asset precompilation complete!"); + detailOutput.output("Processed #processedCount# files", true); + detailOutput.output("Compiled assets location: #compiledDir#", true); // Provide instructions for production detailOutput.line(); - print.yellowLine("To use precompiled assets in production:").toConsole(); - detailOutput.output("1. Configure your web server to serve static files from /public/assets/compiled"); - detailOutput.output("2. Update your application to use the asset manifest for cache-busted URLs"); - detailOutput.output("3. Set wheels.assetManifest = true in your production environment"); + detailOutput.output("To use precompiled assets in production:"); + detailOutput.output("1. Configure your web server to serve static files from /public/assets/compiled", true); + detailOutput.output("2. Update your application to use the asset manifest for cache-busted URLs", true); + detailOutput.output("3. Set wheels.assetManifest = true in your production environment", true); } /** diff --git a/cli/src/commands/wheels/generate/app-wizard.cfc b/cli/src/commands/wheels/generate/app-wizard.cfc index f72aa3384..b8da11e2d 100644 --- a/cli/src/commands/wheels/generate/app-wizard.cfc +++ b/cli/src/commands/wheels/generate/app-wizard.cfc @@ -156,8 +156,8 @@ component aliases="wheels g app-wizard, wheels new" extends="../base" { var template = multiselect( 'Which Wheels Template shall we use? ' ) .options( [ - {value: 'wheels-base-template@^3.0.0-rc.1', display: '3.0.0-rc - Wheels Base Template - Release Candidate', selected: true}, - {value: 'cfwheels-base-template', display: '2.5.x - Wheels Base Template - Stable Release'}, + {value: 'wheels-base-template@^3.0.0', display: '3.0 - Wheels Base Template - Stable', selected: true}, + {value: 'wheels-base-template@BE', display: 'Bleeding Edge - Wheels Base Template'}, {value: 'cfwheels-template-htmx-alpine-simple', display: 'Wheels Template - HTMX - Alpine.js - Simple.css'}, {value: 'wheels-starter-app', display: 'Wheels Starter App'}, {value: 'cfwheels-todomvc-htmx', display: 'Wheels - TodoMVC - HTMX - Demo App'}, diff --git a/cli/src/commands/wheels/generate/app.cfc b/cli/src/commands/wheels/generate/app.cfc index ce8cad166..7ee92fb2c 100644 --- a/cli/src/commands/wheels/generate/app.cfc +++ b/cli/src/commands/wheels/generate/app.cfc @@ -14,8 +14,8 @@ * {code} * * Here are the basic templates that are available for you that come from ForgeBox - * - Wheels Base Template - 3.0 Bleeding Edge (default) - * - CFWheels Base Template - 2.5 Stable + * - Wheels Base Template - 3.0 Stable (default) + * - Wheels Base Template - Bleeding Edge * - Wheels Template - HelloWorld * - Wheels Template - HelloDynamic * - Wheels Template - HelloPages @@ -55,7 +55,7 @@ component aliases="wheels g app" extends="../base" { /** * @name The name of the app you want to create - * @template The name of the app template to generate (or an endpoint ID like a forgebox slug). Default is Base@BE (Bleeding Edge) + * @template The name of the app template to generate (or an endpoint ID like a forgebox slug). Default is Bleeding Edge * @directory The directory to create the app in * @reloadPassword The reload passwrod to set for the app * @datasourceName The datasource name to set for the app diff --git a/core/box.json b/core/box.json index b05b3e58a..504d63fbb 100644 --- a/core/box.json +++ b/core/box.json @@ -1,5 +1,5 @@ { "name": "wheels-core", - "version": "3.0.0", + "version": "3.0.1-SNAPSHOT", "location": "https://github.com/cfwheels/cfwheels/tree/3.0/core" } \ No newline at end of file diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index 3fd139cb6..0ab81473a 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -66,7 +66,6 @@ * Code Analysis * [wheels analyze code](command-line-tools/commands/analysis/analyze-code.md) * [wheels analyze performance](command-line-tools/commands/analysis/analyze-performance.md) - * [wheels analyze security](command-line-tools/commands/analysis/analyze-security.md) * Config * [wheels config check](command-line-tools/commands/config/config-check.md) * [wheels config diff](command-line-tools/commands/config/config-diff.md) diff --git a/docs/src/command-line-tools/commands/analysis/analyze-security.md b/docs/src/command-line-tools/commands/analysis/analyze-security.md deleted file mode 100644 index a7f8621c3..000000000 --- a/docs/src/command-line-tools/commands/analysis/analyze-security.md +++ /dev/null @@ -1,37 +0,0 @@ -# analyze security (Deprecated) - -**⚠️ DEPRECATED**: This command has been deprecated. Please use `wheels security scan` instead. - -## Migration Notice - -The `analyze security` command has been moved to provide better organization and expanded functionality. - -### Old Command (Still Works) -```bash -wheels analyze security -``` - -### New Command -```bash -wheels security scan [path] [--fix] [--output=] [--detailed] -``` - - -## Why the Change? - -- Better command organization with dedicated security namespace -- Enhanced scanning capabilities -- Improved reporting options -- Integration with security vulnerability databases - -## See Also - -- [security scan](../security/security-scan.md) - The replacement command with enhanced features - -## Deprecation Timeline - -- **Deprecated**: v1.5.0 -- **Warning Added**: v1.6.0 -- **Removal Planned**: v2.0.0 - -The command currently redirects to `wheels security scan` with a deprecation warning. \ No newline at end of file diff --git a/docs/src/command-line-tools/commands/analysis/analyze.md b/docs/src/command-line-tools/commands/analysis/analyze.md index 9ea4d7d1d..949bf2bc1 100644 --- a/docs/src/command-line-tools/commands/analysis/analyze.md +++ b/docs/src/command-line-tools/commands/analysis/analyze.md @@ -11,7 +11,7 @@ wheels analyze [subcommand] [options] ## Description -The `wheels analyze` command provides comprehensive code analysis tools for Wheels applications. It helps identify code quality issues, performance bottlenecks, security vulnerabilities, and provides actionable insights for improvement. +The `wheels analyze` command provides comprehensive code analysis tools for Wheels applications. It helps identify code quality issues, performance bottlenecks, and provides actionable insights for improvement. ## Subcommands @@ -19,7 +19,6 @@ The `wheels analyze` command provides comprehensive code analysis tools for Whee |---------|-------------| | `code` | Analyze code quality and patterns | | `performance` | Analyze performance characteristics | -| `security` | Security vulnerability analysis (deprecated) | ## Direct Usage @@ -32,7 +31,7 @@ wheels analyze help ## Analysis Overview -The analyze [code, performance, security] commands examines: +The analyze [code, performance] commands examines: ### Code Quality - Coding standards compliance @@ -46,12 +45,6 @@ The analyze [code, performance, security] commands examines: - Memory usage patterns - Cache effectiveness -### Security -- SQL injection risks -- XSS vulnerabilities -- Insecure configurations -- Outdated dependencies - ## Best Practices 1. Run analysis regularly @@ -83,5 +76,4 @@ The analyze [code, performance, security] commands examines: - [wheels analyze code](analyze-code.md) - Code quality analysis - [wheels analyze performance](analyze-performance.md) - Performance analysis -- [wheels security scan](../security/security-scan.md) - Security scanning - [wheels test](../testing/test.md) - Run tests \ No newline at end of file diff --git a/templates/base/src/box.json b/templates/base/src/box.json index 30b6cfad9..8ade09612 100644 --- a/templates/base/src/box.json +++ b/templates/base/src/box.json @@ -1,6 +1,6 @@ { "name":"Wheels.fw", - "version":"3.0.0", + "version":"3.0.1-SNAPSHOT", "author":"Wheels Core Team and Community", "shortDescription":"Wheels MVC Framework Core Directory", "location":"ForgeboxStorage",