Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
fc70436
docs: establish modernization spike baseline
betocantu93 Oct 7, 2026
d879e4d
chore: update to Ember 7.3 addon blueprint
betocantu93 Oct 7, 2026
e7f0fbe
refactor: move component modules to GJS
betocantu93 Oct 7, 2026
cdbd7d6
chore: remove obsolete blueprint configuration
betocantu93 Oct 7, 2026
a2332e5
refactor: convert leaf components to Glimmer GJS
betocantu93 Oct 7, 2026
2145d6e
docs: correct Glimmer migration status
betocantu93 Oct 7, 2026
354e6e0
refactor: convert table row and cells to Glimmer GJS
betocantu93 Oct 7, 2026
78904b7
refactor: complete Glimmer GJS component migration
betocantu93 Oct 7, 2026
54a54f6
test: run browser suite with Docker Chromium
betocantu93 Oct 7, 2026
d5f5150
fix: restore Glimmer table rendering
betocantu93 Oct 7, 2026
c234253
fix: render footers without virtual collection
betocantu93 Oct 7, 2026
607dd34
fix: preserve table updates in Glimmer components
betocantu93 Oct 7, 2026
b7de410
fix: support two-way cell value updates
betocantu93 Oct 7, 2026
2054a29
test: migrate dummy custom row to Glimmer
betocantu93 Oct 7, 2026
72163a1
fix: avoid render-time column tree mutation
betocantu93 Oct 7, 2026
f15c3ab
fix: propagate Glimmer selection state
betocantu93 Oct 7, 2026
488ded7
fix: invalidate header metadata updates
betocantu93 Oct 7, 2026
f08c218
fix: invalidate body models when table state changes
betocantu93 Oct 7, 2026
e38bf6a
fix: refresh virtual rows after sorting
betocantu93 Oct 7, 2026
e4c576c
fix: synchronize body models when args change
betocantu93 Oct 7, 2026
9c43740
style: use named arguments in strict templates
betocantu93 Oct 7, 2026
8a00cee
fix: react to resize handle metadata changes
betocantu93 Oct 7, 2026
d4b4047
fix: synchronize table cells during column resizing
betocantu93 Oct 7, 2026
e4af748
fix: relayout header after column mutations
betocantu93 Oct 7, 2026
63b5f38
fix: synchronize initial header layout
betocantu93 Oct 7, 2026
ba134a3
fix: forward table attributes in GJS component
betocantu93 Oct 7, 2026
6d60712
fix: update sticky cell styles after fixed column mutations
betocantu93 Oct 7, 2026
8f4c5bf
chore: restore .js extension for modules without templates
betocantu93 Oct 8, 2026
e9cd90c
refactor: derive table state through autotracking
betocantu93 Oct 8, 2026
d7307a5
test: compose dummy custom row instead of subclassing EmberTr
betocantu93 Oct 8, 2026
400fdf3
build: convert to a TypeScript v2 addon with a Vite test app
betocantu93 Oct 8, 2026
d2e5742
fix: let settled() wait for the sticky polyfill's first layout
betocantu93 Oct 8, 2026
f2b9909
docs: rebuild the documentation site with Docfy
betocantu93 Oct 8, 2026
e94bc01
test: vendor ember-classy-page-object into test-support
betocantu93 Oct 8, 2026
2503e43
feat: export the components from the package root
betocantu93 Oct 8, 2026
1bb5476
test: render strict-mode templates instead of loose hbs
betocantu93 Oct 8, 2026
8594f5e
build!: raise the ember-source peer floor to 6.4
betocantu93 Oct 8, 2026
29d2c0f
build: run the test app on Vite without ember-cli or compat
betocantu93 Oct 8, 2026
82a8f7d
refactor: convert the rest of the addon to TypeScript
betocantu93 Oct 8, 2026
c4d2748
build: strip data-test-* selectors from production builds
betocantu93 Oct 8, 2026
80723d4
docs: import components from the package root in examples
betocantu93 Oct 8, 2026
e892e08
build: deploy the docs site to Vercel
betocantu93 Oct 8, 2026
f478f4c
test: convert the test app to TypeScript
betocantu93 Oct 8, 2026
5373cae
fix(types): type explicit row and cell composition correctly
betocantu93 Oct 8, 2026
44f2fd1
vercel
betocantu93 Oct 8, 2026
df21fba
docs: make the occlusion demo show occlusion
betocantu93 Oct 8, 2026
73eb8a3
docs: highlight code examples with Shiki's Glimmer grammars
betocantu93 Oct 8, 2026
9b20839
docs: document every component's arguments and yields
betocantu93 Oct 8, 2026
80f52ab
docs: add an API reference generated from the type declarations
betocantu93 Oct 8, 2026
a3e62fe
chore: make go-to-definition work in VS Code
betocantu93 Oct 8, 2026
28d81f5
fix: keep explicit null arguments instead of applying defaults
betocantu93 Oct 8, 2026
27633c2
fix: ship default.scss, which addon.clean() was deleting
betocantu93 Oct 8, 2026
1e6a977
chore: lower the ember-source peer floor to 5.12
betocantu93 Oct 8, 2026
5f25d84
Merge branch 'spike/latest-blueprint-gjs' of github.com:prysmex/ember…
betocantu93 Oct 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .bowerrc

This file was deleted.

9 changes: 0 additions & 9 deletions .ember-cli

This file was deleted.

11 changes: 0 additions & 11 deletions .eslintignore

This file was deleted.

88 changes: 0 additions & 88 deletions .eslintrc.js

This file was deleted.

128 changes: 55 additions & 73 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,108 +3,90 @@ on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]

concurrency:
group: ci-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
test:
name: Run Tests
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 7
timeout-minutes: 10

steps:
- name: "Install StepSecurity Action"
id: step_security
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
with:
egress-policy: audit

- name: Checkout
uses: actions/checkout@v6

- name: Install mise and tools
uses: jdx/mise-action@c2a87611a18de5b3828c5652fe268e992400cb5c
- uses: actions/checkout@v6
- uses: jdx/mise-action@c2a87611a18de5b3828c5652fe268e992400cb5c
with:
install: true
cache: true
- name: Enable corepack
run: corepack enable

- name: Node Modules Cache
id: cache-npm
uses: actions/cache@v5
with:
path: '**/node_modules'
key: ci-yarn-${{ hashFiles('**/yarn.lock') }}

- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
- name: Install Dependencies
if: steps.cache-npm.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile

run: pnpm install --frozen-lockfile
- name: Lint
run: yarn lint
run: pnpm lint

test:
name: Tests
runs-on: ubuntu-latest
timeout-minutes: 15
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}

steps:
- name: "Install StepSecurity Action"
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
with:
egress-policy: audit
- uses: actions/checkout@v6
- uses: jdx/mise-action@c2a87611a18de5b3828c5652fe268e992400cb5c
with:
install: true
cache: true
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Run Tests
run: yarn test
run: pnpm test
env:
CI: true
- id: set-matrix
working-directory: test-app
run: echo "matrix=$(pnpm -s dlx @embroider/try list)" >> $GITHUB_OUTPUT

test-ember-try:
name: Run Tests
try-scenarios:
name: ${{ matrix.name }}
runs-on: ubuntu-latest
timeout-minutes: 10

needs: test
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
ember-version:
[
embroider-safe,
# embroider-optimized,
ember-lts-3.28,
ember-lts-4.4,
ember-lts-4.12,
ember-lts-5.4,
ember-lts-5.12,
ember-release,
# ember-production,
ember-default-docs
]
matrix: ${{ fromJson(needs.test.outputs.matrix) }}

steps:
- name: "Install StepSecurity Action"
id: step_security
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 # v2.19.0
with:
egress-policy: audit

- name: Checkout
uses: actions/checkout@v6

- name: Install mise and tools
uses: jdx/mise-action@c2a87611a18de5b3828c5652fe268e992400cb5c
- uses: actions/checkout@v6
- uses: jdx/mise-action@c2a87611a18de5b3828c5652fe268e992400cb5c
with:
install: true
cache: true
- name: Enable corepack
run: corepack enable

- name: Stash yarn.lock for cache key
run: cp yarn.lock __cache-key

- name: Node Modules Cache
id: cache-npm
uses: actions/cache@v5
with:
path: |
node_modules
package.json
yarn.lock
__env
key: ci-yarn-v3-${{ matrix.ember-version }}-${{ hashFiles('tests/dummy/config/ember-try.js', '__cache-key') }}
restore-keys: |
ci-yarn-${{ hashFiles('yarn.lock') }}

- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
# Applied to both packages so the addon's dev copy of ember-source matches
# the app under test; otherwise the addon's modules resolve a second Ember.
- name: Apply Scenario
run: |
(cd test-app && pnpm dlx @embroider/try apply ${{ matrix.name }})
(cd ember-table && pnpm dlx @embroider/try apply ${{ matrix.name }})
- name: Install Dependencies
if: steps.cache-npm.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile

run: pnpm install --no-frozen-lockfile
- name: Run Tests
run: yarn test:ember-compatibility ${{ matrix.ember-version }} --skip-cleanup
working-directory: test-app
run: pnpm test
env:
CI: true
12 changes: 8 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.

# compiled output
/dist
/tmp
dist/
tmp/

# dependencies
/node_modules
node_modules/
/bower_components

# misc
/.DS_Store
/.eslintcache
.eslintcache
/.sass-cache
/connect.lock
/coverage/*
/libpeerconnection.log
npm-debug.log*
yarn-error.log
testem.log

# pnpm content store (created next to the repo when the global store is on another filesystem)
.pnpm-store/
.vercel
20 changes: 0 additions & 20 deletions .ls-lint.yml

This file was deleted.

16 changes: 0 additions & 16 deletions .npmignore

This file was deleted.

6 changes: 6 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dist/
node_modules/
coverage/
tmp/
pnpm-lock.yaml
CHANGELOG.md
5 changes: 5 additions & 0 deletions .prettierrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// eslint-disable-next-line n/no-unpublished-require
module.exports = {
plugins: ['prettier-plugin-ember-template-tag'],
singleQuote: true,
};
2 changes: 0 additions & 2 deletions .prettierrc.js

This file was deleted.

8 changes: 0 additions & 8 deletions .sass-lint.yml

This file was deleted.

7 changes: 7 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"recommendations": [
// Types, completions and go-to-definition in `.gts`/`.gjs` templates.
"typed-ember.glint2-vscode",
"dbaeumer.vscode-eslint"
]
}
8 changes: 6 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
{
"eslint.enable": true
}
"eslint.enable": true,
// TypeScript server plugins (Glint's, for `.gts`) load only in the JS-based
// TypeScript server, so use the workspace's TypeScript.
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true
}
3 changes: 0 additions & 3 deletions .watchmanconfig

This file was deleted.

1 change: 0 additions & 1 deletion .yarnrc

This file was deleted.

Loading