The problem with the previous solution was that the `npm ci` command
nuke the `node_modules` folder, including the `.cache` that was used by
default. By moving the cache out of `node_modules` we get to both run
`npm ci` and accelerate `TerserPlugin`
* Update webpack config to facilitate debugging charts via symlink and update babel plugin version
* update @superset-ui-legacy version
* update packages
* Add d3 micro packages
* Replace d3 imports with specific modules import
* Define d3 colors
* import specific d3 submodules instead of entire d3
* update function name
* move function location and fix small bug
* Move primary color to control
* remove colorscalefactory usage
* remove unused d3
* fix unit test
* fix color picker
* use @superset-ui/color
* update package version
* remove files that are extracted
* replace all references
* fix two files
* Revert some changes to split to another PR
* remove adaptor
* Address Christine's comment
* remove d3 v3 from calendar
* remove d3.scale.threshold
* Get rid of colorScalerFactory and revise hexToRGB
* fix color cleaning
* fix lint
* [SIP-9] Introduce TypeScript
- Introduce TypeScript and co to both source and tests
- Define alias for src directory in both webpack config and jest config so we can avoid using long relative paths like ../../src in both source and tests
- Type check feature flags system to prevent typos of flag names
- Change the feature flags system and the flags on window instead of populating them through the state tree. When introducing the first SCOPED_FILTER feature flag, it became too difficult to pipe the flags through the state initializers and layers of components and containers (the resulting code is hard to read and has a handful of methods taking an additional feature flag map parameter). Given that feature flags don't change throughout the life time of the app, it is better to leave them on window for easy access than piping them through the global state tree, which is meant to store the state of the app which changes frequently.
- Add a barebone filter panel that only shows when the SCOPED_FILTER feature flag is on
* Remove unnecessary dev-dependency on gl
* - Adding linting for TypeScript files via tslint.
- Fixing linting for Javascript files importing Typscript files
- Also fix linting for Javascript files that now leverage the webpack alias for the src directory
- up Typescript and type def versions
* Rename src directory's webpack alias from @ to src to be more explicit.
* add credit field
* change image size limit for url-loader
* create chord ChartPlugin
* Update config to include original file name in the output
* add calendar
* add country map
* add eventflow
* add thumbnails
* add eventflow, filterbox, force-directed and heatmap
* Add histogram, horizon, mapbox, paired t-test, parallel coordinates
* Create plugins for the rest one-off charts
* ignore chartplugin files from istanbul
* add configuration for optimizing webpack
* resolve webpack cli issue
* Update outdated packages
* extract brace as its own chunk
* update comments
* add list of libs to skip parsing
* remove some libs from list
* remove noParse
* setup devserver with correct proxy
* dev server wroking with written manifest
* add comments
* Change webpack to default port 9000 and minor js formatting
* Use hash in development.
* write to disk = true
* Take ports as argument for dev-server
* update instructions
* update instructions
* add devtools
* use mode instead of NODE_ENV
* use minicssextract for prod (like before)
* remove empty line
* [perf] add webpack 4 + SplitChunks + lazy load visualizations (#5240)
* [webpack] setup lazy loading for all visualizations
* [lazy-load] push renderVis function to <Chart /> state
* no mapbox token
* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.
* fix geojson import, undefined t, and fix async css bug
* [lazy load] actually add babel-plugin-syntax-dynamic-import
* [webpack] working dev version of webpack v4
* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins
* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints
* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox
* [webpack 4] lint python manifest changes, update yarn lock.
* [webpack 4] fix tests with babel-plugin-dynamic-import-node
* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes
* [webpack 4] clean up package.json and yarn.lock after rebase
* [webpack 4] lint?
* [webpack 4] lint for real
* [webpack 4][istanbul] ignore visualizations/index.js
* [webpack 4] fix rebase bug, update dashboard/deprecated/chart/Chart.jsx to use vis promises.
* [webpack 4] lint and test
* [webpack 4] yarn.lock
* [webpack] setup lazy loading for all visualizations
* [lazy-load] push renderVis function to <Chart /> state
* no mapbox token
* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.
* fix geojson import, undefined t, and fix async css bug
* [lazy load] actually add babel-plugin-syntax-dynamic-import
* [webpack] working dev version of webpack v4
* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins
* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints
* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox
* [webpack 4] lint python manifest changes, update yarn lock.
* [webpack 4] fix tests with babel-plugin-dynamic-import-node
* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes
* [webpack 4] clean up package.json and yarn.lock after rebase
* [webpack 4] lint?
* [webpack 4] lint for real
* [webpack 4][istanbul] ignore visualizations/index.js
* [webpack] setup lazy loading for all visualizations
* [lazy-load] push renderVis function to <Chart /> state
* no mapbox token
* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.
* fix geojson import, undefined t, and fix async css bug
* [lazy load] actually add babel-plugin-syntax-dynamic-import
* [webpack] working dev version of webpack v4
* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins
* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints
* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox
* [webpack 4] lint python manifest changes, update yarn lock.
* [webpack 4] fix tests with babel-plugin-dynamic-import-node
* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes
* [webpack 4] clean up package.json and yarn.lock after rebase
* [webpack 4] lint?
* [webpack 4] lint for real
* Make Welcome page into a simple React app
This removes a dependency on datatables, we should be able to get rid
of it as we re-write the Table and PivotTable viz
* tests/lint
* Bump node version to latest
* removing deprecated babel-preset-es2015 in favor of babel-preset-env
This removes this yarn warning during install:
```
warning babel-preset-es2015@6.24.1:
Thanks for using Babel: we recommend using babel-preset-env now:
please read babeljs.io/env to update!
```
* updating sinon to 4.0.0
This removes wrench from its dependencies and this yarn warning during install:
```
warning wrench@1.3.9: wrench.js is deprecated!
You should check out fs-extra (https://github.com/jprichardson/node-fs-extra)
for any operations you were using wrench for.
Thanks for all the usage over the years.
```
* Bumping npm
* Fixing the build
This addresses long standing issues and hacks around react-map-gl
that have been creating all sorts of build issues over time.
It appears that recent changes broke things further.
This PR upgrades to the latest `react-map-gl` and removes related hacks.
* get compiled js file names
* make manifest available as template var
* use script src directly to avoid flash of unstyled content in the case of csstheme.js
* linting
* attempt to fix tests
* exception
* print the path when no manifest file found
* handle case when manifest.json is not present for some reason, or in the case of tests
* initial structure for add new slice page
* simplify add slice form
* add a test
* fix long line
* use underscore for template name
* fix controls path
* fix vis types select
* Simplifying the viz interface (#2005)
* Working on dashes
* Making this a collaborative branch
* Fixing some bugs
* Fixing bugs
* More improvements
* Add datasource back in bootstrap data
* Decent state
* Linting
* Moving forward
* Some more linting
* Fix the timer
* Triggering events through state
* Lingint
* Put filters in an array instead of flt strings (#2090)
* Put filters in an array instead of flt strings
* Remove query_filter(), put opChoices into Filter
* Update version_info.json
* Fix migrations
* More renderTrigger=true
* Fixing bugs
* Working on standalone
* getting standalone to work
* Fixed forcedHeight for standalone =view
* Linting
* Get save slice working in v2 (#2106)
* Filter bugfix
* Fixing empty series limit bug
* Fixed dashboard view
* Fixing short urls
* Only allow owners to overwrite slice (#2142)
* Raise exception when date range is wrong
* Only allow owner to overwrite a slice
* Fix tests for deprecate v1 (#2140)
* Fixed tests for control panels container and filters
* Fixed python tests for explorev2
* Fix linting errors
* Add in stop button during slice querying/rendering (#2121)
* Add in stop button during slice querying/rendering
* Abort ajax request on stop
* Adding missing legacy module
* Removing select2.sortable.js because of license
* Allow query to display while slice is loading (#2100)
* Allow query to display while slice is loading
* Put latestQueryFormData in store
* Reorganized query function, got rid of tu[le return values
* Merging migrations
* Wrapping up shortner migration
* Fixing tests
* Add folder creation to syncBackend
* Fixing edit URL in explore view
* Fix look of Stop button
* Adding syntax highlighting to query modal
* Fix cast_form_data and flase checkbox on dash
* Bugfix
* Going deeper
* Fix filtering
* Deleing invalid filters when changing datasource
* Minor adjustments
* Fixing calendar heatmap examples
* Moving edit datasource button to header's right side
* Fixing mapbox example
* Show stack trace when clicking alert
* Adding npm sync-backend command to build instruction
* Bumping up JS dependencies
* rm dep on select2
* Fix py3 urlparse
* rm superset-select2.js
* Improving migration scripts
* Bugfixes on staging
* Fixing Markup viz
* Change in files
* Renamin files and folders
* cleaning up a single piece of lint
* Removing boat picture from docs
* add superset word mark
* Update rename note in docs
* Fixing images
* Pinning datatables
* Fixing issues with mapbox-gl
* Forgot to rename one file
* Linting
* v0.13.0
* adding pyyaml to dev-reqs