* chore: Adding pip-compile-multi et al
* Specify requirements.txt path for fossa
* [ci] Fixing CI
Co-authored-by: John Bodley <john.bodley@airbnb.com>
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* Update CONTRIBUTING.md
* nixing bugfix line (unnecessary)
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
* proper caps on TypeScript
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* Storybook added!
* starting to configure junk....
* Storybook works!!!
* Now with theme!
* apache boilerplate
* more apache comments
* lots o' knobs for the Button.... taking stock of the codebase
* more classes, but killing the knob for now.
* nixing unused module
* linting
* fresh package-lock
* now with tooltip!
* adding path and zlip because the linter told me to
* upgrading storybook packages from devdeps
* linting
* removing cruft
* killing an annoying (and old?) lint issue
* lint fix, take 2.
* removing zlib/path
* package lock reset from master
* re-adding new packages for this here PR
* nixing console log, simplifying
* nixing comment TODOs (done enough!)
* basic docs.
* chore: bump pyhton dependencies
* bump flask-testing
* Add note to UPDATING and bump flask-testing in requirements-dev.txt
* fix old sqlparse test case that is fixed with sqlparse==0.3.1
* Fix migration and sqlparse set test
* downgrade alembic
* Downgrade sqlalchemy-utils
* pin sqlalchemy-utils due to regression in 0.36.5
* Refine comment in setup.py
* make cachelib an explicit requirement
* Use manifest hooks for dev server proxy
* Rewrite dashboard/App.jsx to supress Redux error in hot reload
* Update ChartRenderer to allow hot realod in Explore
* Fix hot reload in dashboars as well
* Revert changes to ChartRenderer.jsx
Will submit in another PR.
* Clean up
One of the pain points in developing Superset frontend code is the lack
of testing data. Local installation often do not have enough examples
setup to test all edge cases.
This change allows `webpack-dev-server` to proxy to any remote Superset
service, but the same time replaces frontend asset references in HTML
with links to local development version. This allows developers to test
with production data locally, tackling edge cases all while maintaining
the productivity of editing the code locally.
* move cypress into it's own directory with package.json
* update contributing and include cypress fixtures dir
* newline
* fix rebase
* add cypress dep
* bump cypress
* Fix column type on dbs.encrypted_extra
* Add instructions for testing migration downgrades
* Account for non-Postgres DBs in migration
* Use batch_alter_table to make SQLite happy
* Another CI-appeasing tweak
* Typo fix in CONTRIBUTING.md
* Alter references to config.get('FOO') to use preferred config['FOO']
* Set missing configuration constants in superset/config.py
* Misc. CI fixes
* Add type annotation for FEATURE_FLATGS
* [WiP] Improvements related to ASF release process
* Removing translation binaries (.mo)
* Working on 2 docker files to help package and validate releases
* Dockerfile.from_tarball: takes a VERSION as input, downloads
official source release fro svn and bakes it into a functional
docker image that can be validated
* Dockerfile.make_tarball: helps a maintainer to package and sign a
release candidate or release
* Address COPYRIGHT + LICENSE issues
(cherry picked from commit 5ae2836b25)
* Add Roboto font to LICENSE, remove glyphicons files
(cherry picked from commit 9615f39f7a556afe217b4e3288c9116f8ffaab91)
* remove unused LICENSE entries
* Change babytux to open image in birth dashboard
(cherry picked from commit 2776d11893596a029b8af37b96fd6ce1a9f12059)
* Improve instructions
* Docker tweaks
(cherry picked from commit df6e6462458ea8cff1482c142921b20f5607ad8e)
* Include image
* resolved conflict
* Docs updated re: Anaconda/certifi issue re #7373
* Removed --console-log "not working" note
* A note about Anaconda virtualenvs
* Make anaconda comment fit on page
* Added README to docker directory
* Added install doc reference to master copy of contrib/docker/README.md
* merged master, removed mysqlclient
* Removed mysql dependency, Anaconda and --console-log references
* Add cypress install command to cypress test instructions
* Fixed cypress instructions re: port 8081
* Removed anaconda reference, runserver references
* Remove anaconda reference
* Added back a self-contained version of mysqlclient to dev requirements
* Added ASF license to docker README.md
Fixes a series of unexpected things around control validation.
* when a chart opens in a state where a control is invalid, it still
runs the query, and sometimes gets stuck in what appears to be a 'running'
state. After this change, no query is run, and a warning is displayed
in the chart panel body, just like any other error would
* validation used to be done in the <Control> component and alter the
redux store as it went. Clearly this is not the right approach, now
validation occurs on loading the initial redux state, as well as in
the reducer when controls are changed
* currently, when going from a invalid control state to a valid one
(user addresses what is needed), it auto-triggers a query which can be
unexpected. After this change, the error message disappears, and the
"Run Query" overlay gets displayed
* when changing viz type, it's common to get new validation
errors, and currently when that occurs it will still go ahead and run
a query with invalid inputs, which often results in errors
that are not well handled, since much of the logic
assumes control-validated input.
* prettier control validation messages
(cherry picked from commit a3212eba5df95bca834d8d6d98c11d522d9172f3)
- Rename the default feature flags key in `config.py` to DEFAULT_FEATURE_FLAGS
- Merge default feature flags with user defined ones allowing the latter to overwrite the former
- Expose feature_flags for both server and client to use
- Add a utility method for checking whether a feature flag is on on server side
* update contributing based on SIP-13
* update link
* add labels instruction
* minor edit
* minor edit
* update table of content
* Add ASF header and update insructions
* update table
* update text
* [SIP-14] remove dependency on yarn in favor of npm
Find more details here
https://github.com/apache/incubator-superset/issues/6217
* Add core-js to dev deps
* lint
* fix cypress
* break down cypress_build.sh
* fix cypress
* Use 'npm ci' in place of 'npm install'
* Bump npm req to >=6.5.0
* Enforcing npm@'>=6.5.0'
* Using latest lts of nvm
* Make cache settings global
* remove uneeded 'npm run test' as 'npm run cover' takes care of that
* Prefix with 'time'
* Trying to upgrade babel-eslint instead of downgrading
* upgrading babel-polyfill to '@babel/polyfill'
* Moving to babel 7
* remove unused packages
- Improve Docker image
- smaller
- faster to build
- deterministict dependencies (see #5958)
- Rework process to simplify setting things up
- updated documentation
- less commands to type
- no files to move and modify
- optional loading of samples
- Still working in standalone mode (without volumes for superset)
* [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.
* [refactor] Migrate from Mocha+Chai to Jest
This change migrates all the existing unit tests
- to Jest's global expect and matchers from chai's imported expect, asserts and matchers.
- to Jest's describe/test from mocha's describe/it
The majority of the mechanical changes to tests are achieved through running jest-codemods. The only two note-worthy manual tweaks:
1. Setting a testURL of http://localhost in jest config and adjusting a few tests to leverage this value instead of relying on about:blank.
2. Re-enabling ExploreChartPanel_spec which was previously commented out as we cannot have empty tests with nothing in it with Jest. :)
This change also removes dependencies to Mocha and Chai.
* Remove the test:one command as it now does the same thing as test.
* Fixing lint errors. The diff looks large but is large done through `yarn run lint --fix`
The only noteworthy change is the one in eslintrc for tests. The env has been updated from mocha to jest.
* Adding eslint-plugin-jest and further modify tests.
- One small fix in sqllab's Timer Spec for a test that is not using the spy it created for testing.
- Deletion of a duplicated test caught by eslint-plugin-jest.
* - Make istanbul coverage work with Jest.
- Remove dependency on stand-alone istanbul and babel-istanbul as they're built-into jest. Yes!
* Attempt to fix dynamic imports in tests.
* run sequentially and log heap usage
* - tweaking maxworkers for travis and specifying coverageDirectory for codecov
- remove dynamic import in shim.js now that it is set in babelrc for tests only.
* Allow user to force refresh metadata
* fix javascript test error
* nit
* fix styling
* allow custom cache timeout configuration on any database
* minor improvement
* nit
* fix test
* nit
* preserve the old endpoint
- Reorganize sections for better navigability
- Add table of contents
- Rework frontend assets section for clarity and DRY
- Rework translating section for clarity, add "Add Translations" contribution type
- Move release docs only useful for maintainers to RELEASING.md
- Other miscellaneous improvements
* 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
* update python version for testing to 3.6
* CONTRIBUTING.md states pull requests should work on py27, py36+
* CONTRIBUTING.md states pull requests should work on py27 and py36