From 757dd02b806ed7f2e51581b97374df67c649b9e9 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Tue, 2 May 2023 11:09:16 -0400 Subject: [PATCH 1/3] cleanup changelog for final 2.0.0 --- CHANGELOG.md | 125 +++++++++++++++++++++++---------------------------- 1 file changed, 56 insertions(+), 69 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 105dfceb..14e07466 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,21 +4,20 @@ All notable changes to `dash-ag-grid` will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/). Links "DE#nnn" prior to version 2.0 point to the Dash Enterprise closed-source Dash AG Grid repo -## [2.0.0] +## [2.0.0] - 2023-05-02 ### Removed - [Overhaul commit](https://github.com/plotly/dash-ag-grid/commit/b888d6ab4fcb4afac187492e8b6c9cf0d0f8842b) - - Remove `agGridColumns` component due to deprecation in AG Grid v29 + - Remove `agGridColumns` component due to deprecation in AG Grid v29, use `columnDefs` instead. - Remove some hardcoded CSS -- [#132](https://github.com/plotly/dash-ag-grid/pull/132) - - removed prop `autoSizeAllColumns` +- [#132](https://github.com/plotly/dash-ag-grid/pull/132) Remove prop `autoSizeAllColumns`, use the `columnSize` prop instead. ### Added - [Overhaul commit](https://github.com/plotly/dash-ag-grid/commit/b888d6ab4fcb4afac187492e8b6c9cf0d0f8842b) - - Add `className` prop for css customization native to ag-grid + - Add `className` prop for css customization native to AG Grid - Add `enable*` props for easier user / dash manipulation, for creating buttons - Add overarching `dangerously_allow_code` prop to grid props only provided at render, to keep `columnDefs` from receiving possible updates to execute malicious JavaScript (originally called `dangerously_allow_html` but renamed later) - Add `data_previous` and `data_previous_timestamp` props to allow easier change tracking in callbacks @@ -33,47 +32,38 @@ Links "DE#nnn" prior to version 2.0 point to the Dash Enterprise closed-source D - Allow for `null` to be passed to `columnSize`, to prevent the fit to width or autosize being the only options - [#28](https://github.com/plotly/dash-ag-grid/pull/28) - - allowed for other column prop functions to pass without disabling them if `dangerously_allow_code` is not passed - - copying over `columnDef` `dangerously_allow_code` to allow for the prop to be placed only on the grid level - - created a unified function parser to be easier to maintain - - brought the props to iterate through into a separate js `utils/functionVars.js` file - - switched to keeping `params` together instead of splitting into separate keys, to allow for easier transition to using AG Grid docs - - updated `test/test_add_remove_update_rows.py` to apply the new variable configuration + - Allow for other column prop functions to pass without disabling them if `dangerously_allow_code` is not passed + - Copy over `columnDef` `dangerously_allow_code` to allow for the prop to be placed only on the grid level + - Keep `params` together instead of splitting into separate keys, to allow for easier transition to using AG Grid docs - [#39](https://github.com/plotly/dash-ag-grid/pull/39) - - Allowed for `defaultColDef` to be iterated through for functions - - Added `tooltipComponent` to be altered if it was list as a function object - - Added tests for `custom_components.py`, and made it so the stock data is pulled from a csv instead of live. - -- [#49](https://github.com/plotly/dash-ag-grid/pull/49) Safely handle more attributes when `dangerously_allow_code` is disabled: top-level attributes `rowClassRules`, `getRowStyle`, and `getRowClass`; and column attributes `cellClass`, `cellStyle`, and `cellClassRules`. + - Allow for `defaultColDef` to be iterated through for functions + - Add `tooltipComponent` to be altered if it was list as a function object -- [#67](https://github.com/plotly/dash-ag-grid/pull/67) Function parsing recursvie columndefs - - adding more functions to be available for parsing - - allowed for recursively going through `columnDefs` -> `children` and master detail info - - added various tests for functionality +- [#49](https://github.com/plotly/dash-ag-grid/pull/49) Safely handle more attributes when `dangerously_allow_code` is disabled: + - Top-level attributes `rowClassRules`, `getRowStyle`, and `getRowClass` + - Column attributes `cellClass`, `cellStyle`, and `cellClassRules` -- [#76](https://github.com/plotly/dash-ag-grid/pull/76) Adding logging function - - adding logging function available by default, available via `{"function": "log()"}` +- [#67](https://github.com/plotly/dash-ag-grid/pull/67) Function parsing recursive columnDefs + - Add more functions to be available for parsing + - Allow for recursively going through `columnDefs` -> `children` and master detail info -- [#81](https://github.com/plotly/dash-ag-grid/pull/81) - - added tests for `cellClicked` data +- [#76](https://github.com/plotly/dash-ag-grid/pull/76) Add logging function available by default, available via `{"function": "log()"}` -- [#111](https://github.com/plotly/dash-ag-grid/pull/111) - - added `filterModel` prop in order to capture the grid's active filters +- [#111](https://github.com/plotly/dash-ag-grid/pull/111) Add `filterModel` prop in order to capture the grid's active filters - [#132](https://github.com/plotly/dash-ag-grid/pull/132) - - added new `columnSize` available, `responsiveSizeToFit` which will adjust column sizes based upon grid size and columns added or removed - - added `columnSizeOptions` to take an object that is compatible with AG Grid to perform sizing options as needed - - added ability to push `columnState` back to grid and replay the settings + - Add new `columnSize` option `responsiveSizeToFit`, which will adjust column sizes based upon grid size and columns added or removed + - Add `columnSizeOptions` prop to modify the behavior chosen in `columnSize` + - Add ability to push `columnState` back to grid and replay the settings - [#145](https://github.com/plotly/dash-ag-grid/pull/145) - - added support for `alignedGrids` - - added ability for functions with `tooltipComponentParams` - - added `paginationInfo` for read-only info from the grid's pagination - - added `paginationGoTo` to navigate to different pages + - Support `alignedGrids` + - Support functions with `tooltipComponentParams` + - Add `paginationInfo` for read-only info from the grid's pagination + - Add `paginationGoTo` to navigate to different pages --[#164](https://github.com/plotly/dash-ag-grid/pull/164) - - added ability for `selectedRows` to be passed functions or ids for performing selections +-[#164](https://github.com/plotly/dash-ag-grid/pull/164) Support passing `selectedRows` functions or ids for performing selections ### Updated - [Overhaul commit](https://github.com/plotly/dash-ag-grid/commit/b888d6ab4fcb4afac187492e8b6c9cf0d0f8842b) @@ -82,66 +72,63 @@ Links "DE#nnn" prior to version 2.0 point to the Dash Enterprise closed-source D - Update `requirements.txt` (Python dependencies for demos and docs) to allow the latest packages - [#39](https://github.com/plotly/dash-ag-grid/pull/39) - - Changing `selectionChanged` to `selectedRows` to make props align with AG Grid. - - Document adjustments for `selectionChanged` to `selectedRows`, also allowed for persistence in the `selectedRows` + - Change `selectionChanged` to `selectedRows` to make props align with AG Grid + - Allow `selectedRows` to persist -- [#70](https://github.com/plotly/dash-ag-grid/pull/70) - - Changing `clickData` to `cellRendererData` to more closely line up with what this does +- [#70](https://github.com/plotly/dash-ag-grid/pull/70) Change `clickData` to `cellRendererData` to more closely line up with what this does - [#81](https://github.com/plotly/dash-ag-grid/pull/81) - - prop clean-up overhaul - - updating testing that broke due to props no longer being on the grid, but in dashGridOptions - - added testing for selection and sizing buttons - - removed `cellStyle` from the grid level, allowing more flexibility in customization, and alignment with AG grid - - allowed for functions, styleConditions and regular dictionaries to be passed to the `cellStyle` on all levels - - added `rowId` to `cellClicked` data + - Prop clean-up overhaul + - Remove `cellStyle` from the grid level, allowing more flexibility in customization, and alignment with AG grid + - Allow for functions, styleConditions and regular dictionaries to be passed to the `cellStyle` on all levels + - Add `rowId` to `cellClicked` data -- [#132](https://github.com/plotly/dash-ag-grid/pull/132) - - updated `columnSize` option of `autoSizeAll` -> `autoSize` +- [#132](https://github.com/plotly/dash-ag-grid/pull/132) Change `columnSize` option of `autoSizeAll` -> `autoSize` -- [#145](https://github.com/plotly/dash-ag-grid/pull/145) and [#159](https://github.com/plotly/dash-ag-grid/pull/159) - - updated AG Grid `29.1.0` -> `29.3.3` +- [#145](https://github.com/plotly/dash-ag-grid/pull/145) and [#159](https://github.com/plotly/dash-ag-grid/pull/159) Update AG Grid `29.1.0` -> `29.3.3` - [#155](https://github.com/plotly/dash-ag-grid/pull/155) - - update React to `18.2.0` - - updated `material-ui` to `@mui` for `rowMenuRenderer` + - Update React to `18.2.0` + - Update `material-ui` to `@mui` for `rowMenuRenderer` --[#164](https://github.com/plotly/dash-ag-grid/pull/164) - - updated `selectedRows` to maintain persistence by utilizing `rowIds` if available +-[#164](https://github.com/plotly/dash-ag-grid/pull/164) Update `selectedRows` to maintain persistence by utilizing `rowIds` if available ### Fixed - [Overhaul commit](https://github.com/plotly/dash-ag-grid/commit/b888d6ab4fcb4afac187492e8b6c9cf0d0f8842b) - - Fix issue where conditional formatting was not applied to nested columns + - Fix conditional formatting for nested columns - Fix issue where columns would not take edits or adjustments due to becoming static - [#6](https://github.com/plotly/dash-ag-grid/pull/6) Fix props issue for `enableAddRows` + - [#19](https://github.com/plotly/dash-ag-grid/pull/19) Fixed `cellClicked` as reported in [#17](https://github.com/plotly/dash-ag-grid/issues/17) + - [#45](https://github.com/plotly/dash-ag-grid/pull/45) Fix [#44](https://github.com/plotly/dash-ag-grid/issues/44), markdown ignoring `target="_blank"` to open links in a new tab. Now if `dangerously_use_code` is `false`, markdown cells honor `columnDef.linkTarget`, but if `dangerously_use_code` is `true` you MUST use the HTML syntax `` to achieve this, markdown syntax `[text](url)` will ignore `columnDef.linkTarget`. + - [#47](https://github.com/plotly/dash-ag-grid/pull/47) Fix `virtualRowData` by setting the default `rowModelType='clientSide'` -- [#81](https://github.com/plotly/dash-ag-grid/pull/81) Fixing syncing issue with `rowData`, `virtualRowData` when cell edits and async `rowTransactions` occur -- [#90](https://github.com/plotly/dash-ag-grid/pull/90) Fixing `columnState` to be populated once `gridReady` -- [#92](https://github.com/plotly/dash-ag-grid/pull/92) Fixing `defaultStyle` when no `styleConditions` is in `cellStyle` -- [#111](https://github.com/plotly/dash-ag-grid/pull/111) - - fixing templates to only populate when `dangerously_allow_code=True` +- [#81](https://github.com/plotly/dash-ag-grid/pull/81) Fix syncing issue with `rowData`, `virtualRowData` when cell edits and async `rowTransactions` occur -- [#132](https://github.com/plotly/dash-ag-grid/pull/132) - - fixed `columnSize` to update upon interaction +- [#90](https://github.com/plotly/dash-ag-grid/pull/90) Fix `columnState` to be populated once `gridReady` + +- [#92](https://github.com/plotly/dash-ag-grid/pull/92) Fix `defaultStyle` when no `styleConditions` is in `cellStyle` + +- [#111](https://github.com/plotly/dash-ag-grid/pull/111) Fix templates to only populate when `dangerously_allow_code=True` + +- [#132](https://github.com/plotly/dash-ag-grid/pull/132) Fix `columnSize` to update upon interaction - [#145](https://github.com/plotly/dash-ag-grid/pull/145) - - fixed `onRowDragEnd` to trigger `virtualRowData` update - - fixed all `virtualRowData` updates to take into account the sorting + - Fix `onRowDragEnd` to trigger `virtualRowData` update + - Fix all `virtualRowData` updates to take into account sorting - [#155](https://github.com/plotly/dash-ag-grid/pull/155) and [#158](https://github.com/plotly/dash-ag-grid/pull/158) - - fixed `openGroups` where clearing out the set would cause issues - - fixed `paginationGoTo` to work with a starting page + - Fix `openGroups` where clearing out the set would cause issues + - Fix `paginationGoTo` to work with a starting page -- [#161](https://github.com/plotly/dash-ag-grid/pull/161) - - fixed the default style to be applied even when a style is given from the developer, `style.height` and `style.width` always exist and can be overridden by the developer if provided +- [#161](https://github.com/plotly/dash-ag-grid/pull/161) Fix the default style to be applied even when a style is given from the developer. `style.height` and `style.width` always exist but can be overridden if other values are provided in the `style` prop. -[#164](https://github.com/plotly/dash-ag-grid/pull/164) - - fixed `comparator` to not be restricted to just params - - fixed `paginationGoTo` to allow `0` to be passed + - Fix `comparator` to not be restricted to just params + - Fix `paginationGoTo` to allow `0` to be passed ## [1.3.2] - 2023-01-13 From dad615aec2f78672f7a79049b8571dc0f4006330 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Tue, 2 May 2023 12:34:35 -0400 Subject: [PATCH 2/3] improve readme and PyPI metadata --- README.md | 35 +++++++++++++++-------------------- setup.py | 11 +++++++++++ 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index df5d91c9..72471d51 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,39 @@ # Dash AG Grid -Dash AG Grid is a Dash component wrapper for the AG Grid Javascript package, enabling you to display AG Grid tables natively in your Dash app. +Dash AG Grid is a Dash component wrapper for the AG Grid JavaScript package, enabling you to display AG Grid components natively in your Dash app. -The underlying AG Grid Javascript package is a third-party software component developed by [AG Grid Ltd](http://www.ag-grid.com/). Many AG Grid features are available for free in the AG Grid [Community version](https://github.com/ag-grid/ag-grid). However, some features require a paid subscription to the AG Grid Enterprise version ([more info available here](https://www.ag-grid.com/license-pricing.php)). The demos which use Enterprise features are clearly marked. +The underlying AG Grid JavaScript package is a third-party software component developed by [AG Grid Ltd](http://www.ag-grid.com/). Many features are available for free in the AG Grid [Community version](https://github.com/ag-grid/ag-grid). Some features require a paid subscription to the AG Grid Enterprise version ([more info available here](https://www.ag-grid.com/license-pricing.php)). Both the community and enterprise versions are included in this component, but the enterprise features require you to provide a valid AG Grid license key. The demos which use Enterprise features are clearly marked. +## v2.0.0 Release -## Dash AG Grid is currently a prerelease - -We've completed all planned breaking changes, and we're now doing the final review before the full 2.0.0 release! - -If you have tried previous alpha releases, please see our [Migration Guide.](https://dashaggrid.pythonanywhere.com/getting-started/migration-guide) - +If you have tried v2.0.0 alpha releases, release candidates, or our v1.x enterprise package, please see our [Migration Guide](https://dash.plotly.com/dash-ag-grid/migration-guide) (previously hosted [here](https://dashaggrid.pythonanywhere.com/getting-started/migration-guide)). ### Getting Started -`pip install dash-ag-grid==2.0.0rc2` - - 1. Read the [Medium article](https://medium.com/plotly/announcing-dash-ag-grid-fbb4a1c83e62#:~:text=Dash%20AG%20Grid%20is%20a,grid%20accessible%20to%20our%20customers) or watch the [webinar](https://www.youtube.com/watch?v=Ggekq7C5pz4?utm_source=Webinar%3A+AG+Grid+1%2F26%2F23&utm_medium=medium_article&utm_content=AnnouncingDashAGGrids) introducing Dash AG Grid. - 2. See the live [stock portfolio demo app](https://sales-demo.plotly.com/dash-ag-grid) from the webinar hosted by Plotly. - 3. Get the code for the demo app in [GitHub](https://github.com/plotly/dash-ag-grid/blob/dev/docs/demo_stock_portfolio.py) - 4. Learn more about [AG Grid](https://www.ag-grid.com/react-data-grid) in the upstream docs, including more information on community features and licensing for the enterprise version. +`pip install dash-ag-grid` +1. Read the [Medium article](https://medium.com/plotly/announcing-dash-ag-grid-fbb4a1c83e62#:~:text=Dash%20AG%20Grid%20is%20a,grid%20accessible%20to%20our%20customers) or watch the [webinar](https://www.youtube.com/watch?v=Ggekq7C5pz4?utm_source=Webinar%3A+AG+Grid+1%2F26%2F23&utm_medium=medium_article&utm_content=AnnouncingDashAGGrids) introducing Dash AG Grid. +2. See the live [stock portfolio demo app](https://sales-demo.plotly.com/dash-ag-grid) from the webinar hosted by Plotly. +3. Get the code for the demo app in [GitHub](https://github.com/plotly/dash-ag-grid/blob/dev/docs/demo_stock_portfolio.py) +4. Learn more about [AG Grid](https://www.ag-grid.com/react-data-grid) in the upstream docs, including more information on community features and licensing for the enterprise version. - -### See the docs app live -https://dashaggrid.pythonanywhere.com/ +### Documentation +At v2.0.0 release we're still working to move all the Dash AG Grid docs into the official Dash docs, https://dash.plotly.com/dash-ag-grid. +In the meantime you can find them all here: https://dashaggrid.pythonanywhere.com/ ![docs_app](https://user-images.githubusercontent.com/72614349/233876110-4a29348c-d8e3-4114-b152-bf97f934eac8.png) + ## Contributing Dash AG Grid welcomes community contributions! -If you have identified a bug or have an idea for a new feature, it's best to start with a GitHub issue. First look at existing issues at https://github.com/plotly/dash-ag-grid/issues to make sure this is not a duplicate issue. Then create a new issue. Bug reports should be accompanied by a small example app that someone else can copy and run to reproduce the problem. +If you have identified a bug or have an idea for a new feature, it's best to start with a GitHub issue. First look at existing issues at https://github.com/plotly/dash-ag-grid/issues to make sure this is not a duplicate. Then create a new issue. Bug reports should be accompanied by a small example app that someone else can copy and run to reproduce the problem. -The docs are under development as well. There are many examples in the official AG Grid docs that have not been included here yet. Please open an issue or do pull requests for edits or to add examples. Or post your question, comments or demo apps on the Dash Community Forum. +The docs are under development as well. There are many examples in the official AG Grid docs that have not been included here yet. Please open an issue or do pull requests for edits or to add examples. Or post your question, comments or demo apps on the [Dash Community Forum](https://community.plotly.com/). ### Running the docs app locally ``` @@ -48,7 +44,6 @@ Then you can run the apps there: - `demo_stock_portfolio.py` and `demo_stock_portfolio_simple.py` are small apps demonstrating some key features of Dash AG Grid, such as calculated columns, conditional formatting, and connecting its data and selected rows to graphs. - `app.py` runs a comprehensive documentation app. After we complete the open-source release, this will be merged into the main dash docs at https://dash.plotly.com/ but right now this app is the best way to explore Dash AG Grid. - ### Developing in this repo Make sure you have Dash installed with dev and testing extras: diff --git a/setup.py b/setup.py index eb0baf4f..3eaf0894 100644 --- a/setup.py +++ b/setup.py @@ -5,6 +5,9 @@ with open("package.json") as f: package = json.load(f) +with open("README.md", encoding="utf-8") as f: + long_description = f.read() + package_name = package["name"].replace(" ", "_").replace("-", "_") setup( @@ -15,8 +18,16 @@ include_package_data=True, license=package["license"], description=package.get("description", package_name), + long_description=long_description, + long_description_content_type="text/markdown", install_requires=["dash>=2"], python_requires=">=3.6", + url="https://dash.plotly.com/dash-ag-grid", + project_urls={ + "Documentation": "https://dash.plotly.com/dash-ag-grid", + "Source": "https://github.com/plotly/dash-ag-grid", + "Issue Tracker": "https://github.com/plotly/dash-ag-grid/issues", + }, classifiers = [ "Framework :: Dash", "License :: OSI Approved :: MIT License", From a75e70115393872511a465188515c005869b1b70 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Tue, 2 May 2023 12:35:44 -0400 Subject: [PATCH 3/3] fix build pipeline for NPM publishing, and support serve_locally=False --- .gitignore | 1 + _validate_init.py | 67 -------- dash_ag_grid/__init__.py | 7 + package-lock.json | 354 +++++++++++++++++++++++++++++++++++++++ package.json | 13 +- 5 files changed, 369 insertions(+), 73 deletions(-) delete mode 100644 _validate_init.py diff --git a/.gitignore b/.gitignore index 75677c56..347fe43c 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ NAMESPACE Project.toml src/*.jl src/jl/*.jl +lib/ # Created by .ignore support plugin (hsz.mobi) ### VisualStudioCode template diff --git a/_validate_init.py b/_validate_init.py deleted file mode 100644 index 674533e5..00000000 --- a/_validate_init.py +++ /dev/null @@ -1,67 +0,0 @@ -""" -DO NOT MODIFY -This file is used to validate your publish settings. -""" -from __future__ import print_function - -import os -import sys -import importlib - - -components_package = 'dash_ag_grid' - -components_lib = importlib.import_module(components_package) - -missing_dist_msg = 'Warning {} was not found in `{}.__init__.{}`!!!' -missing_manifest_msg = ''' -Warning {} was not found in `MANIFEST.in`! -It will not be included in the build! -''' - -with open('MANIFEST.in', 'r') as f: - manifest = f.read() - - -def check_dist(dist, filename): - # Support the dev bundle. - if filename.endswith('dev.js'): - return True - - return any( - filename in x - for d in dist - for x in ( - [d.get('relative_package_path')] - if not isinstance(d.get('relative_package_path'), list) - else d.get('relative_package_path') - ) - ) - - -def check_manifest(filename): - return filename in manifest - - -def check_file(dist, filename): - if not check_dist(dist, filename): - print( - missing_dist_msg.format(filename, components_package, '_js_dist'), - file=sys.stderr - ) - if not check_manifest(filename): - print(missing_manifest_msg.format(filename), - file=sys.stderr) - - -for cur, _, files in os.walk(components_package): - for f in files: - - if f.endswith('js'): - # noinspection PyProtectedMember - check_file(components_lib._js_dist, f) - elif f.endswith('css'): - # noinspection PyProtectedMember - check_file(components_lib._css_dist, f) - elif not f.endswith('py'): - check_manifest(f) diff --git a/dash_ag_grid/__init__.py b/dash_ag_grid/__init__.py index 8ec730b0..9b58eb12 100644 --- a/dash_ag_grid/__init__.py +++ b/dash_ag_grid/__init__.py @@ -28,35 +28,42 @@ _this_module = _sys.modules[__name__] +_unpkg = f'https://unpkg.com/dash-ag-grid@{__version__}/dash_ag_grid/' _js_dist = [ { 'relative_package_path': 'dash_ag_grid.min.js', + 'external_url': f'{_unpkg}dash_ag_grid.min.js', 'namespace': package_name }, { 'relative_package_path': 'dash_ag_grid.min.js.map', 'namespace': package_name, + 'external_url': f'{_unpkg}dash_ag_grid.min.js.map', 'dynamic': True }, { 'relative_package_path': 'async-community.js', 'namespace': package_name, + 'external_url': f'{_unpkg}async-community.js', 'async': True }, { 'relative_package_path': 'async-community.js.map', 'namespace': package_name, + 'external_url': f'{_unpkg}async-community.js.map', 'dynamic': True }, { 'relative_package_path': 'async-enterprise.js', 'namespace': package_name, + 'external_url': f'{_unpkg}async-enterprise.js', 'async': True }, { 'relative_package_path': 'async-enterprise.js.map', 'namespace': package_name, + 'external_url': f'{_unpkg}async-enterprise.js.map', 'dynamic': True }, ] diff --git a/package-lock.json b/package-lock.json index 561aee31..4866e172 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,6 +27,7 @@ "static-eval": "^2.1.0" }, "devDependencies": { + "@babel/cli": "^7.21.5", "@babel/core": "^7.21.5", "@babel/eslint-parser": "^7.21.3", "@babel/plugin-syntax-dynamic-import": "^7.8.3", @@ -69,6 +70,75 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/cli": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.21.5.tgz", + "integrity": "sha512-TOKytQ9uQW9c4np8F+P7ZfPINy5Kv+pizDIUwSVH8X5zHgYHV4AA8HE5LA450xXeu4jEfmUckTYvv1I4S26M/g==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/cli/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@babel/cli/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/cli/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/cli/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/@babel/code-frame": { "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", @@ -2360,6 +2430,13 @@ "react": "^17.0.0 || ^18.0.0" } }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "optional": true + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -2904,6 +2981,20 @@ "node": ">=4" } }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "optional": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -3106,6 +3197,16 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3268,6 +3369,47 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", @@ -4593,12 +4735,32 @@ "node": ">=8.0.0" } }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -5119,6 +5281,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -6689,6 +6864,16 @@ "semver": "bin/semver" } }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/npm-run-all": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", @@ -7480,6 +7665,19 @@ "node": ">= 6" } }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/rechoir": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", @@ -7958,6 +8156,15 @@ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", "dev": true }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -9173,6 +9380,53 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "@babel/cli": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.21.5.tgz", + "integrity": "sha512-TOKytQ9uQW9c4np8F+P7ZfPINy5Kv+pizDIUwSVH8X5zHgYHV4AA8HE5LA450xXeu4jEfmUckTYvv1I4S26M/g==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "@babel/code-frame": { "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", @@ -10726,6 +10980,13 @@ "react-is": "^18.2.0" } }, + "@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "optional": true + }, "@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -11199,6 +11460,17 @@ "color-convert": "^1.9.0" } }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -11347,6 +11619,13 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -11452,6 +11731,35 @@ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, "chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", @@ -12470,12 +12778,25 @@ "signal-exit": "^3.0.2" } }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -12854,6 +13175,16 @@ "has-bigints": "^1.0.1" } }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -13890,6 +14221,13 @@ } } }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "optional": true + }, "npm-run-all": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", @@ -14447,6 +14785,16 @@ "util-deprecate": "^1.0.1" } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "rechoir": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", @@ -14796,6 +15144,12 @@ } } }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", diff --git a/package.json b/package.json index 579958e2..c16fdbfb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "dash-ag-grid", "version": "2.0.0", - "description": "Dash wrapper around ag-grid", + "description": "Dash wrapper around AG Grid, the best interactive data grid for the web.", "repository": { "type": "git", "url": "git://github.com/plotly/dash-ag-grid.git" @@ -10,13 +10,12 @@ "url": "https://github.com/plotly/dash-ag-grid/issues" }, "homepage": "https://github.com/plotly/dash-ag-grid", - "main": "build/index.js", + "main": "dash_ag_grid/dash_ag_grid.min.js", "scripts": { - "validate-init": "python _validate_init.py", - "prepublishOnly": "npm run validate-init", + "prepublishOnly": "rm -rf lib && babel src --out-dir lib --copy-files --config-file ./.babelrc && rm -rf lib/jl/ lib/*.jl", "build:js": "webpack --mode production", "build:backends": "dash-generate-components ./src/lib/components dash_ag_grid -p package-info.json --r-prefix '' --jl-prefix ''", - "build": "npm run build:js && npm run build:backends", + "build": "run-s prepublishOnly build:js build:backends", "postbuild": "es-check es2015 dash_ag_grid/*.js", "private::format.eslint": "eslint --quiet --fix src", "private::format.prettier": "prettier --write \"src/**/*.{js,jsx,ts,tsx}\"", @@ -46,6 +45,7 @@ "static-eval": "^2.1.0" }, "devDependencies": { + "@babel/cli": "^7.21.5", "@babel/core": "^7.21.5", "@babel/eslint-parser": "^7.21.3", "@babel/plugin-syntax-dynamic-import": "^7.8.3", @@ -71,7 +71,8 @@ "webpack-cli": "^5.0.2" }, "files": [ - "/dash_ag_grid/*{.js,.map}" + "/dash_ag_grid/*{.js,.map}", + "/lib/" ], "engines": { "node": ">=8.11.0",