Skip to content

Commit 3887537

Browse files
NullVoxPopuliclaude
andcommitted
feat(ember-form): bump ember-source to 7.1.0-alpha.5, strip on/fn imports
Per review request. ember-source 7.x's template build transforms compile `on`/`fn` (and other built-in keywords) directly into the template scope, so they no longer need explicit imports. - ember-source peer + dev → ^7.1.0-alpha.5 - babel-plugin-ember-template-compilation → ^3.1.0 (matches the 7-beta @ember/app-blueprint shape) - All `import { on } from '@ember/modifier'` and `import { fn } from '@ember/helper'` removed from src, tests, demo-app, README, and the 8 docs files - eslint.config.mjs: declare `on`, `fn`, `hash`, `array`, `concat`, `get` as readonly globals for `.gts`/`.gjs` (template-implicit, not JS-implicit, but easier than per-file overrides) All five pipeline targets pass: test:eslint, test:types (ember-tsc), test:lib (10/10 rendering tests under testem+Chrome), test:build (publint --strict), build (rollup + ember-tsc declarations). Sherif and pnpm test:docs also green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 6c06223 commit 3887537

17 files changed

Lines changed: 138 additions & 252 deletions

docs/framework/ember/guides/arrays.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ export default class PeopleForm extends Component {
3333
This will regenerate the list every time you run `pushValue` on `field`:
3434

3535
```gjs
36-
import { fn } from '@ember/helper';
37-
import { on } from '@ember/modifier';
3836
3937
const addPerson = (field) => field.pushValue({ name: '', age: 0 });
4038
@@ -47,8 +45,6 @@ const addPerson = (field) => field.pushValue({ name: '', age: 0 });
4745
Finally, you can use a subfield like so:
4846

4947
```gjs
50-
import { fn } from '@ember/helper';
51-
import { on } from '@ember/modifier';
5248
5349
const handleInput = (field, event) => field.handleChange(event.target.value);
5450
const nameAt = (i) => `people[${i}].name`;
@@ -66,8 +62,6 @@ const nameAt = (i) => `people[${i}].name`;
6662

6763
```gjs
6864
import Component from '@glimmer/component';
69-
import { fn } from '@ember/helper';
70-
import { on } from '@ember/modifier';
7165
import { createForm } from '@tanstack/ember-form';
7266
7367
const handleInput = (field, event) => field.handleChange(event.target.value);

docs/framework/ember/guides/async-initial-values.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ Because `createForm` runs at component construction time, the simplest pattern i
2525
```gjs
2626
// person-form.gts
2727
import Component from '@glimmer/component';
28-
import { fn } from '@ember/helper';
29-
import { on } from '@ember/modifier';
3028
import { createForm } from '@tanstack/ember-form';
3129
3230
const handleInput = (field, event) => field.handleChange(event.target.value);

docs/framework/ember/guides/basic-concepts.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,6 @@ Example:
6969

7070
```gjs
7171
import Component from '@glimmer/component';
72-
import { fn } from '@ember/helper';
73-
import { on } from '@ember/modifier';
7472
import { createForm } from '@tanstack/ember-form';
7573
7674
const handleInput = (field, event) => field.handleChange(event.target.value);
@@ -171,8 +169,7 @@ Example:
171169

172170
```gjs
173171
import Component from '@glimmer/component';
174-
import { fn, hash } from '@ember/helper';
175-
import { on } from '@ember/modifier';
172+
import { hash } from '@ember/helper';
176173
import { createForm } from '@tanstack/ember-form';
177174
178175
const handleInput = (field, event) => field.handleChange(event.target.value);
@@ -230,8 +227,7 @@ Supported libraries include:
230227

231228
```gjs
232229
import Component from '@glimmer/component';
233-
import { fn, hash } from '@ember/helper';
234-
import { on } from '@ember/modifier';
230+
import { hash } from '@ember/helper';
235231
import { z } from 'zod';
236232
import { createForm } from '@tanstack/ember-form';
237233
@@ -322,8 +318,6 @@ Example:
322318

323319
```gjs
324320
import Component from '@glimmer/component';
325-
import { fn } from '@ember/helper';
326-
import { on } from '@ember/modifier';
327321
import { createForm } from '@tanstack/ember-form';
328322
329323
const handleInput = (field, event) => field.handleChange(event.target.value);

docs/framework/ember/guides/dynamic-validation.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,7 @@ You can also use `onDynamic` validation with fields, just like you would with ot
144144

145145
```gjs
146146
import Component from '@glimmer/component';
147-
import { fn, hash } from '@ember/helper';
148-
import { on } from '@ember/modifier';
147+
import { hash } from '@ember/helper';
149148
import { createForm, revalidateLogic } from '@tanstack/ember-form';
150149
151150
const handleNumberInput = (field, event) =>

docs/framework/ember/guides/form-composition.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,6 @@ The simplest way to remove boilerplate is to write small wrapper components that
5151
```gjs
5252
// text-field.gts
5353
import Component from '@glimmer/component';
54-
import { fn } from '@ember/helper';
55-
import { on } from '@ember/modifier';
5654
5755
const handleInput = (field, event) =>
5856
field.handleChange(event.target.value);
@@ -347,8 +345,6 @@ Now that we've covered the basics of composing forms, let's put it all together
347345
```gjs
348346
// /src/components/text-field.gts
349347
import Component from '@glimmer/component';
350-
import { fn } from '@ember/helper';
351-
import { on } from '@ember/modifier';
352348
353349
const handleInput = (field, event) => field.handleChange(event.target.value);
354350

docs/framework/ember/guides/linked-fields.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ To solve this, we need to make sure that the "confirm password" validation is re
1616

1717
```gjs
1818
import Component from '@glimmer/component';
19-
import { fn, hash } from '@ember/helper';
20-
import { on } from '@ember/modifier';
19+
import { hash } from '@ember/helper';
2120
import { createForm } from '@tanstack/ember-form';
2221
2322
const handleChange = (field, event) => field.handleChange(event.target.value);

docs/framework/ember/guides/validation.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ Here is an example:
1717

1818
```gjs
1919
import Component from '@glimmer/component';
20-
import { fn, hash } from '@ember/helper';
21-
import { on } from '@ember/modifier';
20+
import { hash } from '@ember/helper';
2221
import { createForm } from '@tanstack/ember-form';
2322
2423
const handleNumberInput = (field, event) =>

docs/framework/ember/quick-start.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ The bare minimum to get started with TanStack Form is to create a form and add a
77

88
```gjs
99
import Component from '@glimmer/component';
10-
import { fn } from '@ember/helper';
11-
import { on } from '@ember/modifier';
1210
import { createForm } from '@tanstack/ember-form';
1311
1412
const handleInput = (field, event) => field.handleChange(event.target.value);

packages/ember-form/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ pnpm add @tanstack/ember-form
1616

1717
```gjs
1818
import Component from '@glimmer/component';
19-
import { fn, hash } from '@ember/helper';
20-
import { on } from '@ember/modifier';
19+
import { hash } from '@ember/helper';
2120
import { createForm, Field, Subscribe } from '@tanstack/ember-form';
2221
2322
const handleInput = (field, event) => {

packages/ember-form/demo-app/templates/application.gts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import Component from '@glimmer/component';
2-
import { fn, hash } from '@ember/helper';
3-
import { on } from '@ember/modifier';
2+
import { hash } from '@ember/helper';
43
import { pageTitle } from 'ember-page-title';
54
import { createForm, Subscribe } from '@tanstack/ember-form';
65

0 commit comments

Comments
 (0)