v0.7.0 — JS Bundles & Extended df API
Push the JS engine to its limit: standalone bundles + ~25 helper methods.
gridlang js-bundle — package a .grid file's data + compute layer into a single self-contained .js file:
gridlang js-bundle report.grid -o bundle.js # Node bundle
gridlang js-bundle report.grid --browser ... # Web Worker bundle
node bundle.js # prints JSONExpanded df API (8 → 25 methods):
- Aggregations: count, variance, std, median, quantile, describe
- Filtering: head, tail, slice, distinct, find, some, every, none
- Sorting: sortBy({desc?}), groupBy, countBy
- Reshaping: pluck, drop, rename, assign
- Joins: join, leftJoin, concat
- Conversion: toRecords, toCSV
- Metadata: columns, shape, empty
All chainable — df.where(p).sortBy(c, {desc:true}).head(3).col("x").
JS source extraction — gridlang/js/{df_helpers,bridge_node,runtime_pipeline}.js are now plain files (no inline Python strings); shared by the in-process bridge and bundles.
378 tests. See spec/SPEC.md §20.