toga-ai 1.0.522 → 1.0.523
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -9,4 +9,4 @@
|
|
|
9
9
|
| [Primary Table templates (server/client, sizing, virtualization)](features/primary-table-templates.md) | `src/templates/PrimaryTable/` is the **production, wired-up table** built on the [Table component](table.md). | toga-blox/src/templates/PrimaryTable/PrimaryTable.tsx, toga-blox/src/templates/PrimaryTable/PrimaryTableServerTemplate.tsx, toga-blox/src/templates/PrimaryTable/PrimaryTableClientTemplate.tsx, toga-blox/src/templates/PrimaryTable/PrimaryTableHeaderCell.tsx, toga-blox/src/templates/PrimaryTable/PrimaryTableBodyCell.tsx, toga-blox/src/templates/PrimaryTable/PrimaryTableRow.tsx, toga-blox/src/templates/PrimaryTable/PrimaryTableExpandableRow.tsx, toga-blox/src/templates/PrimaryTable/types.ts |
|
|
10
10
|
| [TableRecordModal (record-detail modal shell)](features/table-record-modal.md) | `TableRecordModal` is a **generic, presentational modal shell** for showing a single table record (row) in detail — typically opened from a table row click. | toga-blox/src/components/TableRecordModal/TableRecordModal.tsx, toga-blox/src/components/TableRecordModal/index.ts, toga-blox/src/components/TableRecordModal/tableRecordModal.module.css |
|
|
11
11
|
| [Table component (cells, action cells, filters & sorts, hooks, theming)](features/table.md) | The `Table` component (`src/components/Table/`) is the **TanStack Table v8** building block behind the [Primary Table templates](primary-table-templates.md). | toga-blox/src/components/Table/index.ts, toga-blox/src/components/Table/types.ts, toga-blox/src/components/Table/utils/buildTanstackColumns.tsx, toga-blox/src/components/Table/utils/resolveCellType.tsx, toga-blox/src/components/Table/components/cellTypes, toga-blox/src/components/Table/components/actionCells, toga-blox/src/components/Table/components/columnFiltersAndSorts, toga-blox/src/components/Table/hooks, toga-blox/src/components/Table/themeConfig |
|
|
12
|
-
| [Dynamic npm Publish Pipeline (branch → channel)](workflows/dynamic-publish-pipeline.md) | How `@agilant/toga-blox` (checkout folder `toga-blox-npm`, registry repo key `toga-blox`) publishes a per-environment npm **channel** (dist-tag) from a `_<mode> | toga-blox/.github/workflows/publish.yml, toga-blox/src/utils/getFontAwesomeIcon.tsx |
|
|
12
|
+
| [Dynamic npm Publish Pipeline (branch → channel)](workflows/dynamic-publish-pipeline.md) | How `@agilant/toga-blox` (checkout folder `toga-blox-npm`, registry repo key `toga-blox`) publishes a per-environment npm **channel** (dist-tag) from a `_<mode> | toga-blox/.github/workflows/publish.yml, toga-blox/package.json, toga-blox/src/utils/getFontAwesomeIcon.tsx |
|
|
@@ -6,10 +6,11 @@ project: TOGa Blox
|
|
|
6
6
|
client: shared
|
|
7
7
|
type: workflow
|
|
8
8
|
status: active
|
|
9
|
-
updated: 2026-
|
|
9
|
+
updated: 2026-08-04
|
|
10
10
|
owners: [jcardinal, apeterson]
|
|
11
11
|
files:
|
|
12
12
|
- toga-blox/.github/workflows/publish.yml
|
|
13
|
+
- toga-blox/package.json
|
|
13
14
|
- toga-blox/src/utils/getFontAwesomeIcon.tsx
|
|
14
15
|
related:
|
|
15
16
|
- ../architecture.md
|
|
@@ -99,11 +100,36 @@ environment needs its own maintained `_<mode>` branch in `toga-blox-npm`.
|
|
|
99
100
|
`React.CSSProperties & Record<\`--${string}\`, string>` — the value type must be `string`
|
|
100
101
|
(**not** `string | number`; `CSSVariables` requires `string`). Runtime and function signature
|
|
101
102
|
are unchanged, so it is safe for the ~40 consumers.
|
|
103
|
+
- **The `_production`/`_beta` build copies only `.scss` — a plain `.css` component
|
|
104
|
+
stylesheet is silently dropped from the tarball.** On `_production` and `_beta` the
|
|
105
|
+
`build` script is `tsc && copyfiles -u 1 "src/**/*.scss" dist`: `tsc` compiles a
|
|
106
|
+
component's `import "./Foo.css"` into the emitted JS, but `copyfiles` never ships the
|
|
107
|
+
`.css`, so the published package contains JS importing a file that isn't in the tarball.
|
|
108
|
+
Consumers then fail their Vite/Rollup build with `Could not resolve "./Foo.css"`
|
|
109
|
+
(seen with `EnvironmentBadge` in `@agilant/toga-blox@beta` 1.0.316-beta.108, breaking
|
|
110
|
+
`toga2-commerce`). **Convention on the prod/beta build: author component stylesheets as
|
|
111
|
+
`.scss`, never `.css`** (a flat `.css` file is valid SCSS as-is, so renaming is the
|
|
112
|
+
zero-risk fix — no build-script change). Note the build description in `architecture.md`
|
|
113
|
+
(copies `*.scss/*.css/*.module.css`) reflects the in-progress `feature-new-table` branch,
|
|
114
|
+
**not** the current `_production`/`_beta` build; that feature branch is not to be merged
|
|
115
|
+
to prod/beta just to pick up the wider copy glob.
|
|
116
|
+
- **Diagnose what a channel actually shipped with `npm pack`.** To see exactly which files a
|
|
117
|
+
published dist-tag contains, run `npm pack @agilant/toga-blox@<tag>` then
|
|
118
|
+
`tar tzf <tarball>` — this is how the missing `.css` (JS importing an unshipped stylesheet)
|
|
119
|
+
was confirmed against the tarball rather than the source tree.
|
|
102
120
|
- **Secret hygiene done right.** `publish.yml` writes a transient `.npmrc` at build time from
|
|
103
121
|
GitHub secrets (`${NODE_AUTH_TOKEN}` / FontAwesome token) — it never commits tokens. This is
|
|
104
122
|
the pattern the consuming apps should follow (see the commerce workflow's secret-hygiene note).
|
|
105
123
|
|
|
106
124
|
## Change history
|
|
125
|
+
- 2026-08-04 — Recorded the prod/beta `.scss`-only build gotcha: the `_production`/`_beta`
|
|
126
|
+
`build` copies only `src/**/*.scss`, so a component shipped with a plain `.css` + matching
|
|
127
|
+
`import "./X.css"` publishes JS referencing a stylesheet absent from the tarball, breaking
|
|
128
|
+
consumers' Vite build (`Could not resolve "./EnvironmentBadge.css"`, `@agilant/toga-blox@beta`
|
|
129
|
+
1.0.316-beta.108 → `toga2-commerce`). Fix was renaming `EnvironmentBadge.css`→`.scss` (no
|
|
130
|
+
build-script change), republished on `_beta` as 1.0.316-beta.115 and a `fix/env-badge-scss-prod`
|
|
131
|
+
PR into `_production`; `toga2-commerce` `_beta` bumped to the fixed version. Added the
|
|
132
|
+
`npm pack`/`tar tzf` tarball-inspection diagnostic. (apeterson)
|
|
107
133
|
- 2026-07-23 — Documented CI version derivation (strip suffix → patch+1 → append `-<mode>.<run>`;
|
|
108
134
|
dev owns only the base version, never the suffix) and the `_sandbox-client` deploy procedure now
|
|
109
135
|
driven by the `deploy-sandbox-client` project skill. Recorded that `publish.yml` has diverged
|
package/package.json
CHANGED