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-07-23
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toga-ai",
3
- "version": "1.0.522",
3
+ "version": "1.0.523",
4
4
  "description": "TOGA Technology Team Claude Knowledge System — shared AI coding harness with skills, knowledge base CLI, and project installer for Claude Code.",
5
5
  "keywords": [
6
6
  "claude",