diff --git a/caravel/__init__.py b/caravel/__init__.py index b750b99842f..4cf93425d4c 100644 --- a/caravel/__init__.py +++ b/caravel/__init__.py @@ -14,9 +14,6 @@ from flask_appbuilder.baseviews import expose from flask_cache import Cache from flask_migrate import Migrate -from caravel import version - -VERSION = version.VERSION_STRING APP_DIR = os.path.dirname(__file__) CONFIG_MODULE = os.environ.get('CARAVEL_CONFIG', 'caravel.config') diff --git a/caravel/assets/package.json b/caravel/assets/package.json index 321def76482..0ccb17f1f71 100644 --- a/caravel/assets/package.json +++ b/caravel/assets/package.json @@ -1,6 +1,6 @@ { "name": "caravel", - "version": "0.1.0", + "version": "0.10.0", "description": "Caravel is a data exploration platform designed to be visual, intuitive, and interactive.", "directories": { "doc": "docs", diff --git a/caravel/assets/webpack.config.js b/caravel/assets/webpack.config.js index 79e5d780aa5..7b851e2e0e8 100644 --- a/caravel/assets/webpack.config.js +++ b/caravel/assets/webpack.config.js @@ -1,5 +1,6 @@ const webpack = require('webpack'); const path = require('path'); +const fs = require('fs'); // input dir const APP_DIR = path.resolve(__dirname, './'); @@ -7,6 +8,8 @@ const APP_DIR = path.resolve(__dirname, './'); // output dir const BUILD_DIR = path.resolve(__dirname, './dist'); +const VERSION_STRING = JSON.parse(fs.readFileSync('package.json')).version; + const config = { entry: { 'css-theme': APP_DIR + '/javascripts/css-theme.js', @@ -19,7 +22,7 @@ const config = { }, output: { path: BUILD_DIR, - filename: '[name].entry.js', + filename: `[name].${VERSION_STRING}.entry.js`, }, resolve: { extensions: [ diff --git a/caravel/bin/caravel b/caravel/bin/caravel index 0c942890532..a582c3e5ecb 100755 --- a/caravel/bin/caravel +++ b/caravel/bin/caravel @@ -73,7 +73,7 @@ def version(verbose): "-----------------------\n" "Caravel {version}\n" "-----------------------").format( - boat=ascii_art.boat, version=caravel.VERSION) + boat=ascii_art.boat, version=config.get('VERSION_STRING')) print(s) if verbose: print("[DB] : " + "{}".format(db.engine)) diff --git a/caravel/config.py b/caravel/config.py index 233f99a6c78..4856c07fa72 100644 --- a/caravel/config.py +++ b/caravel/config.py @@ -8,7 +8,9 @@ from __future__ import absolute_import from __future__ import division from __future__ import print_function from __future__ import unicode_literals +from caravel import app +import json import os from dateutil import tz @@ -22,6 +24,11 @@ if not os.path.exists(DATA_DIR): # --------------------------------------------------------- # Caravel specific config # --------------------------------------------------------- +PACKAGE_DIR = os.path.join(BASE_DIR, 'static', 'assets') +PACKAGE_FILE = os.path.join(PACKAGE_DIR, 'package.json') +with open(PACKAGE_FILE) as package_file: + VERSION_STRING = json.load(package_file)['version'] + ROW_LIMIT = 50000 CARAVEL_WORKERS = 16 diff --git a/caravel/templates/caravel/base.html b/caravel/templates/caravel/base.html index 69a6d0a9bda..49502f29504 100644 --- a/caravel/templates/caravel/base.html +++ b/caravel/templates/caravel/base.html @@ -8,10 +8,14 @@ {% block head_js %} {{super()}} - + {% with filename="css-theme" %} + {% include "caravel/partials/_script_tag.html" %} + {% endwith %} {% endblock %} {% block tail_js %} - {{super()}} - + {{super()}} + {% with filename="common" %} + {% include "caravel/partials/_script_tag.html" %} + {% endwith %} {% endblock %} diff --git a/caravel/templates/caravel/basic.html b/caravel/templates/caravel/basic.html index f2545ec73a8..2ca5f5c29a8 100644 --- a/caravel/templates/caravel/basic.html +++ b/caravel/templates/caravel/basic.html @@ -13,7 +13,9 @@ {% endblock %} {% block head_js %} - + {% with filename="css-theme" %} + {% include "caravel/partials/_script_tag.html" %} + {% endwith %} {% endblock %} diff --git a/caravel/templates/caravel/dashboard.html b/caravel/templates/caravel/dashboard.html index de59a563731..f559e672e6a 100644 --- a/caravel/templates/caravel/dashboard.html +++ b/caravel/templates/caravel/dashboard.html @@ -2,7 +2,9 @@ {% block head_js %} {{ super() }} - + {% with filename="dashboard" %} + {% include "caravel/partials/_script_tag.html" %} + {% endwith %} {% endblock %} {% block title %}[dashboard] {{ dashboard.dashboard_title }}{% endblock %} {% block body %} diff --git a/caravel/templates/caravel/explore.html b/caravel/templates/caravel/explore.html index be87414c96f..eaa7d008d96 100644 --- a/caravel/templates/caravel/explore.html +++ b/caravel/templates/caravel/explore.html @@ -335,5 +335,7 @@ {% block tail_js %} {{ super() }} - + {% with filename="explore" %} + {% include "caravel/partials/_script_tag.html" %} + {% endwith %} {% endblock %} diff --git a/caravel/templates/caravel/partials/_script_tag.html b/caravel/templates/caravel/partials/_script_tag.html new file mode 100644 index 00000000000..5afd2641821 --- /dev/null +++ b/caravel/templates/caravel/partials/_script_tag.html @@ -0,0 +1,4 @@ +{% set VERSION_STRING = appbuilder.get_app.config.get("VERSION_STRING") %} +{% block tail_js %} + +{% endblock %} diff --git a/caravel/templates/caravel/sqllab.html b/caravel/templates/caravel/sqllab.html index 374deb64e93..e330a3525c5 100644 --- a/caravel/templates/caravel/sqllab.html +++ b/caravel/templates/caravel/sqllab.html @@ -2,5 +2,7 @@ {% block tail_js %} {{ super() }} - + {% with filename="sqllab" %} + {% include "caravel/partials/_script_tag.html" %} + {% endwith %} {% endblock %} diff --git a/caravel/templates/caravel/standalone.html b/caravel/templates/caravel/standalone.html index bd12e54b294..70049250432 100644 --- a/caravel/templates/caravel/standalone.html +++ b/caravel/templates/caravel/standalone.html @@ -23,7 +23,11 @@