boxlang-cfml-migrationlisted
Install: claude install-skill ortus-boxlang/skills
# BoxLang for CFML Developers
## Overview
BoxLang is a new language with a **dual parser** — it can parse and run CFML file types (`.cfc`, `.cfm`, `.cfs`) while also offering a modern native syntax via `.bx` / `.bxs` / `.bxm` files. For full CFML behavioral parity, install the `bx-compat-cfml` compatibility module.
---
## The `bx-compat-cfml` Compatibility Module
The module patches BoxLang to behave like Adobe ColdFusion or Lucee for legacy code:
```bash
# CommandBox install
install bx-compat-cfml
# Auto-install via server.json script
{
"scripts": {
"onServerInitialInstall": "install bx-compat-cfml"
}
}
```
What it enables/restores:
- `client` scope support
- `cfsqltype` / `cf_sql_*` query param syntax
- `blockfactor` query option (instead of `fetchSize`)
- Date comparison at second-level precision (instead of millisecond)
- CFML tag prefix `<cfXXX>` alongside `<bx:XXX>`
- Legacy BIF names (`asc`, `chr`, `serializeJSON`, etc.)
> If CFML files start up without this module, BoxLang will still parse them — but behavioral differences (listed below) will apply.
---
## File Types
BoxLang parses all traditional CFML file types:
| Extension | Type | Notes |
|-----------|------|-------|
| `.cfc` | Component / Class | CFML classes |
| `.cfs` | Script | CFML scripts |
| `.cfm` | Template | CFML templates |
| `.bx` | Class | Native BoxLang class |
| `.bxs` | Script | Native BoxLang script |
| `.bxm` | Template | Native BoxLang template |
---
## Components