Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
7216dcb
fix: condition row styles
kevinchappell Nov 20, 2024
23e0976
chore: update formeo-languages
kevinchappell Nov 21, 2024
bcc1508
chore: refactor autocomplete option generation
kevinchappell Nov 21, 2024
3ccbc87
chore: add autocomplete option highlights
kevinchappell Nov 21, 2024
b7c0dea
style: improve component highlight
kevinchappell Nov 22, 2024
3f7455f
feat: flat ordered autocomplete options
kevinchappell Nov 22, 2024
a80b9ef
fix: control mobile style
kevinchappell Nov 22, 2024
eb5e44d
refactor: style cleanup
kevinchappell Nov 22, 2024
b9c7d88
fix: control button bug
kevinchappell Nov 22, 2024
1ad2377
fix: autocomplete label bug
kevinchappell Nov 22, 2024
4dc4aff
chore: cleanup
kevinchappell Nov 22, 2024
6a766d8
chore: start conditions refactor
kevinchappell Nov 23, 2024
193d9cf
feat: conditions rewrite WIP
kevinchappell Nov 26, 2024
5e6e759
wip: wip
kevinchappell Nov 26, 2024
c6fdaba
chore: process ui state on render
kevinchappell Nov 27, 2024
5468e78
chore: start conditional contion field properties
kevinchappell Nov 27, 2024
c3a476a
feat: finish source condition field logic
kevinchappell Nov 28, 2024
91cc00e
fix: data addressing
kevinchappell Nov 28, 2024
6ffc28a
fix: component highlighting to support radio options
kevinchappell Nov 28, 2024
5dcaa9d
fix: condition order render
kevinchappell Nov 29, 2024
6a61552
chore: remove unused
kevinchappell Nov 29, 2024
d368ef6
chore: conditions and attrs wip
kevinchappell Nov 30, 2024
433dc73
feat: add basic user data methods to renderer
kevinchappell Nov 30, 2024
4022981
fix: improved name generation, button type value
kevinchappell Nov 30, 2024
c627e79
chore: refactor renderer condition handlers
kevinchappell Dec 1, 2024
af2c70d
chore: start condition if or then and
kevinchappell Dec 1, 2024
a7a9942
style: improved conditions ui
kevinchappell Dec 1, 2024
43bf9fd
feat:stage conditions wip
kevinchappell Dec 4, 2024
d83249e
chore: add missing files
kevinchappell Dec 5, 2024
daa5375
chore: fix tests
kevinchappell Dec 6, 2024
56204ee
fix: all tests passing
kevinchappell Dec 6, 2024
07a9f7f
wip: wip
kevinchappell Dec 27, 2024
28107ac
fix: code-server devServer
kevinchappell Jan 2, 2025
9f68fc2
wip: update styles and disabled prop logic
kevinchappell Jan 2, 2025
7fa7ba8
wip: update conditions data and ui when conditions are removed
kevinchappell Jan 16, 2025
b9c44de
wip: setup playwright
kevinchappell Jan 17, 2025
551ad9b
fix: use import.meta correctly
kevinchappell Oct 30, 2025
55e0122
fix: attribute input values
kevinchappell Oct 31, 2025
17483b2
fix: reconcile edit panel item data
kevinchappell Nov 2, 2025
d850f1e
fix: option data key
kevinchappell Nov 2, 2025
536c1c7
chore: fix tests
kevinchappell Nov 2, 2025
5dc7185
chore: fix all tests
kevinchappell Nov 2, 2025
73266b7
chore: edit style updates
kevinchappell Nov 2, 2025
2f5eb63
fix: form editor styles
kevinchappell Nov 3, 2025
047c223
fix: form editor styles
kevinchappell Nov 4, 2025
97e87bc
chore: fix lint errors
kevinchappell Nov 4, 2025
4901f8a
chore: finish biomejs upgrade
kevinchappell Nov 4, 2025
c48314f
fix: cyclic imoprt dependency, sortable fallback
kevinchappell Nov 5, 2025
5b9386a
feat: add clear all for conditions, cleanup
kevinchappell Nov 5, 2025
0eb1f94
chore: remove external
kevinchappell Nov 5, 2025
9156798
chore: remove external
kevinchappell Nov 5, 2025
6aafa83
chore: fix playwright
kevinchappell Nov 5, 2025
623a23b
chore: fix playwright
kevinchappell Nov 5, 2025
a069928
chore: update playwright config
kevinchappell Nov 5, 2025
ec1ccdd
chore: update playwright github workflow command
kevinchappell Nov 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Playwright Tests

on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
env:
CI: true
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npm run playwright:test:ci
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
retention-days: 30
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ dist-ssr
*.njsproj
*.sln
*.sw?


playwright-report/
/test-results/
/playwright-report/
/blob-report/
/playwright/.cache/
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To develop for Formeo you'll need:
### Recommended Tooling
While not required, the following tools are recommended to maintain code quality and consistency in style.

- [ESLint](http://jshint.com/)
- [Biome](https://biomejs.dev/) - Fast formatter and linter for JavaScript, TypeScript, and JSON

### Installation

Expand Down
42 changes: 29 additions & 13 deletions biome.json
Original file line number Diff line number Diff line change
@@ -1,42 +1,54 @@
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"$schema": "https://biomejs.dev/schemas/2.3.3/schema.json",
"files": {
"ignore": ["node_modules/**", "dist/**"]
},
"organizeImports": {
"enabled": true
"includes": [
"**",
"!**/node_modules",
"!**/dist",
"!**/test-results",
"!**/playwright-report",
"!**/src/demo/index.html"
]
},
"assist": { "actions": { "source": { "organizeImports": "on" } } },
"vcs": {
"clientKind": "git",
"enabled": true,
"useIgnoreFile": true
"useIgnoreFile": true,
"defaultBranch": "master"
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"correctness": {
"noUndeclaredVariables": "error",
"noUnusedVariables": "error",
"useExhaustiveDependencies": "error"
"noUnusedVariables": "warn",
"useExhaustiveDependencies": "error",
"noUnusedFunctionParameters": "warn"
},
"suspicious": {
"noImplicitAnyLet": "error",
"noConsoleLog": "warn"
"noThenProperty": "off",
"noConsole": { "level": "off", "options": { "allow": ["warn", "error", "info", "debug"] } }
},
"complexity": {
"useLiteralKeys": "error",
"noUselessFragments": "error"
},
"style": {
"recommended": true
"recommended": true,
"useConsistentArrayType": "off"
},
"nursery": {
"useSortedClasses": "off"
}
}
},
"formatter": {
"enabled": true,
"formatWithErrors": false,
"ignore": [],
"includes": ["**"],
"indentStyle": "space",
"indentWidth": 2,
"lineEnding": "lf",
Expand All @@ -46,12 +58,16 @@
"formatter": {
"quoteStyle": "single",
"semicolons": "asNeeded",
"arrowParentheses": "asNeeded"
"arrowParentheses": "asNeeded",
"trailingCommas": "es5",
"bracketSpacing": true
}
},
"json": {
"formatter": {
"indentStyle": "space"
"indentStyle": "space",
"indentWidth": 2,
"trailingCommas": "none"
}
}
}
4 changes: 0 additions & 4 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,9 @@ Formeo is an extensible form editor written in vanilla Javascript. It builds on
- numerous presets for common layouts and resizable for custom layouts
- Conditional fields
- programmatically hide/show or change row, column or field values
- works with external data
- Controls API
- create forms with signature pads, interactive maps and more
- extend or clone the built-in controls
- External Data
- User session information in your forms such as name
- Dynamic data like remotely loaded select options
- Rendering
- render your form template using the same renderer used to generate the Formeo UI
- or BYOR (Bring Your Own Renderer) to render form template data using third-party libraries.
Expand Down
8 changes: 8 additions & 0 deletions lefthook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ pre-push:
run-tests:
run: npm test

pre-commit:
parallel: true
commands:
lint:
glob: "*.{js,mjs,ts,json}"
run: npx @biomejs/biome check --write --no-errors-on-unmatched --files-ignore-unknown=true {staged_files}
stage_fixed: true

commit-msg:
scripts:
"commitlint.sh":
Expand Down
Loading
Loading