From f16498a8a7b519d8d85c7b60565160f1c2442afa Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Thu, 10 Oct 2019 12:05:28 +0530 Subject: [PATCH] Optimize Webpack to improve overall performance. Changes include: 1) Remove underscore-string and sprintf-js packages as we were using only %s. Instead, added a function to do the same. Also changed gettext to behave like sprintf directly. 2) backgrid.sizeable.columns was not used anywhere, removed. @babel/polyfill is deprecated, replaced it with core-js. 3) Moved few css to make sure they get minified and bundled. 4) Added Flask-Compress to send static files as compressed gzip. This will reduce network traffic and improve initial load time for pgAdmin. 5) Split few JS files to make code reusable. 6) Lazy load few modules like leaflet, wkx is required only if geometry viewer is opened. snapsvg loaded only when explain plan is executed. This will improve sqleditor initial opening time. Reviewed By: Khushboo Vashi Fixes #4701 --- docs/en_US/release_notes_4_14.rst | 1 + libraries.txt | 400 ++--- requirements.txt | 5 +- web/config.py | 11 +- web/package.json | 15 +- web/pgadmin/__init__.py | 8 +- web/pgadmin/about/static/js/about.js | 6 +- .../servers/databases/casts/static/js/cast.js | 4 +- .../event_triggers/static/js/event_trigger.js | 4 +- .../extensions/static/js/extension.js | 4 +- .../static/js/foreign_server.js | 4 +- .../user_mappings/static/js/user_mapping.js | 4 +- .../static/js/foreign_data_wrapper.js | 4 +- .../databases/languages/static/js/language.js | 4 +- .../static/js/catalog_object_column.js | 4 +- .../static/js/catalog_object.js | 4 +- .../schemas/collations/static/js/collation.js | 4 +- .../static/js/domain_constraints.js | 4 +- .../static/js/fts_dictionary.js | 4 +- .../schemas/functions/static/js/procedure.js | 4 +- .../schemas/sequences/static/js/sequence.js | 4 +- .../schemas/synonyms/static/js/synonym.js | 4 +- .../static/js/compound_trigger.js | 4 +- .../static/js/check_constraint.js | 4 +- .../index_constraint/static/js/primary_key.js | 2 +- .../static/js/unique_constraint.js | 2 +- .../tables/partitions/static/js/partition.js | 18 +- .../schemas/tables/static/js/table.js | 8 +- .../tables/triggers/static/js/trigger.js | 4 +- .../databases/schemas/types/static/js/type.js | 8 +- .../servers/databases/static/js/database.js | 6 +- .../schedules/static/js/pga_schedule.js | 4 +- .../servers/pgagent/static/js/pga_job.js | 4 +- .../pgagent/steps/static/js/pga_jobstep.js | 14 +- .../servers/roles/static/js/role.js | 4 +- .../server_groups/servers/static/js/server.js | 21 +- .../tablespaces/static/js/tablespace.js | 4 +- web/pgadmin/browser/static/js/browser.js | 6 +- web/pgadmin/browser/static/js/collection.js | 11 +- web/pgadmin/browser/static/js/datamodel.js | 12 +- web/pgadmin/browser/static/js/menu.js | 6 +- web/pgadmin/browser/static/js/node.js | 41 +- web/pgadmin/browser/static/scss/_browser.scss | 4 +- .../browser/templates/browser/index.html | 2 +- web/pgadmin/dashboard/static/js/charting.js | 15 +- .../misc/bgprocess/static/js/bgprocess.js | 6 +- .../dependencies/static/js/dependencies.js | 10 +- .../misc/dependents/static/js/dependents.js | 10 +- .../misc/file_manager/static/js/utility.js | 8 +- web/pgadmin/misc/sql/static/js/sql.js | 9 +- web/pgadmin/misc/static/explain/js/explain.js | 168 +- .../misc/static/explain/js/image_maper.js | 5 +- .../misc/static/explain/scss/_explain.scss | 2 +- .../misc/statistics/static/js/statistics.js | 9 +- web/pgadmin/static/bundle/app.js | 4 +- web/pgadmin/static/bundle/slickgrid.js | 1 - .../static/css/alertify.noanimation.css | 41 - web/pgadmin/static/css/pgadmin.css | 36 - web/pgadmin/static/css/style.css | 3 +- web/pgadmin/static/js/alertify/dialog.js | 2 +- web/pgadmin/static/js/backform.pgadmin.js | 4 +- .../static/js/check_node_visibility.js | 6 +- web/pgadmin/static/js/gettext.js | 45 +- web/pgadmin/static/js/keyboard_shortcuts.js | 10 +- web/pgadmin/static/js/modify_animation.js | 12 +- .../js/sqleditor/call_render_after_poll.js | 2 +- .../static/js/sqleditor/geometry_viewer.js | 24 +- web/pgadmin/static/js/utils.js | 28 + .../static/scss/_alertify.overrides.scss | 36 + .../static/scss/_codemirror.overrides.scss | 2 +- web/pgadmin/static/scss/_pgadmin.style.scss | 15 - .../static/vendor/backgrid/backgrid.css | 6 +- .../static/vendor/backgrid/backgrid.js | 200 ++- web/pgadmin/templates/base.html | 17 +- web/pgadmin/tools/backup/static/js/backup.js | 4 +- .../datagrid/templates/datagrid/index.html | 2 +- .../tools/debugger/static/js/debugger.js | 10 +- .../debugger/templates/debugger/direct.html | 2 +- .../import_export/static/js/import_export.js | 11 +- .../maintenance/static/js/maintenance.js | 6 +- .../tools/restore/static/js/restore.js | 4 +- .../tools/restore/static/js/restore_dialog.js | 2 +- .../tools/sqleditor/static/js/sqleditor.js | 29 +- .../static/js/user_management.js | 52 +- .../alerts/alertify_wrapper_spec.js | 4 +- .../browser/modify_animation_spec.js | 8 +- .../javascript/dashboard/charting_spec.js | 4 - .../geometry_viewer/geometry_viewer_spec.js | 19 +- web/regression/javascript/gettext_spec.js | 15 +- .../javascript/pgadmin_utils_spec.js | 28 +- .../sqleditor/execute_query_spec.js | 36 +- .../table/enable_disable_triggers_spec.js | 6 +- web/regression/javascript/tree/tree_fake.js | 2 +- web/webpack.config.js | 96 +- web/webpack.shim.js | 36 +- web/webpack.test.config.js | 5 +- web/yarn.lock | 1439 ++++++++++------- 97 files changed, 1896 insertions(+), 1355 deletions(-) delete mode 100644 web/pgadmin/static/css/alertify.noanimation.css diff --git a/docs/en_US/release_notes_4_14.rst b/docs/en_US/release_notes_4_14.rst index 4cf47337d..643dd0156 100644 --- a/docs/en_US/release_notes_4_14.rst +++ b/docs/en_US/release_notes_4_14.rst @@ -17,6 +17,7 @@ Housekeeping | `Issue #4472 `_ - Add Reverse Engineered and Modified SQL tests for Synonyms. | `Issue #4628 `_ - Add Reverse Engineered and Modified SQL tests for Unique Constraints. +| `Issue #4701 `_ - Optimize Webpack to improve overall performance. Bug fixes ********* diff --git a/libraries.txt b/libraries.txt index ecba0e96a..7209a5836 100644 --- a/libraries.txt +++ b/libraries.txt @@ -29,6 +29,7 @@ Flask-Migrate 2.4.0 Flask-Principal 0.4.0 MIT http://packages.python.org/Flask-Principal/ Flask-SQLAlchemy 2.3.2 BSD http://github.com/mitsuhiko/flask-sqlalchemy Flask-WTF 0.14.2 BSD https://github.com/lepture/flask-wtf +Flask-Compress 1.4.0 MIT https://libwilliam.github.io/flask-compress/ passlib 1.7.1 BSD https://bitbucket.org/ecollins/passlib pytz 2018.9 MIT http://pythonhosted.org/pytz simplejson 3.16.0 MIT License https://github.com/simplejson/simplejson @@ -40,13 +41,11 @@ Flask-Paranoid 0.2.0 psutil 5.5.1 BSD https://github.com/giampaolo/psutil psycopg2 2.8.3 LGPL with exceptions or ZPL http://initd.org/psycopg/ python-dateutil 2.8.0 Dual License https://dateutil.readthedocs.io -htmlmin 0.1.12 BSD https://htmlmin.readthedocs.io/en/latest/ -Flask-HTMLmin 1.5.0 BSD-3-Clause https://github.com/hamidfzm/Flask-HTMLmin -SQLAlchemy 1.3.1 MIT License http://www.sqlalchemy.org +SQLAlchemy 1.3.8 MIT http://www.sqlalchemy.org Flask-Security 3.0.0 MIT https://github.com/mattupstate/flask-security -sshtunnel 0.1.4 MIT https://github.com/pahaz/sshtunnel +sshtunnel 0.1.5 MIT https://github.com/pahaz/sshtunnel -25 dependencies listed. +24 dependencies listed. Javascript Dependencies ======================= @@ -54,8 +53,8 @@ Javascript Dependencies Name Version Licence URL ---- ------- ------- --- @babel/code-frame 7.5.5 MIT https://github.com/babel/babel/tree/master/packages/babel-code-frame -@babel/core 7.3.4 MIT https://github.com/babel/babel/tree/master/packages/babel-core -@babel/generator 7.5.5 MIT https://github.com/babel/babel/tree/master/packages/babel-generator +@babel/core 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-core +@babel/generator 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-generator @babel/helper-annotate-as-pure 7.0.0 MIT https://github.com/babel/babel/tree/master/packages/babel-helper-annotate-as-pure @babel/helper-builder-binary-assignment-operator-visitor 7.1.0 MIT https://github.com/babel/babel/tree/master/packages/babel-helper-builder-binary-assignment-operator-visitor @babel/helper-call-delegate 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-helper-call-delegate @@ -75,53 +74,57 @@ Name Version @babel/helper-simple-access 7.1.0 MIT https://github.com/babel/babel/tree/master/packages/babel-helper-simple-access @babel/helper-split-export-declaration 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-helper-split-export-declaration @babel/helper-wrap-function 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-helper-wrap-function -@babel/helpers 7.5.5 MIT https://github.com/babel/babel/tree/master/packages/babel-helpers +@babel/helpers 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-helpers @babel/highlight 7.5.0 MIT https://github.com/babel/babel/tree/master/packages/babel-highlight -@babel/parser 7.5.5 MIT https://github.com/babel/babel/tree/master/packages/babel-parser +@babel/parser 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-parser @babel/plugin-proposal-async-generator-functions 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-async-generator-functions +@babel/plugin-proposal-dynamic-import 7.5.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-dynamic-import @babel/plugin-proposal-json-strings 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-json-strings -@babel/plugin-proposal-object-rest-spread 7.5.5 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-object-rest-spread +@babel/plugin-proposal-object-rest-spread 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-object-rest-spread @babel/plugin-proposal-optional-catch-binding 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-optional-catch-binding -@babel/plugin-proposal-unicode-property-regex 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-unicode-property-regex +@babel/plugin-proposal-unicode-property-regex 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-unicode-property-regex @babel/plugin-syntax-async-generators 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators +@babel/plugin-syntax-dynamic-import 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-dynamic-import @babel/plugin-syntax-json-strings 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings @babel/plugin-syntax-object-rest-spread 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread @babel/plugin-syntax-optional-catch-binding 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding @babel/plugin-transform-arrow-functions 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-arrow-functions @babel/plugin-transform-async-to-generator 7.5.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-to-generator @babel/plugin-transform-block-scoped-functions 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoped-functions -@babel/plugin-transform-block-scoping 7.5.5 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoping +@babel/plugin-transform-block-scoping 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-block-scoping @babel/plugin-transform-classes 7.5.5 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-classes @babel/plugin-transform-computed-properties 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-computed-properties -@babel/plugin-transform-destructuring 7.5.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-destructuring -@babel/plugin-transform-dotall-regex 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-dotall-regex +@babel/plugin-transform-destructuring 7.6.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-destructuring +@babel/plugin-transform-dotall-regex 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-dotall-regex @babel/plugin-transform-duplicate-keys 7.5.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-duplicate-keys @babel/plugin-transform-exponentiation-operator 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-exponentiation-operator @babel/plugin-transform-for-of 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-for-of @babel/plugin-transform-function-name 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-function-name @babel/plugin-transform-literals 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-literals +@babel/plugin-transform-member-expression-literals 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-member-expression-literals @babel/plugin-transform-modules-amd 7.5.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-amd -@babel/plugin-transform-modules-commonjs 7.5.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-commonjs +@babel/plugin-transform-modules-commonjs 7.6.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-commonjs @babel/plugin-transform-modules-systemjs 7.5.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-systemjs @babel/plugin-transform-modules-umd 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-modules-umd -@babel/plugin-transform-named-capturing-groups-regex 7.4.5 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-named-capturing-groups-regex +@babel/plugin-transform-named-capturing-groups-regex 7.6.2 MIT https://github.com/babel/babel.git @babel/plugin-transform-new-target 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-new-target @babel/plugin-transform-object-super 7.5.5 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-super @babel/plugin-transform-parameters 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-parameters +@babel/plugin-transform-property-literals 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-property-literals @babel/plugin-transform-regenerator 7.4.5 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator +@babel/plugin-transform-reserved-words 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-reserved-words @babel/plugin-transform-shorthand-properties 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-shorthand-properties -@babel/plugin-transform-spread 7.2.2 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-spread +@babel/plugin-transform-spread 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-spread @babel/plugin-transform-sticky-regex 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-sticky-regex @babel/plugin-transform-template-literals 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-template-literals @babel/plugin-transform-typeof-symbol 7.2.0 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-typeof-symbol -@babel/plugin-transform-unicode-regex 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-unicode-regex -@babel/polyfill 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-polyfill -@babel/preset-env 7.3.4 MIT https://github.com/babel/babel/tree/master/packages/babel-preset-env -@babel/template 7.4.4 MIT https://github.com/babel/babel/tree/master/packages/babel-template -@babel/traverse 7.5.5 MIT https://github.com/babel/babel/tree/master/packages/babel-traverse -@babel/types 7.5.5 MIT https://github.com/babel/babel/tree/master/packages/babel-types +@babel/plugin-transform-unicode-regex 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-unicode-regex +@babel/preset-env 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-preset-env +@babel/template 7.6.0 MIT https://github.com/babel/babel/tree/master/packages/babel-template +@babel/traverse 7.6.2 MIT https://github.com/babel/babel/tree/master/packages/babel-traverse +@babel/types 7.6.1 MIT https://github.com/babel/babel/tree/master/packages/babel-types @sindresorhus/is 0.7.0 MIT https://github.com/sindresorhus/is.git -@types/node 12.6.9 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git +@types/node 12.7.9 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git @types/q 1.5.2 MIT https://github.com/DefinitelyTyped/DefinitelyTyped.git @webassemblyjs/ast 1.8.5 MIT https://github.com/xtuc/webassemblyjs.git @webassemblyjs/floating-point-hex-parser 1.8.5 MIT https://github.com/xtuc/webassemblyjs.git @@ -142,10 +145,11 @@ Name Version @webassemblyjs/wast-printer 1.8.5 MIT https://github.com/xtuc/webassemblyjs.git accepts 1.3.7 MIT https://github.com/jshttp/accepts.git acitree 4.5.0-rc.7 MIT https://github.com/imsurinder90/jquery-aciTree.git -acorn 6.2.1 MIT https://github.com/acornjs/acorn.git -acorn-dynamic-import 4.0.0 MIT https://github.com/kesne/acorn-dynamic-import -acorn-jsx 5.0.1 MIT https://github.com/RReverser/acorn-jsx +acorn 6.3.0 MIT https://github.com/acornjs/acorn.git +acorn 7.1.0 MIT https://github.com/acornjs/acorn.git +acorn-jsx 5.0.2 MIT https://github.com/RReverser/acorn-jsx acorn-walk 6.2.0 MIT https://github.com/acornjs/acorn.git +acorn-walk 7.0.0 MIT https://github.com/acornjs/acorn.git after 0.8.2 MIT git://github.com/Raynos/after.git ajv 6.10.2 MIT https://github.com/epoberezkin/ajv.git ajv-errors 1.0.1 MIT git+https://github.com/epoberezkin/ajv-errors.git @@ -161,23 +165,21 @@ ansi-red 0.1.1 ansi-regex 2.1.1 MIT https://github.com/chalk/ansi-regex.git ansi-regex 4.1.0 MIT https://github.com/chalk/ansi-regex.git ansi-regex 3.0.0 MIT https://github.com/chalk/ansi-regex.git -ansi-styles 3.2.1 MIT https://github.com/chalk/ansi-styles.git ansi-styles 2.2.1 MIT https://github.com/chalk/ansi-styles.git +ansi-styles 3.2.1 MIT https://github.com/chalk/ansi-styles.git ansi-wrap 0.1.0 MIT https://github.com/jonschlinkert/ansi-wrap.git append-buffer 1.0.2 MIT https://github.com/doowb/append-buffer.git arch 2.1.1 MIT git://github.com/feross/arch.git archive-type 4.0.0 MIT https://github.com/kevva/archive-type.git argparse 1.0.10 MIT https://github.com/nodeca/argparse.git -arr-diff 4.0.0 MIT https://github.com/jonschlinkert/arr-diff.git arr-diff 1.1.0 MIT https://github.com/jonschlinkert/arr-diff.git +arr-diff 4.0.0 MIT https://github.com/jonschlinkert/arr-diff.git arr-flatten 1.1.0 MIT https://github.com/jonschlinkert/arr-flatten.git -arr-union 2.1.0 MIT git://github.com/jonschlinkert/arr-union.git arr-union 3.1.0 MIT https://github.com/jonschlinkert/arr-union.git +arr-union 2.1.0 MIT git://github.com/jonschlinkert/arr-union.git array-differ 1.0.0 MIT https://github.com/sindresorhus/array-differ.git -array-filter 0.0.1 MIT git://github.com/juliangruber/array-filter.git array-find-index 1.0.2 MIT https://github.com/sindresorhus/array-find-index.git -array-map 0.0.0 MIT git://github.com/substack/array-map.git -array-reduce 0.0.0 MIT git://github.com/substack/array-reduce.git +array-flatten 1.1.1 MIT git://github.com/blakeembrey/array-flatten.git array-slice 0.2.3 MIT git://github.com/jonschlinkert/array-slice.git array-union 1.0.2 MIT https://github.com/sindresorhus/array-union.git array-uniq 2.1.0 MIT https://github.com/sindresorhus/array-uniq.git @@ -193,7 +195,7 @@ assign-symbols 1.0.0 astral-regex 1.0.0 MIT https://github.com/kevva/astral-regex.git async 2.6.3 MIT https://github.com/caolan/async.git async-each 1.0.3 MIT git://github.com/paulmillr/async-each.git -async-limiter 1.0.0 MIT https://github.com/strml/async-limiter.git +async-limiter 1.0.1 MIT https://github.com/strml/async-limiter.git asynckit 0.4.0 MIT git+https://github.com/alexindigo/asynckit.git aws4 1.8.0 MIT https://github.com/mhart/aws4.git axios 0.18.1 MIT https://github.com/axios/axios.git @@ -242,9 +244,9 @@ babel-traverse 6.26.0 babel-types 6.26.0 MIT https://github.com/babel/babel/tree/master/packages/babel-types babelify 10.0.0 MIT https://github.com/babel/babelify.git babylon 6.18.0 MIT https://github.com/babel/babylon -backbone 1.3.3 MIT https://github.com/jashkenas/backbone.git -backbone 1.4.0 MIT https://github.com/jashkenas/backbone.git backbone 1.2.3 MIT https://github.com/jashkenas/backbone.git +backbone 1.4.0 MIT https://github.com/jashkenas/backbone.git +backbone 1.3.3 MIT https://github.com/jashkenas/backbone.git backform 0.2.0 MIT https://github.com/AmiliaApp/backform backgrid 0.3.8 MIT http://github.com/cloudflare/backgrid backgrid-filter 0.3.7 MIT git://github.com/wyuenho/backgrid-text-cell.git @@ -254,13 +256,14 @@ backo2 1.0.2 balanced-match 1.0.0 MIT git://github.com/juliangruber/balanced-match.git base 0.11.2 MIT https://github.com/node-base/base.git base64-arraybuffer 0.1.5 MIT https://github.com/niklasvh/base64-arraybuffer -base64-js 1.3.0 MIT git://github.com/beatgammit/base64-js.git +base64-js 1.3.1 MIT git://github.com/beatgammit/base64-js.git base64id 1.0.0 MIT https://github.com/faeldt/base64id.git better-assert 1.0.2 MIT https://github.com/visionmedia/better-assert.git +bfj 6.1.2 MIT https://gitlab.com/philbooth/bfj.git big.js 5.2.2 MIT https://github.com/MikeMcl/big.js.git bignumber.js 7.2.1 MIT https://github.com/MikeMcl/bignumber.js.git -bignumber.js 8.1.1 MIT https://github.com/MikeMcl/bignumber.js.git bignumber.js 2.4.0 MIT https://github.com/MikeMcl/bignumber.js.git +bignumber.js 8.1.1 MIT https://github.com/MikeMcl/bignumber.js.git bin-build 3.0.0 MIT https://github.com/kevva/bin-build.git bin-check 4.1.0 MIT https://github.com/kevva/bin-check.git bin-version 3.1.0 MIT https://github.com/sindresorhus/bin-version.git @@ -270,7 +273,7 @@ binary-extensions 1.13.1 binary-extensions 2.0.0 MIT https://github.com/sindresorhus/binary-extensions.git bl 1.2.2 MIT https://github.com/rvagg/bl.git blob 0.0.5 MIT git://github.com/webmodules/blob.git -bluebird 3.5.5 MIT git://github.com/petkaantonov/bluebird.git +bluebird 3.7.0 MIT git://github.com/petkaantonov/bluebird.git bn.js 4.11.8 MIT git@github.com:indutny/bn.js body-parser 1.19.0 MIT https://github.com/expressjs/body-parser.git bootstrap 4.3.1 MIT git+https://github.com/twbs/bootstrap.git @@ -282,15 +285,16 @@ braces 2.3.2 brorand 1.1.0 MIT git@github.com:indutny/brorand browser-pack 6.1.0 MIT git://github.com/browserify/browser-pack.git browser-resolve 1.11.3 MIT git://github.com/shtylman/node-browser-resolve.git +browserify 16.5.0 MIT http://github.com/browserify/browserify.git browserify 16.2.3 MIT http://github.com/browserify/browserify.git browserify-aes 1.2.0 MIT git://github.com/crypto-browserify/browserify-aes.git browserify-cipher 1.0.1 MIT git@github.com:crypto-browserify/browserify-cipher.git browserify-des 1.0.2 MIT git+https://github.com/crypto-browserify/browserify-des.git browserify-rsa 4.0.1 MIT git@github.com:crypto-browserify/browserify-rsa.git browserify-zlib 0.2.0 MIT git+https://github.com/devongovett/browserify-zlib.git -browserslist 4.6.6 MIT https://github.com/browserslist/browserslist.git +browserslist 4.7.0 MIT https://github.com/browserslist/browserslist.git +buffer 5.4.3 MIT git://github.com/feross/buffer.git buffer 4.9.1 MIT git://github.com/feross/buffer.git -buffer 5.2.1 MIT git://github.com/feross/buffer.git buffer-alloc 1.2.0 MIT https://github.com/LinusU/buffer-alloc.git buffer-alloc-unsafe 1.1.0 MIT https://github.com/LinusU/buffer-alloc-unsafe.git buffer-crc32 0.2.13 MIT git://github.com/brianloveswords/buffer-crc32.git @@ -308,8 +312,8 @@ cacheable-request 2.1.4 cached-path-relative 1.0.2 MIT git://github.com/ashaffer/cached-path-relative.git caller-callsite 2.0.0 MIT https://github.com/sindresorhus/caller-callsite.git caller-path 2.0.0 MIT https://github.com/sindresorhus/caller-path.git -callsites 2.0.0 MIT https://github.com/sindresorhus/callsites.git callsites 3.1.0 MIT https://github.com/sindresorhus/callsites.git +callsites 2.0.0 MIT https://github.com/sindresorhus/callsites.git camelcase 5.3.1 MIT https://github.com/sindresorhus/camelcase.git camelcase 2.1.1 MIT https://github.com/sindresorhus/camelcase.git camelcase 3.0.0 MIT https://github.com/sindresorhus/camelcase.git @@ -319,9 +323,10 @@ caw 2.0.1 chalk 1.1.3 MIT https://github.com/chalk/chalk.git chalk 2.4.2 MIT https://github.com/chalk/chalk.git chardet 0.7.0 MIT git@github.com:runk/node-chardet.git +check-types 8.0.3 MIT https://gitlab.com/philbooth/check-types.js.git checkstyle-formatter 1.1.0 MIT https://github.com/jimf/checkstyle-formatter -chokidar 2.1.6 MIT https://github.com/paulmillr/chokidar.git -chokidar 3.0.2 MIT https://github.com/paulmillr/chokidar.git +chokidar 2.1.8 MIT https://github.com/paulmillr/chokidar.git +chokidar 3.2.1 MIT https://github.com/paulmillr/chokidar.git chrome-trace-event 1.0.2 MIT github.com:samccone/chrome-trace-event ci-info 2.0.0 MIT https://github.com/watson/ci-info.git cipher-base 1.0.4 MIT git+https://github.com/crypto-browserify/cipher-base.git @@ -330,24 +335,24 @@ cli-cursor 2.1.0 cli-truncate 1.1.0 MIT https://github.com/sindresorhus/cli-truncate.git clone 2.1.2 MIT git://github.com/pvorb/node-clone.git clone-buffer 1.0.0 MIT https://github.com/gulpjs/clone-buffer.git -clone-deep 2.0.2 MIT https://github.com/jonschlinkert/clone-deep.git clone-deep 4.0.1 MIT https://github.com/jonschlinkert/clone-deep.git clone-response 1.0.2 MIT git+https://github.com/lukechilds/clone-response.git clone-stats 1.0.0 MIT git://github.com/hughsk/clone-stats cloneable-readable 1.1.3 MIT git+https://github.com/mcollina/cloneable-readable.git coa 2.0.2 MIT git://github.com/veged/coa.git code-point-at 1.1.0 MIT https://github.com/sindresorhus/code-point-at.git -codemirror 5.48.2 MIT https://github.com/codemirror/CodeMirror.git +codemirror 5.49.0 MIT https://github.com/codemirror/CodeMirror.git collection-visit 1.0.0 MIT https://github.com/jonschlinkert/collection-visit.git color 3.1.2 MIT https://github.com/Qix-/color.git color-convert 1.9.3 MIT https://github.com/Qix-/color-convert.git +color-name 1.1.4 MIT git@github.com:colorjs/color-name.git color-name 1.1.3 MIT git@github.com:dfcreative/color-name.git color-string 1.5.3 MIT https://github.com/Qix-/color-string.git -colors 1.3.3 MIT http://github.com/Marak/colors.js.git +colors 1.4.0 MIT http://github.com/Marak/colors.js.git combine-source-map 0.8.0 MIT git://github.com/thlorenz/combine-source-map.git combined-stream 1.0.8 MIT git://github.com/felixge/node-combined-stream.git -commander 2.20.0 MIT https://github.com/tj/commander.js.git commander 2.8.1 MIT https://github.com/tj/commander.js.git +commander 2.20.1 MIT https://github.com/tj/commander.js.git commondir 1.0.1 MIT http://github.com/substack/node-commondir.git component-emitter 1.2.1 MIT https://github.com/component/emitter.git component-emitter 1.3.0 MIT https://github.com/component/emitter.git @@ -360,20 +365,23 @@ console-stream 0.1.1 constants-browserify 1.0.0 MIT git://github.com/juliangruber/constants-browserify.git content-disposition 0.5.3 MIT https://github.com/jshttp/content-disposition.git content-type 1.0.4 MIT https://github.com/jshttp/content-type.git -convert-source-map 1.6.0 MIT git://github.com/thlorenz/convert-source-map.git convert-source-map 1.1.3 MIT git://github.com/thlorenz/convert-source-map.git +convert-source-map 1.6.0 MIT git://github.com/thlorenz/convert-source-map.git cookie 0.3.1 MIT https://github.com/jshttp/cookie.git +cookie 0.4.0 MIT https://github.com/jshttp/cookie.git +cookie-signature 1.0.6 MIT https://github.com/visionmedia/node-cookie-signature.git copy-descriptor 0.1.1 MIT https://github.com/jonschlinkert/copy-descriptor.git -core-js 3.1.4 MIT https://github.com/zloirock/core-js.git +core-js 3.2.1 MIT https://github.com/zloirock/core-js.git core-js 2.6.9 MIT https://github.com/zloirock/core-js.git +core-js-compat 3.2.1 MIT https://github.com/zloirock/core-js.git core-util-is 1.0.2 MIT git://github.com/isaacs/core-util-is cosmiconfig 5.2.1 MIT git+https://github.com/davidtheclark/cosmiconfig.git create-ecdh 4.0.3 MIT https://github.com/crypto-browserify/createECDH.git create-hash 1.2.0 MIT git@github.com:crypto-browserify/createHash.git create-hmac 1.1.7 MIT https://github.com/crypto-browserify/createHmac.git -cross-env 5.2.0 MIT https://github.com/kentcdodds/cross-env.git -cross-spawn 3.0.1 MIT git://github.com/IndigoUnited/node-cross-spawn.git +cross-env 5.2.1 MIT https://github.com/kentcdodds/cross-env.git cross-spawn 6.0.5 MIT git@github.com:moxystudio/node-cross-spawn.git +cross-spawn 3.0.1 MIT git://github.com/IndigoUnited/node-cross-spawn.git cross-spawn 4.0.2 MIT git://github.com/IndigoUnited/node-cross-spawn.git cross-spawn 5.1.0 MIT git://github.com/IndigoUnited/node-cross-spawn.git crypto-browserify 3.12.0 MIT git://github.com/crypto-browserify/crypto-browserify.git @@ -384,8 +392,8 @@ css-select-base-adapter 0.1.1 css-tree 1.0.0-alpha.33 MIT https://github.com/csstree/csstree.git css-tree 1.0.0-alpha.29 MIT https://github.com/csstree/csstree.git css-unit-converter 1.1.1 MIT https://github.com/andyjansson/css-unit-converter.git -cssesc 2.0.0 MIT https://github.com/mathiasbynens/cssesc.git cssesc 3.0.0 MIT https://github.com/mathiasbynens/cssesc.git +cssesc 2.0.0 MIT https://github.com/mathiasbynens/cssesc.git cssnano 4.1.10 MIT https://github.com/cssnano/cssnano.git cssnano-preset-default 4.0.7 MIT https://github.com/cssnano/cssnano.git cssnano-util-get-arguments 4.0.0 MIT https://github.com/cssnano/cssnano.git @@ -396,14 +404,15 @@ csso 3.5.1 currently-unhandled 0.4.1 MIT https://github.com/jamestalmage/currently-unhandled.git custom-event 1.0.1 MIT git://github.com/webmodules/custom-event.git cwebp-bin 5.1.0 MIT https://github.com/imagemin/cwebp-bin.git +cyclist 1.0.1 MIT git://github.com/mafintosh/cyclist dashdash 1.14.1 MIT git://github.com/trentm/node-dashdash.git date-format 2.1.0 MIT https://github.com/nomiddlename/date-format.git date-format 0.0.2 MIT https://github.com/nomiddlename/date-format.git date-now 0.1.4 MIT git://github.com/Colingo/date-now.git debug 3.1.0 MIT git://github.com/visionmedia/debug.git +debug 3.2.6 MIT git://github.com/visionmedia/debug.git debug 2.6.9 MIT git://github.com/visionmedia/debug.git debug 4.1.1 MIT git://github.com/visionmedia/debug.git -debug 3.2.6 MIT git://github.com/visionmedia/debug.git decamelize 1.2.0 MIT https://github.com/sindresorhus/decamelize.git decode-uri-component 0.2.0 MIT https://github.com/SamVerschueren/decode-uri-component.git decompress 4.2.0 MIT https://github.com/kevva/decompress.git @@ -412,19 +421,20 @@ decompress-tar 4.1.1 decompress-tarbz2 4.1.1 MIT https://github.com/kevva/decompress-tarbz2.git decompress-targz 4.1.1 MIT https://github.com/kevva/decompress-targz.git decompress-unzip 4.0.1 MIT https://github.com/kevva/decompress-unzip.git -deep-equal 1.0.1 MIT http://github.com/substack/node-deep-equal.git +deep-equal 1.1.0 MIT http://github.com/substack/node-deep-equal.git deep-extend 0.6.0 MIT git://github.com/unclechu/node-deep-extend.git deep-is 0.1.3 MIT http://github.com/thlorenz/deep-is.git define-properties 1.1.3 MIT git://github.com/ljharb/define-properties.git -define-property 2.0.2 MIT https://github.com/jonschlinkert/define-property.git -define-property 0.2.5 MIT https://github.com/jonschlinkert/define-property.git define-property 1.0.0 MIT https://github.com/jonschlinkert/define-property.git +define-property 0.2.5 MIT https://github.com/jonschlinkert/define-property.git +define-property 2.0.2 MIT https://github.com/jonschlinkert/define-property.git defined 1.0.0 MIT git://github.com/substack/defined.git delayed-stream 1.0.0 MIT git://github.com/felixge/node-delayed-stream.git delegates 1.0.0 MIT https://github.com/visionmedia/node-delegates.git depd 1.1.2 MIT https://github.com/dougwilson/nodejs-depd.git deps-sort 2.0.0 MIT git://github.com/substack/deps-sort.git des.js 1.0.0 MIT git+ssh://git@github.com/indutny/des.js.git +destroy 1.0.4 MIT https://github.com/stream-utils/destroy.git detect-file 1.0.0 MIT https://github.com/doowb/detect-file.git detective 5.2.0 MIT git://github.com/browserify/detective.git di 0.0.1 MIT git://github.com/vojtajina/node-di.git @@ -433,20 +443,21 @@ dom-serialize 2.2.1 dom-serializer 0.2.1 MIT git://github.com/cheeriojs/dom-renderer.git domain-browser 1.2.0 MIT https://github.com/bevry/domain-browser.git dot-prop 4.2.0 MIT https://github.com/sindresorhus/dot-prop.git -download 6.2.5 MIT https://github.com/kevva/download.git download 7.1.0 MIT https://github.com/kevva/download.git +download 6.2.5 MIT https://github.com/kevva/download.git dropzone 5.5.1 MIT https://gitlab.com/meno/dropzone.git +duplexer 0.1.1 MIT git://github.com/Raynos/duplexer.git duplexify 3.7.1 MIT git://github.com/mafintosh/duplexify ecc-jsbn 0.1.2 MIT https://github.com/quartzjer/ecc-jsbn.git eclint 2.8.1 MIT https://github.com/jedmao/eclint.git editorconfig 0.15.3 MIT git://github.com/editorconfig/editorconfig-core-js.git ee-first 1.1.1 MIT https://github.com/jonathanong/ee-first.git -elliptic 6.5.0 MIT git@github.com:indutny/elliptic +elliptic 6.5.1 MIT git@github.com:indutny/elliptic emoji-regex 7.0.3 MIT https://github.com/mathiasbynens/emoji-regex.git emojis-list 2.1.0 MIT git+https://github.com/kikobeats/emojis-list.git emphasize 2.1.0 MIT https://github.com/wooorm/emphasize.git encodeurl 1.0.2 MIT https://github.com/pillarjs/encodeurl.git -end-of-stream 1.4.1 MIT git://github.com/mafintosh/end-of-stream.git +end-of-stream 1.4.4 MIT git://github.com/mafintosh/end-of-stream.git engine.io 3.2.1 MIT git@github.com:socketio/engine.io.git engine.io-client 3.2.1 MIT https://github.com/socketio/engine.io-client.git engine.io-parser 2.1.3 MIT git@github.com:socketio/engine.io-parser.git @@ -454,24 +465,26 @@ enhanced-resolve 4.1.0 ent 2.2.0 MIT https://github.com/substack/node-ent.git errno 0.1.7 MIT https://github.com/rvagg/node-errno.git error-ex 1.3.2 MIT https://github.com/qix-/node-error-ex.git -es-abstract 1.13.0 MIT git://github.com/ljharb/es-abstract.git +es-abstract 1.15.0 MIT git://github.com/ljharb/es-abstract.git es-to-primitive 1.2.0 MIT git://github.com/ljharb/es-to-primitive.git escape-html 1.0.3 MIT https://github.com/component/escape-html.git escape-string-regexp 1.0.5 MIT https://github.com/sindresorhus/escape-string-regexp.git eslint 5.15.1 MIT https://github.com/eslint/eslint.git -eslint-utils 1.4.0 MIT git+https://github.com/mysticatea/eslint-utils.git -eventemitter3 3.1.2 MIT git://github.com/primus/eventemitter3.git -events 2.1.0 MIT git://github.com/Gozala/events.git +eslint-utils 1.4.2 MIT git+https://github.com/mysticatea/eslint-utils.git +etag 1.8.1 MIT https://github.com/jshttp/etag.git +eventemitter3 4.0.0 MIT git://github.com/primus/eventemitter3.git events 3.0.0 MIT git://github.com/Gozala/events.git +events 2.1.0 MIT git://github.com/Gozala/events.git evp_bytestokey 1.0.3 MIT https://github.com/crypto-browserify/EVP_BytesToKey.git exec-buffer 3.2.0 MIT https://github.com/kevva/exec-buffer.git execa 1.0.0 MIT https://github.com/sindresorhus/execa.git -execa 0.10.0 MIT https://github.com/sindresorhus/execa.git execa 0.7.0 MIT https://github.com/sindresorhus/execa.git +execa 0.10.0 MIT https://github.com/sindresorhus/execa.git executable 4.1.1 MIT https://github.com/kevva/executable.git expand-brackets 2.1.4 MIT https://github.com/jonschlinkert/expand-brackets.git expand-tilde 2.0.2 MIT https://github.com/jonschlinkert/expand-tilde.git exports-loader 0.7.0 MIT https://github.com/webpack-contrib/exports-loader.git +express 4.17.1 MIT https://github.com/expressjs/express.git ext-list 2.2.2 MIT https://github.com/kevva/ext-list.git ext-name 5.0.0 MIT https://github.com/kevva/ext-name.git extend 3.0.2 MIT https://github.com/justmoon/node-extend.git @@ -481,63 +494,65 @@ extend-shallow 1.1.4 external-editor 3.1.0 MIT git+https://github.com/mrkmg/node-external-editor.git extglob 2.0.4 MIT https://github.com/micromatch/extglob.git extsprintf 1.3.0 MIT git://github.com/davepacheco/node-extsprintf.git +extsprintf 1.4.0 MIT git://github.com/davepacheco/node-extsprintf.git fancy-log 1.3.3 MIT https://github.com/gulpjs/fancy-log.git fast-deep-equal 2.0.1 MIT git+https://github.com/epoberezkin/fast-deep-equal.git fast-json-stable-stringify 2.0.0 MIT git://github.com/epoberezkin/fast-json-stable-stringify.git fast-levenshtein 2.0.6 MIT https://github.com/hiddentao/fast-levenshtein.git fault 1.0.3 MIT https://github.com/wooorm/fault.git fd-slicer 1.1.0 MIT git://github.com/andrewrk/node-fd-slicer.git -figures 2.0.0 MIT https://github.com/sindresorhus/figures.git figures 1.7.0 MIT https://github.com/sindresorhus/figures.git +figures 2.0.0 MIT https://github.com/sindresorhus/figures.git file-entry-cache 5.0.1 MIT https://github.com/royriojas/file-entry-cache.git file-loader 3.0.1 MIT https://github.com/webpack-contrib/file-loader.git file-type 3.9.0 MIT https://github.com/sindresorhus/file-type.git -file-type 6.2.0 MIT https://github.com/sindresorhus/file-type.git -file-type 4.4.0 MIT https://github.com/sindresorhus/file-type.git -file-type 10.11.0 MIT https://github.com/sindresorhus/file-type.git file-type 8.1.0 MIT https://github.com/sindresorhus/file-type.git file-type 5.2.0 MIT https://github.com/sindresorhus/file-type.git +file-type 10.11.0 MIT https://github.com/sindresorhus/file-type.git +file-type 6.2.0 MIT https://github.com/sindresorhus/file-type.git +file-type 4.4.0 MIT https://github.com/sindresorhus/file-type.git filename-reserved-regex 2.0.0 MIT https://github.com/sindresorhus/filename-reserved-regex.git filenamify 2.1.0 MIT https://github.com/sindresorhus/filenamify.git fill-range 4.0.0 MIT https://github.com/jonschlinkert/fill-range.git fill-range 7.0.1 MIT https://github.com/jonschlinkert/fill-range.git finalhandler 1.1.2 MIT https://github.com/pillarjs/finalhandler.git find-cache-dir 2.1.0 MIT https://github.com/avajs/find-cache-dir.git -find-up 1.1.2 MIT https://github.com/sindresorhus/find-up.git find-up 3.0.0 MIT https://github.com/sindresorhus/find-up.git +find-up 1.1.2 MIT https://github.com/sindresorhus/find-up.git find-versions 3.1.0 MIT https://github.com/sindresorhus/find-versions.git findup-sync 3.0.0 MIT https://github.com/gulpjs/findup-sync.git flat-cache 2.0.1 MIT https://github.com/royriojas/flat-cache.git flotr2 0.1.0 MIT https://github.com/HumbleSoftware/Flotr2.git flush-write-stream 1.1.1 MIT https://github.com/mafintosh/flush-write-stream.git +follow-redirects 1.9.0 MIT git@github.com:follow-redirects/follow-redirects.git follow-redirects 1.5.10 MIT git@github.com:follow-redirects/follow-redirects.git for-in 1.0.2 MIT https://github.com/jonschlinkert/for-in.git -for-in 0.1.8 MIT https://github.com/jonschlinkert/for-in.git -for-own 1.0.0 MIT https://github.com/jonschlinkert/for-own.git form-data 2.3.3 MIT git://github.com/form-data/form-data.git format 0.2.2 MIT git://github.com/samsonjs/format.git +forwarded 0.1.2 MIT https://github.com/jshttp/forwarded.git fragment-cache 0.2.1 MIT https://github.com/jonschlinkert/fragment-cache.git +fresh 0.5.2 MIT https://github.com/jshttp/fresh.git from2 2.3.0 MIT git://github.com/hughsk/from2 fs-access 1.0.1 MIT https://github.com/sindresorhus/fs-access.git fs-constants 1.0.0 MIT https://github.com/mafintosh/fs-constants.git fs-extra 7.0.1 MIT https://github.com/jprichardson/node-fs-extra fs-mkdirp-stream 1.0.0 MIT https://github.com/gulpjs/fs-mkdirp-stream.git fsevents 1.2.9 MIT https://github.com/strongloop/fsevents.git -fsevents 2.0.7 MIT https://github.com/fsevents/fsevents.git +fsevents 2.1.0 MIT https://github.com/fsevents/fsevents.git function-bind 1.1.1 MIT git://github.com/Raynos/function-bind.git functional-red-black-tree 1.0.1 MIT git://github.com/mikolalysenko/functional-red-black-tree.git gaze 1.1.3 MIT https://github.com/shama/gaze.git get-proxy 2.1.0 MIT https://github.com/kevva/get-proxy.git get-stdin 4.0.1 MIT https://github.com/sindresorhus/get-stdin.git +get-stream 2.3.1 MIT https://github.com/sindresorhus/get-stream.git get-stream 3.0.0 MIT https://github.com/sindresorhus/get-stream.git get-stream 4.1.0 MIT https://github.com/sindresorhus/get-stream.git -get-stream 2.3.1 MIT https://github.com/sindresorhus/get-stream.git get-value 2.0.6 MIT https://github.com/jonschlinkert/get-value.git getpass 0.1.7 MIT https://github.com/arekinath/node-getpass.git gifsicle 4.0.1 MIT https://github.com/imagemin/gifsicle-bin.git glob-stream 6.1.0 MIT https://github.com/gulpjs/glob-stream.git -global-modules 2.0.0 MIT https://github.com/jonschlinkert/global-modules.git global-modules 1.0.0 MIT https://github.com/jonschlinkert/global-modules.git +global-modules 2.0.0 MIT https://github.com/jonschlinkert/global-modules.git global-prefix 1.0.2 MIT https://github.com/jonschlinkert/global-prefix.git global-prefix 3.0.0 MIT https://github.com/jonschlinkert/global-prefix.git globals 9.18.0 MIT https://github.com/sindresorhus/globals.git @@ -552,6 +567,7 @@ gulp-ignore 2.0.2 gulp-match 1.1.0 MIT git://github.com/robrich/gulp-match.git gulp-reporter 2.10.0 MIT git+https://github.com/gucong3000/gulp-reporter.git gulp-tap 1.0.1 MIT https://github.com/geejs/gulp-tap +gzip-size 5.1.1 MIT https://github.com/sindresorhus/gzip-size.git har-validator 5.1.3 MIT https://github.com/ahmadnassri/node-har-validator.git has 1.0.3 MIT git://github.com/tarruda/has.git has-ansi 2.0.0 MIT https://github.com/sindresorhus/has-ansi.git @@ -571,12 +587,14 @@ hat 0.0.3 hex-color-regex 1.1.0 MIT https://github.com/regexps/hex-color-regex.git hmac-drbg 1.0.1 MIT git+ssh://git@github.com/indutny/hmac-drbg.git homedir-polyfill 1.0.3 MIT https://github.com/doowb/homedir-polyfill.git +hoopy 0.1.4 MIT git+https://gitlab.com/philbooth/hoopy.git hsl-regex 1.0.0 MIT https://github.com/regexps/hsl-regex.git hsla-regex 1.0.0 MIT https://github.com/regexps/hsla-regex.git html-comment-regex 1.1.2 MIT https://github.com/stevemao/html-comment-regex.git htmlescape 1.1.1 MIT git://github.com/zertosh/htmlescape.git http-errors 1.7.2 MIT https://github.com/jshttp/http-errors.git -http-proxy 1.17.0 MIT https://github.com/nodejitsu/node-http-proxy.git +http-errors 1.7.3 MIT https://github.com/jshttp/http-errors.git +http-proxy 1.18.0 MIT https://github.com/http-party/node-http-proxy.git http-signature 1.2.0 MIT git://github.com/joyent/node-http-signature.git https-browserify 1.0.0 MIT git://github.com/substack/https-browserify.git iconv-lite 0.4.24 MIT git://github.com/ashtuchkin/iconv-lite.git @@ -601,28 +619,30 @@ in-gfw 1.2.0 indent-string 2.1.0 MIT https://github.com/sindresorhus/indent-string.git indexes-of 1.0.1 MIT git://github.com/dominictarr/indexes-of.git inline-source-map 0.6.2 MIT git://github.com/thlorenz/inline-source-map.git -inquirer 6.5.0 MIT https://github.com/SBoudrias/Inquirer.js.git +inquirer 6.5.2 MIT https://github.com/SBoudrias/Inquirer.js.git insert-module-globals 7.2.0 MIT git://github.com/browserify/insert-module-globals.git interpret 1.2.0 MIT https://github.com/gulpjs/interpret.git into-stream 3.1.0 MIT https://github.com/sindresorhus/into-stream.git invariant 2.2.4 MIT https://github.com/zertosh/invariant -invert-kv 2.0.0 MIT https://github.com/sindresorhus/invert-kv.git invert-kv 1.0.0 MIT https://github.com/sindresorhus/invert-kv.git +invert-kv 2.0.0 MIT https://github.com/sindresorhus/invert-kv.git ip-address 5.9.4 MIT git://github.com/beaugunderson/ip-address.git +ipaddr.js 1.9.0 MIT git://github.com/whitequark/ipaddr.js is-absolute 1.0.0 MIT https://github.com/jonschlinkert/is-absolute.git is-absolute-url 2.1.0 MIT https://github.com/sindresorhus/is-absolute-url.git -is-accessor-descriptor 1.0.0 MIT https://github.com/jonschlinkert/is-accessor-descriptor.git is-accessor-descriptor 0.1.6 MIT https://github.com/jonschlinkert/is-accessor-descriptor.git +is-accessor-descriptor 1.0.0 MIT https://github.com/jonschlinkert/is-accessor-descriptor.git +is-arguments 1.0.4 MIT git://github.com/ljharb/is-arguments.git is-arrayish 0.3.2 MIT https://github.com/qix-/node-is-arrayish.git is-arrayish 0.2.1 MIT https://github.com/qix-/node-is-arrayish.git -is-binary-path 1.0.1 MIT https://github.com/sindresorhus/is-binary-path.git is-binary-path 2.1.0 MIT https://github.com/sindresorhus/is-binary-path.git +is-binary-path 1.0.1 MIT https://github.com/sindresorhus/is-binary-path.git +is-buffer 2.0.4 MIT git://github.com/feross/is-buffer.git is-buffer 1.1.6 MIT git://github.com/feross/is-buffer.git -is-buffer 2.0.3 MIT git://github.com/feross/is-buffer.git is-callable 1.1.4 MIT git://github.com/ljharb/is-callable.git is-color-stop 1.1.0 MIT git+https://github.com/pigcan/is-color-stop.git -is-data-descriptor 0.1.4 MIT https://github.com/jonschlinkert/is-data-descriptor.git is-data-descriptor 1.0.0 MIT https://github.com/jonschlinkert/is-data-descriptor.git +is-data-descriptor 0.1.4 MIT https://github.com/jonschlinkert/is-data-descriptor.git is-date-object 1.0.1 MIT git://github.com/ljharb/is-date-object.git is-descriptor 0.1.6 MIT https://github.com/jonschlinkert/is-descriptor.git is-descriptor 1.0.2 MIT https://github.com/jonschlinkert/is-descriptor.git @@ -635,13 +655,13 @@ is-finite 1.0.2 is-fullwidth-code-point 1.0.0 MIT https://github.com/sindresorhus/is-fullwidth-code-point.git is-fullwidth-code-point 2.0.0 MIT https://github.com/sindresorhus/is-fullwidth-code-point.git is-gif 3.0.0 MIT https://github.com/sindresorhus/is-gif.git -is-glob 3.1.0 MIT https://github.com/jonschlinkert/is-glob.git is-glob 4.0.1 MIT https://github.com/micromatch/is-glob.git +is-glob 3.1.0 MIT https://github.com/jonschlinkert/is-glob.git is-jpg 2.0.0 MIT https://github.com/sindresorhus/is-jpg.git is-natural-number 4.0.1 MIT https://github.com/shinnn/is-natural-number.js.git is-negated-glob 1.0.0 MIT https://github.com/jonschlinkert/is-negated-glob.git -is-number 7.0.0 MIT https://github.com/jonschlinkert/is-number.git is-number 3.0.0 MIT https://github.com/jonschlinkert/is-number.git +is-number 7.0.0 MIT https://github.com/jonschlinkert/is-number.git is-obj 1.0.1 MIT https://github.com/sindresorhus/is-obj.git is-object 1.0.1 MIT git://github.com/ljharb/is-object.git is-plain-obj 1.1.0 MIT https://github.com/sindresorhus/is-plain-obj.git @@ -650,7 +670,7 @@ is-png 1.1.0 is-promise 2.1.0 MIT https://github.com/then/is-promise.git is-regex 1.0.4 MIT git://github.com/ljharb/is-regex.git is-relative 1.0.0 MIT https://github.com/jonschlinkert/is-relative.git -is-retry-allowed 1.1.0 MIT https://github.com/floatdrop/is-retry-allowed.git +is-retry-allowed 1.2.0 MIT https://github.com/floatdrop/is-retry-allowed.git is-stream 1.1.0 MIT https://github.com/sindresorhus/is-stream.git is-svg 3.0.0 MIT https://github.com/sindresorhus/is-svg.git is-symbol 1.0.2 MIT git://github.com/ljharb/is-symbol.git @@ -667,6 +687,7 @@ isobject 2.1.0 isobject 3.0.1 MIT https://github.com/jonschlinkert/isobject.git isstream 0.1.2 MIT https://github.com/rvagg/isstream.git isurl 1.0.0 MIT https://github.com/stevenvachon/isurl.git +jasmine-core 3.5.0 MIT https://github.com/jasmine/jasmine.git jasmine-core 3.3.0 MIT https://github.com/jasmine/jasmine.git jquery 3.4.1 MIT https://github.com/jquery/jquery.git jquery-contextmenu 2.8.0 MIT git://github.com/swisnl/jQuery-contextMenu.git @@ -678,21 +699,21 @@ js-tokens 3.0.2 js-yaml 3.13.1 MIT https://github.com/nodeca/js-yaml.git jsbn 1.1.0 MIT https://github.com/andyperlitch/jsbn.git jsbn 0.1.1 MIT https://github.com/andyperlitch/jsbn.git -jsesc 0.5.0 MIT https://github.com/mathiasbynens/jsesc.git jsesc 2.5.2 MIT https://github.com/mathiasbynens/jsesc.git +jsesc 0.5.0 MIT https://github.com/mathiasbynens/jsesc.git json-bignumber 1.0.2 MIT git@github.com:wbuss/JSONBigNumber.git json-buffer 3.0.0 MIT git://github.com/dominictarr/json-buffer.git json-parse-better-errors 1.0.2 MIT https://github.com/zkat/json-parse-better-errors json-schema-traverse 0.4.1 MIT git+https://github.com/epoberezkin/json-schema-traverse.git json-stable-stringify 0.0.1 MIT git://github.com/substack/json-stable-stringify.git json-stable-stringify-without-jsonify 1.0.1 MIT git://github.com/samn/json-stable-stringify.git -json5 2.1.0 MIT git+https://github.com/json5/json5.git +json5 2.1.1 MIT git+https://github.com/json5/json5.git json5 1.0.1 MIT git+https://github.com/json5/json5.git jsonfile 4.0.0 MIT git@github.com:jprichardson/node-jsonfile.git jsonparse 1.3.1 MIT http://github.com/creationix/jsonparse.git jsprim 1.4.1 MIT git://github.com/joyent/node-jsprim.git -junit-report-builder 1.3.2 MIT git://github.com/davidparsson/junit-report-builder.git -karma 4.2.0 MIT git://github.com/karma-runner/karma.git +junit-report-builder 1.3.3 MIT git://github.com/davidparsson/junit-report-builder.git +karma 4.3.0 MIT git://github.com/karma-runner/karma.git karma-browserify 6.0.0 MIT git@github.com:nikku/karma-browserify.git karma-chrome-launcher 2.2.0 MIT git://github.com/karma-runner/karma-chrome-launcher.git karma-jasmine 2.0.1 MIT git://github.com/karma-runner/karma-jasmine.git @@ -702,16 +723,16 @@ karma-source-map-support 1.4.0 karma-sourcemap-loader 0.3.7 MIT git@github.com:demerzel3/karma-sourcemap-loader.git karma-webpack 4.0.2 MIT https://github.com/webpack-contrib/karma-webpack.git keyv 3.0.0 MIT git+https://github.com/lukechilds/keyv.git -kind-of 6.0.2 MIT https://github.com/jonschlinkert/kind-of.git kind-of 3.2.2 MIT https://github.com/jonschlinkert/kind-of.git -kind-of 4.0.0 MIT https://github.com/jonschlinkert/kind-of.git -kind-of 5.1.0 MIT https://github.com/jonschlinkert/kind-of.git kind-of 1.1.0 MIT git://github.com/jonschlinkert/kind-of.git +kind-of 6.0.2 MIT https://github.com/jonschlinkert/kind-of.git +kind-of 5.1.0 MIT https://github.com/jonschlinkert/kind-of.git +kind-of 4.0.0 MIT https://github.com/jonschlinkert/kind-of.git labeled-stream-splicer 2.0.2 MIT git://github.com/browserify/labeled-stream-splicer.git last-call-webpack-plugin 3.0.0 MIT http://github.com/NMFR/last-call-webpack-plugin.git lazystream 1.0.0 MIT https://github.com/jpommerening/node-lazystream.git -lcid 1.0.0 MIT https://github.com/sindresorhus/lcid.git lcid 2.0.0 MIT https://github.com/sindresorhus/lcid.git +lcid 1.0.0 MIT https://github.com/sindresorhus/lcid.git lead 1.0.0 MIT https://github.com/gulpjs/lead.git levn 0.3.0 MIT git://github.com/gkz/levn.git linez 4.1.4 MIT https://github.com/jedmao/linez.git @@ -723,7 +744,6 @@ lodash 4.17.15 lodash.get 4.4.2 MIT https://github.com/lodash/lodash.git lodash.memoize 4.1.2 MIT https://github.com/lodash/lodash.git lodash.memoize 3.0.4 MIT https://github.com/lodash/lodash.git -lodash.tail 4.1.1 MIT https://github.com/lodash/lodash.git lodash.uniq 4.5.0 MIT https://github.com/lodash/lodash.git logalot 2.1.0 MIT https://github.com/imagemin/logalot.git longest 1.0.1 MIT https://github.com/jonschlinkert/longest.git @@ -748,10 +768,14 @@ mem 3.0.1 mem 4.3.0 MIT https://github.com/sindresorhus/mem.git memory-fs 0.4.1 MIT https://github.com/webpack/memory-fs.git meow 3.7.0 MIT https://github.com/sindresorhus/meow.git +merge-descriptors 1.0.1 MIT https://github.com/component/merge-descriptors.git +methods 1.1.2 MIT https://github.com/jshttp/methods.git micromatch 3.1.10 MIT https://github.com/micromatch/micromatch.git miller-rabin 4.0.1 MIT git@github.com:indutny/miller-rabin mime 2.4.4 MIT https://github.com/broofa/node-mime +mime 1.6.0 MIT https://github.com/broofa/node-mime mime-db 1.40.0 MIT https://github.com/jshttp/mime-db.git +mime-db 1.42.0 MIT https://github.com/jshttp/mime-db.git mime-types 2.1.24 MIT https://github.com/jshttp/mime-types.git mimic-fn 2.1.0 MIT https://github.com/sindresorhus/mimic-fn.git mimic-fn 1.2.0 MIT https://github.com/sindresorhus/mimic-fn.git @@ -761,31 +785,31 @@ minimalistic-crypto-utils 1.0.1 minimist 0.0.8 MIT git://github.com/substack/minimist.git minimist 1.2.0 MIT git://github.com/substack/minimist.git minimist 0.0.10 MIT git://github.com/substack/minimist.git -minizlib 1.2.1 MIT git+https://github.com/isaacs/minizlib.git +minizlib 1.3.3 MIT git+https://github.com/isaacs/minizlib.git mixin-deep 1.3.2 MIT https://github.com/jonschlinkert/mixin-deep.git -mixin-object 2.0.1 MIT https://github.com/jonschlinkert/mixin-object.git mkdirp 0.5.1 MIT https://github.com/substack/node-mkdirp.git module-deps 6.2.1 MIT git://github.com/browserify/module-deps.git moment 2.24.0 MIT https://github.com/moment/moment.git -moment-timezone 0.5.26 MIT https://github.com/moment/moment-timezone.git moment-timezone 0.4.1 MIT https://github.com/moment/moment-timezone.git +moment-timezone 0.5.26 MIT https://github.com/moment/moment-timezone.git mozjpeg 6.0.1 MIT https://github.com/imagemin/mozjpeg-bin.git ms 2.1.2 MIT https://github.com/zeit/ms.git +ms 2.1.1 MIT https://github.com/zeit/ms.git ms 2.0.0 MIT https://github.com/zeit/ms.git multimatch 2.1.0 MIT https://github.com/sindresorhus/multimatch.git nan 2.14.0 MIT git://github.com/nodejs/nan.git nanomatch 1.2.13 MIT https://github.com/micromatch/nanomatch.git natural-compare 1.4.0 MIT git://github.com/litejs/natural-compare-lite.git -needle 2.3.0 MIT https://github.com/tomas/needle.git +needle 2.4.0 MIT https://github.com/tomas/needle.git negotiator 0.6.2 MIT https://github.com/jshttp/negotiator.git neo-async 2.6.1 MIT git@github.com:suguru03/neo-async.git nice-try 1.0.5 MIT https://github.com/electerious/nice-try.git node-gyp 3.8.0 MIT git://github.com/nodejs/node-gyp.git node-libs-browser 2.2.1 MIT git+https://github.com/webpack/node-libs-browser.git -node-releases 1.1.26 MIT git+https://github.com/chicoxyzzy/node-releases.git +node-releases 1.1.33 MIT git+https://github.com/chicoxyzzy/node-releases.git node-sass 4.12.0 MIT https://github.com/sass/node-sass -normalize-path 2.1.1 MIT https://github.com/jonschlinkert/normalize-path.git normalize-path 3.0.0 MIT https://github.com/jonschlinkert/normalize-path.git +normalize-path 2.1.1 MIT https://github.com/jonschlinkert/normalize-path.git normalize-url 2.0.1 MIT https://github.com/sindresorhus/normalize-url.git normalize-url 3.3.0 MIT https://github.com/sindresorhus/normalize-url.git now-and-later 2.0.1 MIT https://github.com/gulpjs/now-and-later.git @@ -795,6 +819,8 @@ null-check 1.0.0 number-is-nan 1.0.1 MIT https://github.com/sindresorhus/number-is-nan.git object-assign 4.1.1 MIT https://github.com/sindresorhus/object-assign.git object-copy 0.1.0 MIT https://github.com/jonschlinkert/object-copy.git +object-inspect 1.6.0 MIT git://github.com/substack/object-inspect.git +object-is 1.0.1 MIT git://github.com/ljharb/object-is.git object-keys 1.1.1 MIT git://github.com/ljharb/object-keys.git object-visit 1.0.1 MIT https://github.com/jonschlinkert/object-visit.git object.assign 4.1.0 MIT git://github.com/ljharb/object.assign.git @@ -816,27 +842,27 @@ os-locale 1.4.0 os-shim 0.1.3 MIT https://github.com/h2non/node-os-shim.git os-tmpdir 1.0.2 MIT https://github.com/sindresorhus/os-tmpdir.git outpipe 1.1.1 MIT git://github.com/substack/outpipe.git -p-cancelable 0.4.1 MIT https://github.com/sindresorhus/p-cancelable.git p-cancelable 0.3.0 MIT https://github.com/sindresorhus/p-cancelable.git +p-cancelable 0.4.1 MIT https://github.com/sindresorhus/p-cancelable.git p-defer 1.0.0 MIT https://github.com/sindresorhus/p-defer.git -p-event 2.3.1 MIT https://github.com/sindresorhus/p-event.git p-event 1.3.0 MIT https://github.com/sindresorhus/p-event.git +p-event 2.3.1 MIT https://github.com/sindresorhus/p-event.git p-finally 1.0.0 MIT https://github.com/sindresorhus/p-finally.git p-is-promise 2.1.0 MIT https://github.com/sindresorhus/p-is-promise.git p-is-promise 1.1.0 MIT https://github.com/sindresorhus/p-is-promise.git -p-limit 2.2.0 MIT https://github.com/sindresorhus/p-limit.git +p-limit 2.2.1 MIT https://github.com/sindresorhus/p-limit.git p-locate 3.0.0 MIT https://github.com/sindresorhus/p-locate.git p-map-series 1.0.0 MIT https://github.com/sindresorhus/p-map-series.git p-pipe 1.2.0 MIT https://github.com/sindresorhus/p-pipe.git p-reduce 1.0.0 MIT https://github.com/sindresorhus/p-reduce.git -p-timeout 1.2.1 MIT https://github.com/sindresorhus/p-timeout.git p-timeout 2.0.1 MIT https://github.com/sindresorhus/p-timeout.git +p-timeout 1.2.1 MIT https://github.com/sindresorhus/p-timeout.git p-try 2.2.0 MIT https://github.com/sindresorhus/p-try.git -parallel-transform 1.1.0 MIT git://github.com/mafintosh/parallel-transform +parallel-transform 1.2.0 MIT git://github.com/mafintosh/parallel-transform parent-module 1.0.1 MIT https://github.com/sindresorhus/parent-module.git parents 1.0.1 MIT git://github.com/substack/node-parents.git -parse-json 4.0.0 MIT https://github.com/sindresorhus/parse-json.git parse-json 2.2.0 MIT https://github.com/sindresorhus/parse-json.git +parse-json 4.0.0 MIT https://github.com/sindresorhus/parse-json.git parse-node-version 1.0.1 MIT https://github.com/gulpjs/parse-node-version.git parse-passwd 1.0.0 MIT https://github.com/doowb/parse-passwd.git parseqs 0.0.5 MIT https://github.com/get/querystring.git @@ -845,20 +871,21 @@ parseurl 1.3.3 pascalcase 0.1.1 MIT https://github.com/jonschlinkert/pascalcase.git path-browserify 0.0.1 MIT git://github.com/substack/path-browserify.git path-dirname 1.0.2 MIT https://github.com/es128/path-dirname.git -path-exists 2.1.0 MIT https://github.com/sindresorhus/path-exists.git path-exists 3.0.0 MIT https://github.com/sindresorhus/path-exists.git +path-exists 2.1.0 MIT https://github.com/sindresorhus/path-exists.git path-is-absolute 1.0.1 MIT https://github.com/sindresorhus/path-is-absolute.git path-key 2.0.1 MIT https://github.com/sindresorhus/path-key.git path-parse 1.0.6 MIT https://github.com/jbgutierrez/path-parse.git path-platform 0.11.15 MIT http://github.com/tjfontaine/node-path-platform.git +path-to-regexp 0.1.7 MIT https://github.com/component/path-to-regexp.git path-type 1.1.0 MIT https://github.com/sindresorhus/path-type.git pbkdf2 3.0.17 MIT https://github.com/crypto-browserify/pbkdf2.git pend 1.2.0 MIT git://github.com/andrewrk/node-pend.git performance-now 2.1.0 MIT git://github.com/braveg1rl/performance-now.git picomatch 2.0.7 MIT https://github.com/micromatch/picomatch.git -pify 2.3.0 MIT https://github.com/sindresorhus/pify.git -pify 3.0.0 MIT https://github.com/sindresorhus/pify.git pify 4.0.1 MIT https://github.com/sindresorhus/pify.git +pify 3.0.0 MIT https://github.com/sindresorhus/pify.git +pify 2.3.0 MIT https://github.com/sindresorhus/pify.git pinkie 2.0.4 MIT https://github.com/floatdrop/pinkie.git pinkie-promise 2.0.1 MIT https://github.com/floatdrop/pinkie-promise.git pkg-dir 3.0.0 MIT https://github.com/sindresorhus/pkg-dir.git @@ -867,7 +894,7 @@ plugin-error 0.1.2 pngquant-bin 5.0.2 MIT https://github.com/imagemin/pngquant-bin.git popper.js 1.15.0 MIT git+https://github.com/FezVrasta/popper.js.git posix-character-classes 0.1.1 MIT https://github.com/jonschlinkert/posix-character-classes.git -postcss 7.0.17 MIT https://github.com/postcss/postcss.git +postcss 7.0.18 MIT https://github.com/postcss/postcss.git postcss-calc 7.0.1 MIT https://github.com/postcss/postcss-calc.git postcss-colormin 4.0.3 MIT https://github.com/cssnano/cssnano.git postcss-convert-values 4.0.1 MIT https://github.com/cssnano/cssnano.git @@ -901,20 +928,21 @@ postcss-svgo 4.0.2 postcss-unique-selectors 4.0.1 MIT https://github.com/cssnano/cssnano.git postcss-value-parser 3.3.1 MIT https://github.com/TrySound/postcss-value-parser.git prelude-ls 1.1.2 MIT git://github.com/gkz/prelude-ls.git -prepend-http 1.0.4 MIT https://github.com/sindresorhus/prepend-http.git prepend-http 2.0.0 MIT https://github.com/sindresorhus/prepend-http.git +prepend-http 1.0.4 MIT https://github.com/sindresorhus/prepend-http.git private 0.1.8 MIT git://github.com/benjamn/private.git process 0.11.10 MIT git://github.com/shtylman/node-process.git process-nextick-args 2.0.1 MIT https://github.com/calvinmetcalf/process-nextick-args.git progress 2.0.3 MIT git://github.com/visionmedia/node-progress +proxy-addr 2.0.5 MIT https://github.com/jshttp/proxy-addr.git prr 1.0.1 MIT https://github.com/rvagg/prr.git -psl 1.3.0 MIT git@github.com:lupomontero/psl.git +psl 1.4.0 MIT git@github.com:lupomontero/psl.git public-encrypt 4.0.3 MIT https://github.com/crypto-browserify/publicEncrypt.git -pump 2.0.1 MIT git://github.com/mafintosh/pump.git pump 3.0.0 MIT git://github.com/mafintosh/pump.git +pump 2.0.1 MIT git://github.com/mafintosh/pump.git pumpify 1.5.1 MIT git://github.com/mafintosh/pumpify -punycode 1.3.2 MIT https://github.com/bestiejs/punycode.js.git punycode 1.4.1 MIT https://github.com/bestiejs/punycode.js.git +punycode 1.3.2 MIT https://github.com/bestiejs/punycode.js.git punycode 2.1.1 MIT https://github.com/bestiejs/punycode.js.git q 1.5.1 MIT git://github.com/kriskowal/q.git qjobs 1.2.0 MIT git://github.com/franck34/qjobs.git @@ -930,19 +958,19 @@ read-only-stream 2.0.0 read-pkg 1.1.0 MIT https://github.com/sindresorhus/read-pkg.git read-pkg-up 1.0.1 MIT https://github.com/sindresorhus/read-pkg-up.git readable-stream 2.3.6 MIT git://github.com/nodejs/readable-stream +readable-stream 3.4.0 MIT git://github.com/nodejs/readable-stream +readdirp 3.1.3 MIT git://github.com/paulmillr/readdirp.git readdirp 2.2.1 MIT git://github.com/paulmillr/readdirp.git -readdirp 3.1.1 MIT git://github.com/paulmillr/readdirp.git redent 1.0.0 MIT https://github.com/sindresorhus/redent.git regenerate 1.4.0 MIT https://github.com/mathiasbynens/regenerate.git regenerate-unicode-properties 8.1.0 MIT https://github.com/mathiasbynens/regenerate-unicode-properties.git -regenerator-runtime 0.13.3 MIT https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime regenerator-runtime 0.11.1 MIT https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime regenerator-transform 0.14.1 MIT https://github.com/facebook/regenerator/tree/master/packages/regenerator-transform regex-not 1.0.2 MIT https://github.com/jonschlinkert/regex-not.git -regexp-tree 0.1.11 MIT https://github.com/DmitrySoshnikov/regexp-tree.git +regexp.prototype.flags 1.2.0 MIT git://github.com/es-shims/RegExp.prototype.flags.git regexpp 2.0.1 MIT git+https://github.com/mysticatea/regexpp.git +regexpu-core 4.6.0 MIT https://github.com/mathiasbynens/regexpu-core.git regexpu-core 2.0.0 MIT https://github.com/mathiasbynens/regexpu-core.git -regexpu-core 4.5.4 MIT https://github.com/mathiasbynens/regexpu-core.git regjsgen 0.5.0 MIT https://github.com/bnjmnt4n/regjsgen.git regjsgen 0.2.0 MIT https://github.com/d10/regjsgen.git remove-bom-buffer 3.0.0 MIT https://github.com/jonschlinkert/remove-bom-buffer.git @@ -958,8 +986,8 @@ resolve 1.12.0 resolve 1.1.7 MIT git://github.com/substack/node-resolve.git resolve-cwd 2.0.0 MIT https://github.com/sindresorhus/resolve-cwd.git resolve-dir 1.0.1 MIT https://github.com/jonschlinkert/resolve-dir.git -resolve-from 3.0.0 MIT https://github.com/sindresorhus/resolve-from.git resolve-from 4.0.0 MIT https://github.com/sindresorhus/resolve-from.git +resolve-from 3.0.0 MIT https://github.com/sindresorhus/resolve-from.git resolve-options 1.1.0 MIT https://github.com/gulpjs/resolve-options.git resolve-url 0.2.1 MIT https://github.com/lydell/resolve-url.git responselike 1.0.2 MIT https://github.com/lukechilds/responselike.git @@ -975,22 +1003,23 @@ safe-buffer 5.2.0 safe-regex 1.1.0 MIT git://github.com/substack/safe-regex.git safer-buffer 2.1.2 MIT git+https://github.com/ChALkeR/safer-buffer.git sass-graph 2.2.4 MIT https://github.com/xzyfer/sass-graph.git -sass-loader 7.1.0 MIT https://github.com/webpack-contrib/sass-loader.git +sass-loader 7.3.1 MIT https://github.com/webpack-contrib/sass-loader.git sass-resources-loader 2.0.1 MIT https://github.com/shakacode/sass-resources-loader.git schema-utils 1.0.0 MIT https://github.com/webpack-contrib/schema-utils scss-tokenizer 0.2.3 MIT https://github.com/sasstools/scss-tokenizer.git seek-bzip 1.0.5 MIT https://github.com/cscott/seek-bzip.git -select2 4.0.8 MIT git://github.com/select2/select2.git +select2 4.0.10 MIT git://github.com/select2/select2.git semver-regex 2.0.0 MIT https://github.com/sindresorhus/semver-regex.git semver-truncate 1.1.2 MIT https://github.com/sindresorhus/semver-truncate.git +send 0.17.1 MIT https://github.com/pillarjs/send.git +serve-static 1.14.1 MIT https://github.com/expressjs/serve-static.git set-value 2.0.1 MIT https://github.com/jonschlinkert/set-value.git setimmediate 1.0.5 MIT https://github.com/YuzuJS/setImmediate.git -shallow-clone 1.0.0 MIT https://github.com/jonschlinkert/shallow-clone.git shallow-clone 3.0.1 MIT https://github.com/jonschlinkert/shallow-clone.git shasum 1.0.2 MIT git://github.com/dominictarr/shasum.git shebang-command 1.2.0 MIT https://github.com/kevva/shebang-command.git shebang-regex 1.0.0 MIT https://github.com/sindresorhus/shebang-regex.git -shell-quote 1.6.1 MIT http://github.com/substack/node-shell-quote.git +shell-quote 1.7.2 MIT http://github.com/substack/node-shell-quote.git shim-loader 1.0.1 MIT https://github.com/zinserjan/shim-loader simple-concat 1.0.0 MIT git://github.com/feross/simple-concat.git simple-swizzle 0.2.2 MIT https://github.com/qix-/node-simple-swizzle.git @@ -1004,11 +1033,11 @@ socket.io 2.1.1 socket.io-adapter 1.1.1 MIT git://github.com/socketio/socket.io-adapter.git socket.io-client 2.1.1 MIT https://github.com/Automattic/socket.io-client.git socket.io-parser 3.2.0 MIT https://github.com/Automattic/socket.io-parser.git -sort-keys 2.0.0 MIT https://github.com/sindresorhus/sort-keys.git sort-keys 1.1.2 MIT https://github.com/sindresorhus/sort-keys.git +sort-keys 2.0.0 MIT https://github.com/sindresorhus/sort-keys.git sort-keys-length 1.0.1 MIT https://github.com/kevva/sort-keys-length.git -source-list-map 2.0.1 MIT https://github.com/webpack/source-list-map.git source-list-map 1.1.2 MIT https://github.com/webpack/source-list-map.git +source-list-map 2.0.1 MIT https://github.com/webpack/source-list-map.git source-map-resolve 0.5.2 MIT https://github.com/lydell/source-map-resolve.git source-map-support 0.5.13 MIT https://github.com/evanw/node-source-map-support source-map-url 0.4.0 MIT https://github.com/lydell/source-map-url.git @@ -1026,19 +1055,22 @@ stream-browserify 2.0.2 stream-combiner2 1.1.1 MIT git://github.com/substack/stream-combiner2.git stream-each 1.2.3 MIT https://github.com/mafintosh/stream-each.git stream-http 2.8.3 MIT git://github.com/jhiesey/stream-http.git +stream-http 3.1.0 MIT git://github.com/jhiesey/stream-http.git stream-shift 1.0.0 MIT https://github.com/mafintosh/stream-shift.git stream-splicer 2.0.1 MIT git://github.com/browserify/stream-splicer.git streamfilter 1.0.7 MIT git@github.com:nfroidure/streamfilter.git streamroller 1.0.6 MIT https://github.com/nomiddlename/streamroller.git strict-uri-encode 1.1.0 MIT https://github.com/kevva/strict-uri-encode.git string_decoder 1.1.1 MIT git://github.com/nodejs/string_decoder.git -string_decoder 1.2.0 MIT git://github.com/nodejs/string_decoder.git +string_decoder 1.3.0 MIT git://github.com/nodejs/string_decoder.git string-width 2.1.1 MIT https://github.com/sindresorhus/string-width.git string-width 1.0.2 MIT https://github.com/sindresorhus/string-width.git string-width 3.1.0 MIT https://github.com/sindresorhus/string-width.git -strip-ansi 3.0.1 MIT https://github.com/chalk/strip-ansi.git -strip-ansi 5.2.0 MIT https://github.com/chalk/strip-ansi.git +string.prototype.trimleft 2.1.0 MIT git://github.com/es-shims/String.prototype.trimLeft.git +string.prototype.trimright 2.1.0 MIT git://github.com/es-shims/String.prototype.trimRight.git strip-ansi 4.0.0 MIT https://github.com/chalk/strip-ansi.git +strip-ansi 5.2.0 MIT https://github.com/chalk/strip-ansi.git +strip-ansi 3.0.1 MIT https://github.com/chalk/strip-ansi.git strip-bom 2.0.0 MIT https://github.com/sindresorhus/strip-bom.git strip-dirs 2.1.0 MIT https://github.com/shinnn/node-strip-dirs.git strip-eof 1.0.0 MIT https://github.com/sindresorhus/strip-eof.git @@ -1049,8 +1081,8 @@ style-loader 0.23.1 stylehacks 4.0.3 MIT https://github.com/cssnano/cssnano.git subarg 1.0.0 MIT git://github.com/substack/subarg.git supports-color 6.1.0 MIT https://github.com/chalk/supports-color.git -supports-color 2.0.0 MIT https://github.com/chalk/supports-color.git supports-color 5.5.0 MIT https://github.com/chalk/supports-color.git +supports-color 2.0.0 MIT https://github.com/chalk/supports-color.git svgo 1.3.0 MIT git://github.com/svg/svgo.git syntax-error 1.4.0 MIT git://github.com/substack/node-syntax-error.git tapable 1.1.3 MIT http://github.com/webpack/tapable.git @@ -1068,8 +1100,8 @@ through2 2.0.5 through2-filter 3.0.0 MIT git@github.com:brycebaril/through2-filter.git time-stamp 1.1.0 MIT https://github.com/jonschlinkert/time-stamp.git timed-out 4.0.1 MIT https://github.com/floatdrop/timed-out.git -timers-browserify 2.0.10 MIT git://github.com/jryans/timers-browserify.git timers-browserify 1.4.2 MIT git://github.com/jryans/timers-browserify.git +timers-browserify 2.0.11 MIT git://github.com/jryans/timers-browserify.git timsort 0.3.0 MIT https://github.com/mziccard/node-timsort.git tmp 0.0.33 MIT https://github.com/raszi/node-tmp.git to-absolute-glob 2.0.2 MIT https://github.com/jonschlinkert/to-absolute-glob.git @@ -1080,16 +1112,16 @@ to-fast-properties 2.0.0 to-fast-properties 1.0.3 MIT https://github.com/sindresorhus/to-fast-properties.git to-object-path 0.3.0 MIT https://github.com/jonschlinkert/to-object-path.git to-regex 3.0.2 MIT https://github.com/jonschlinkert/to-regex.git -to-regex-range 5.0.1 MIT https://github.com/micromatch/to-regex-range.git to-regex-range 2.1.1 MIT https://github.com/micromatch/to-regex-range.git +to-regex-range 5.0.1 MIT https://github.com/micromatch/to-regex-range.git to-through 2.0.0 MIT https://github.com/gulpjs/to-through.git to-time 1.0.2 MIT https://github.com/hafuta/to-time.git toidentifier 1.0.0 MIT https://github.com/component/toidentifier.git trim-newlines 1.0.0 MIT https://github.com/sindresorhus/trim-newlines.git trim-repeated 1.0.0 MIT https://github.com/sindresorhus/trim-repeated.git -trim-right 1.0.1 MIT https://github.com/sindresorhus/trim-right.git -tty-browserify 0.0.0 MIT git://github.com/substack/tty-browserify.git +tryer 1.0.1 MIT git+https://gitlab.com/philbooth/tryer.git tty-browserify 0.0.1 MIT git://github.com/browserify/tty-browserify.git +tty-browserify 0.0.0 MIT git://github.com/substack/tty-browserify.git type-check 0.3.2 MIT git://github.com/gkz/type-check.git type-is 1.6.18 MIT https://github.com/jshttp/type-is.git typedarray 0.0.6 MIT git://github.com/substack/typedarray.git @@ -1099,7 +1131,6 @@ umd 3.0.3 unbzip2-stream 1.3.3 MIT https://github.com/regular/unbzip2-stream.git unc-path-regex 0.1.2 MIT https://github.com/regexhq/unc-path-regex.git underscore 1.9.1 MIT git://github.com/jashkenas/underscore.git -underscore.string 3.3.5 MIT https://github.com/epeli/underscore.string.git unicode-canonical-property-names-ecmascript 1.0.4 MIT https://github.com/mathiasbynens/unicode-canonical-property-names-ecmascript.git unicode-match-property-ecmascript 1.0.4 MIT https://github.com/mathiasbynens/unicode-match-property-ecmascript.git unicode-match-property-value-ecmascript 1.1.0 MIT https://github.com/mathiasbynens/unicode-match-property-value-ecmascript.git @@ -1112,24 +1143,25 @@ universalify 0.1.2 unpipe 1.0.0 MIT https://github.com/stream-utils/unpipe.git unquote 1.1.1 MIT https://github.com/lakenen/node-unquote.git unset-value 1.0.0 MIT https://github.com/jonschlinkert/unset-value.git -upath 1.1.2 MIT git://github.com/anodynos/upath +upath 1.2.0 MIT git://github.com/anodynos/upath urix 0.1.0 MIT https://github.com/lydell/urix.git url 0.11.0 MIT https://github.com/defunctzombie/node-url.git url-loader 1.1.2 MIT https://github.com/webpack-contrib/url-loader.git -url-parse-lax 3.0.0 MIT https://github.com/sindresorhus/url-parse-lax.git url-parse-lax 1.0.0 MIT https://github.com/sindresorhus/url-parse-lax.git +url-parse-lax 3.0.0 MIT https://github.com/sindresorhus/url-parse-lax.git url-to-options 1.0.1 MIT https://github.com/stevenvachon/url-to-options.git use 3.1.1 MIT https://github.com/jonschlinkert/use.git useragent 2.3.0 MIT http://github.com/3rd-Eden/useragent.git -util 0.11.1 MIT git://github.com/defunctzombie/node-util util 0.10.3 MIT git://github.com/defunctzombie/node-util +util 0.11.1 MIT git://github.com/defunctzombie/node-util util 0.10.4 MIT git://github.com/defunctzombie/node-util util-deprecate 1.0.2 MIT git://github.com/TooTallNate/util-deprecate.git util.promisify 1.0.0 MIT git+https://github.com/ljharb/util.promisify.git utils-merge 1.0.1 MIT git://github.com/jaredhanson/utils-merge.git -uuid 3.3.2 MIT https://github.com/kelektiv/node-uuid.git +uuid 3.3.3 MIT https://github.com/kelektiv/node-uuid.git v8-compile-cache 2.0.3 MIT https://github.com/zertosh/v8-compile-cache.git value-or-function 3.0.0 MIT https://github.com/gulpjs/value-or-function.git +vary 1.1.2 MIT https://github.com/jshttp/vary.git vendors 1.0.3 MIT https://github.com/wooorm/vendors.git verror 1.10.0 MIT git://github.com/davepacheco/node-verror.git vinyl 2.2.0 MIT https://github.com/gulpjs/vinyl.git @@ -1139,40 +1171,43 @@ vm-browserify 1.1.0 void-elements 2.0.1 MIT https://github.com/hemanth/void-elements.git watchify 3.11.1 MIT git://github.com/substack/watchify.git watchpack 1.6.0 MIT https://github.com/webpack/watchpack.git -webpack 4.39.1 MIT https://github.com/webpack/webpack.git -webpack-cli 3.3.6 MIT https://github.com/webpack/webpack-cli.git -webpack-dev-middleware 3.7.0 MIT https://github.com/webpack/webpack-dev-middleware.git +webpack 4.41.0 MIT https://github.com/webpack/webpack.git +webpack-bundle-analyzer 3.5.2 MIT git+https://github.com/webpack-contrib/webpack-bundle-analyzer.git +webpack-cli 3.3.9 MIT https://github.com/webpack/webpack-cli.git +webpack-dev-middleware 3.7.2 MIT https://github.com/webpack/webpack-dev-middleware.git webpack-log 2.0.0 MIT https://github.com/webpack-contrib/webpack-log.git +webpack-require-from 1.8.0 MIT https://github.com/agoldis/webpack-require-from.git webpack-sources 0.2.3 MIT git+https://github.com/webpack/webpack-sources.git -webpack-sources 1.4.1 MIT git+https://github.com/webpack/webpack-sources.git +webpack-sources 1.4.3 MIT git+https://github.com/webpack/webpack-sources.git wkx 0.4.8 MIT http://github.com/cschwarz/wkx.git -wordwrap 0.0.3 MIT git://github.com/substack/node-wordwrap.git wordwrap 1.0.0 MIT git://github.com/substack/node-wordwrap.git +wordwrap 0.0.3 MIT git://github.com/substack/node-wordwrap.git worker-farm 1.7.0 MIT https://github.com/rvagg/node-worker-farm.git -wrap-ansi 2.1.0 MIT https://github.com/chalk/wrap-ansi.git wrap-ansi 5.1.0 MIT https://github.com/chalk/wrap-ansi.git +wrap-ansi 2.1.0 MIT https://github.com/chalk/wrap-ansi.git write 1.0.3 MIT https://github.com/jonschlinkert/write.git +ws 6.2.1 MIT https://github.com/websockets/ws.git ws 3.3.3 MIT https://github.com/websockets/ws.git xmlbuilder 10.1.1 MIT git://github.com/oozcitak/xmlbuilder-js.git xmlhttprequest-ssl 1.5.5 MIT git://github.com/mjwwit/node-XMLHttpRequest.git xtend 4.0.2 MIT git://github.com/Raynos/xtend.git -yargs 12.0.5 MIT https://github.com/yargs/yargs.git yargs 13.2.4 MIT https://github.com/yargs/yargs.git +yargs 12.0.5 MIT https://github.com/yargs/yargs.git yargs 7.1.0 MIT http://github.com/yargs/yargs.git yarn-audit-html 1.1.0 MIT https://github.com/davityavryan/yarn-audit-html.git yauzl 2.10.0 MIT https://github.com/thejoshwolfe/yauzl.git yeast 0.1.2 MIT https://github.com/unshiftio/yeast.git @webassemblyjs/helper-fsm 1.8.5 ISC Unknown abbrev 1.1.1 ISC http://github.com/isaacs/abbrev-js -anymatch 3.0.3 ISC https://github.com/micromatch/anymatch +anymatch 3.1.1 ISC https://github.com/micromatch/anymatch anymatch 2.0.0 ISC https://github.com/micromatch/anymatch aproba 1.2.0 ISC https://github.com/iarna/aproba are-we-there-yet 1.1.5 ISC https://github.com/iarna/are-we-there-yet.git block-stream 0.0.9 ISC git://github.com/isaacs/block-stream.git boolbase 1.0.0 ISC https://github.com/fb55/boolbase browserify-sign 4.0.4 ISC https://github.com/crypto-browserify/browserify-sign.git -cacache 12.0.2 ISC https://github.com/npm/cacache -chownr 1.1.1 ISC git://github.com/isaacs/chownr.git +cacache 12.0.3 ISC https://github.com/npm/cacache +chownr 1.1.3 ISC git://github.com/isaacs/chownr.git cli-width 2.2.0 ISC git@github.com:knownasilya/cli-width.git cliui 4.1.0 ISC http://github.com/yargs/cliui.git cliui 3.2.0 ISC http://github.com/yargs/cliui.git @@ -1180,32 +1215,32 @@ cliui 5.0.0 color-support 1.1.3 ISC git+https://github.com/isaacs/color-support.git console-control-strings 1.1.0 ISC https://github.com/iarna/console-control-strings copy-concurrently 1.0.5 ISC git+https://github.com/npm/copy-concurrently.git -electron-to-chromium 1.3.211 ISC https://github.com/kilian/electron-to-chromium/ +electron-to-chromium 1.3.273 ISC https://github.com/kilian/electron-to-chromium/ figgy-pudding 3.5.1 ISC https://github.com/zkat/figgy-pudding flatted 2.0.1 ISC git+https://github.com/WebReflection/flatted.git -fs-minipass 1.2.5 ISC git+https://github.com/npm/fs-minipass.git +fs-minipass 1.2.7 ISC git+https://github.com/npm/fs-minipass.git fs-write-stream-atomic 1.0.10 ISC https://github.com/npm/fs-write-stream-atomic fs.realpath 1.0.0 ISC git+https://github.com/isaacs/fs.realpath.git fstream 1.0.12 ISC https://github.com/npm/fstream.git gauge 2.7.4 ISC https://github.com/iarna/gauge -get-caller-file 1.0.3 ISC git+https://github.com/stefanpenner/get-caller-file.git get-caller-file 2.0.5 ISC git+https://github.com/stefanpenner/get-caller-file.git +get-caller-file 1.0.3 ISC git+https://github.com/stefanpenner/get-caller-file.git glob 7.1.4 ISC git://github.com/isaacs/node-glob.git -glob-parent 5.0.0 ISC https://github.com/gulpjs/glob-parent.git +glob-parent 5.1.0 ISC https://github.com/gulpjs/glob-parent.git glob-parent 3.1.0 ISC https://github.com/es128/glob-parent -graceful-fs 4.2.0 ISC https://github.com/isaacs/node-graceful-fs +graceful-fs 4.2.2 ISC https://github.com/isaacs/node-graceful-fs gulp-exclude-gitignore 1.2.0 ISC https://github.com/SBoudrias/gulp-exclude-gitignore.git har-schema 2.0.0 ISC https://github.com/ahmadnassri/har-schema.git has-unicode 2.0.1 ISC https://github.com/iarna/has-unicode -hosted-git-info 2.7.1 ISC git+https://github.com/npm/hosted-git-info.git +hosted-git-info 2.8.4 ISC git+https://github.com/npm/hosted-git-info.git icss-replace-symbols 1.1.0 ISC git+https://github.com/css-modules/icss-replace-symbols.git icss-utils 4.1.1 ISC git+https://github.com/css-modules/icss-utils.git -ignore-walk 3.0.1 ISC git+https://github.com/isaacs/ignore-walk.git +ignore-walk 3.0.2 ISC git+https://github.com/isaacs/ignore-walk.git in-publish 2.0.0 ISC https://github.com/iarna/in-publish infer-owner 1.0.4 ISC https://github.com/npm/infer-owner inflight 1.0.6 ISC https://github.com/npm/inflight.git -inherits 2.0.3 ISC git://github.com/isaacs/inherits inherits 2.0.1 ISC git://github.com/isaacs/inherits +inherits 2.0.3 ISC git://github.com/isaacs/inherits inherits 2.0.4 ISC git://github.com/isaacs/inherits ini 1.3.5 ISC git://github.com/isaacs/ini.git is-resolvable 1.1.0 ISC https://github.com/shinnn/is-resolvable.git @@ -1216,17 +1251,17 @@ lru-cache 4.1.5 lru-cache 5.1.1 ISC git://github.com/isaacs/node-lru-cache.git minimalistic-assert 1.0.1 ISC https://github.com/calvinmetcalf/minimalistic-assert.git minimatch 3.0.4 ISC git://github.com/isaacs/minimatch.git -minipass 2.3.5 ISC git+https://github.com/isaacs/minipass.git +minipass 2.9.0 ISC git+https://github.com/isaacs/minipass.git move-concurrently 1.0.1 ISC git+https://github.com/npm/move-concurrently.git mute-stream 0.0.7 ISC git://github.com/isaacs/mute-stream nopt 4.0.1 ISC https://github.com/npm/nopt.git nopt 3.0.6 ISC https://github.com/npm/nopt.git npm-bundled 1.0.6 ISC git+https://github.com/npm/npm-bundled.git -npm-packlist 1.4.1 ISC git+https://github.com/npm/npm-packlist.git +npm-packlist 1.4.4 ISC git+https://github.com/npm/npm-packlist.git npmlog 4.1.2 ISC https://github.com/npm/npmlog.git once 1.4.0 ISC git://github.com/isaacs/once osenv 0.1.5 ISC https://github.com/npm/osenv -parse-asn1 5.1.4 ISC git://github.com/crypto-browserify/parse-asn1.git +parse-asn1 5.1.5 ISC git://github.com/crypto-browserify/parse-asn1.git postcss-modules-extract-imports 2.0.0 ISC https://github.com/css-modules/postcss-modules-extract-imports.git postcss-modules-scope 2.1.0 ISC https://github.com/css-modules/postcss-modules-scope.git postcss-modules-values 2.0.0 ISC git+https://github.com/css-modules/postcss-modules-values.git @@ -1234,19 +1269,21 @@ promise-inflight 1.0.1 proto-list 1.2.4 ISC https://github.com/isaacs/proto-list pseudomap 1.0.2 ISC git+https://github.com/isaacs/pseudomap.git remove-trailing-separator 1.1.0 ISC git+https://github.com/darsain/remove-trailing-separator.git -require-main-filename 2.0.0 ISC git+ssh://git@github.com/yargs/require-main-filename.git require-main-filename 1.0.1 ISC git+ssh://git@github.com/yargs/require-main-filename.git +require-main-filename 2.0.0 ISC git+ssh://git@github.com/yargs/require-main-filename.git +rimraf 2.7.1 ISC git://github.com/isaacs/rimraf.git rimraf 2.6.3 ISC git://github.com/isaacs/rimraf.git run-queue 1.0.3 ISC git+https://github.com/iarna/run-queue.git sax 1.2.4 ISC git://github.com/isaacs/sax-js.git +semver 6.3.0 ISC https://github.com/npm/node-semver semver 5.3.0 ISC https://github.com/npm/node-semver -semver 5.7.0 ISC https://github.com/npm/node-semver +semver 5.7.1 ISC https://github.com/npm/node-semver set-blocking 2.0.0 ISC git+https://github.com/yargs/set-blocking.git setprototypeof 1.1.1 ISC https://github.com/wesleytodd/setprototypeof.git sigmund 1.0.1 ISC git://github.com/isaacs/sigmund signal-exit 3.0.2 ISC https://github.com/tapjs/signal-exit.git ssri 6.0.1 ISC https://github.com/zkat/ssri -tar 4.4.8 ISC https://github.com/npm/node-tar.git +tar 4.4.13 ISC https://github.com/npm/node-tar.git tar 2.2.2 ISC git://github.com/isaacs/node-tar.git unique-filename 1.1.1 ISC https://github.com/iarna/unique-filename.git unique-slug 2.0.2 ISC git://github.com/iarna/unique-slug.git @@ -1255,10 +1292,10 @@ which-module 1.0.0 which-module 2.0.0 ISC git+https://github.com/nexdrew/which-module.git wide-align 1.1.3 ISC https://github.com/iarna/wide-align wrappy 1.0.2 ISC https://github.com/npm/wrappy -y18n 4.0.0 ISC git@github.com:yargs/y18n.git y18n 3.2.1 ISC git@github.com:yargs/y18n.git -yallist 3.0.3 ISC git+https://github.com/isaacs/yallist.git +y18n 4.0.0 ISC git@github.com:yargs/y18n.git yallist 2.1.2 ISC git+https://github.com/isaacs/yallist.git +yallist 3.1.1 ISC git+https://github.com/isaacs/yallist.git yargs-parser 13.1.1 ISC git@github.com:yargs/yargs-parser.git yargs-parser 5.0.0 ISC git@github.com:yargs/yargs-parser.git yargs-parser 11.1.1 ISC git@github.com:yargs/yargs-parser.git @@ -1267,39 +1304,40 @@ bcrypt-pbkdf 1.0.2 duplexer2 0.1.4 BSD-3-Clause https://github.com/deoxxa/duplexer2.git duplexer3 0.1.4 BSD-3-Clause https://github.com/floatdrop/duplexer3.git esquery 1.0.1 BSD-3-Clause https://github.com/jrfeenst/esquery.git +filesize 3.6.1 BSD-3-Clause git://github.com/avoidwork/filesize.js.git highlight.js 9.12.0 BSD-3-Clause git://github.com/isagalaev/highlight.js.git ieee754 1.1.13 BSD-3-Clause git://github.com/feross/ieee754.git js-base64 2.5.1 BSD-3-Clause git://github.com/dankogai/js-base64.git node-pre-gyp 0.12.0 BSD-3-Clause git://github.com/mapbox/node-pre-gyp.git -qs 6.7.0 BSD-3-Clause https://github.com/ljharb/qs.git qs 6.5.2 BSD-3-Clause https://github.com/ljharb/qs.git -serialize-javascript 1.7.0 BSD-3-Clause git+https://github.com/yahoo/serialize-javascript.git -source-map 0.5.7 BSD-3-Clause http://github.com/mozilla/source-map.git +qs 6.7.0 BSD-3-Clause https://github.com/ljharb/qs.git +serialize-javascript 1.9.1 BSD-3-Clause git+https://github.com/yahoo/serialize-javascript.git +source-map 0.7.3 BSD-3-Clause http://github.com/mozilla/source-map.git source-map 0.5.0 BSD-3-Clause http://github.com/mozilla/source-map.git source-map 0.6.1 BSD-3-Clause http://github.com/mozilla/source-map.git -source-map 0.7.3 BSD-3-Clause http://github.com/mozilla/source-map.git source-map 0.4.4 BSD-3-Clause http://github.com/mozilla/source-map.git -sprintf-js 1.1.2 BSD-3-Clause https://github.com/alexei/sprintf.js.git +source-map 0.5.7 BSD-3-Clause http://github.com/mozilla/source-map.git sprintf-js 1.0.3 BSD-3-Clause https://github.com/alexei/sprintf.js.git -table 5.4.5 BSD-3-Clause https://github.com/gajus/table +sprintf-js 1.1.2 BSD-3-Clause https://github.com/alexei/sprintf.js.git +table 5.4.6 BSD-3-Clause https://github.com/gajus/table tough-cookie 2.4.3 BSD-3-Clause git://github.com/salesforce/tough-cookie.git @xtuc/long 4.2.2 Apache-2.0 https://github.com/dcodeIO/long.js.git -acorn-node 1.7.0 Apache-2.0 https://github.com/browserify/acorn-node.git +acorn-node 1.8.2 Apache-2.0 https://github.com/browserify/acorn-node.git aws-sign2 0.7.0 Apache-2.0 https://github.com/mikeal/aws-sign bootstrap-datepicker 1.9.0 Apache-2.0 https://github.com/uxsolutions/bootstrap-datepicker.git caseless 0.12.0 Apache-2.0 https://github.com/mikeal/caseless dash-ast 1.0.0 Apache-2.0 https://github.com/goto-bus-stop/dash-ast.git detect-libc 1.0.3 Apache-2.0 git://github.com/lovell/detect-libc doctrine 3.0.0 Apache-2.0 https://github.com/eslint/doctrine.git -ejs 2.6.2 Apache-2.0 git://github.com/mde/ejs.git -eslint-visitor-keys 1.0.0 Apache-2.0 https://github.com/eslint/eslint-visitor-keys.git +ejs 2.7.1 Apache-2.0 git://github.com/mde/ejs.git +eslint-visitor-keys 1.1.0 Apache-2.0 https://github.com/eslint/eslint-visitor-keys.git eve 0.5.4 Apache-2.0 git@github.com:adobe-webplatform/eve.git forever-agent 0.6.1 Apache-2.0 https://github.com/mikeal/forever-agent get-assigned-identifiers 1.2.0 Apache-2.0 https://github.com/goto-bus-stop/get-assigned-identifiers.git log4js 4.5.1 Apache-2.0 https://github.com/log4js-node/log4js-node.git oauth-sign 0.9.0 Apache-2.0 https://github.com/mikeal/oauth-sign request 2.88.0 Apache-2.0 https://github.com/request/request.git -rxjs 6.5.2 Apache-2.0 https://github.com/reactivex/rxjs.git +rxjs 6.5.3 Apache-2.0 https://github.com/reactivex/rxjs.git snapsvg 0.5.1 Apache-2.0 git@github.com:adobe-webplatform/Snap.svg.git spdx-correct 3.1.0 Apache-2.0 https://github.com/jslicense/spdx-correct.js.git true-case-path 1.0.3 Apache-2.0 git+https://github.com/barsh/true-case-path.git @@ -1312,14 +1350,13 @@ async-foreach 0.1.3 callsite 1.0.0 MIT* Unknown component-bind 1.0.0 MIT* https://github.com/component/bind.git component-inherit 0.0.3 MIT* https://github.com/component/inherit.git -cyclist 0.2.2 MIT* git://github.com/mafintosh/cyclist indexof 0.0.1 MIT* Unknown object-component 0.0.3 MIT* Unknown precond 0.2.3 MIT* https://github.com/MathieuTurcotte/node-precond.git webcabin-docker 2.2.4-dev MIT* Unknown atob 2.1.2 (MIT OR Apache-2.0) git://git.coolaj86.com/coolaj86/atob.js.git JSONStream 1.3.5 (MIT OR Apache-2.0) git://github.com/dominictarr/JSONStream.git -caniuse-lite 1.0.30000988 CC-BY-4.0 https://github.com/ben-eb/caniuse-lite.git +caniuse-lite 1.0.30000998 CC-BY-4.0 https://github.com/ben-eb/caniuse-lite.git css-select 2.0.2 BSD-2-Clause git://github.com/fb55/css-select.git css-what 2.1.3 BSD-2-Clause https://github.com/fb55/css-what domelementtype 2.0.1 BSD-2-Clause git://github.com/fb55/domelementtype.git @@ -1330,16 +1367,16 @@ eslint-scope 4.0.3 espree 5.0.1 BSD-2-Clause https://github.com/eslint/espree.git esprima 4.0.1 BSD-2-Clause https://github.com/jquery/esprima.git esrecurse 4.2.1 BSD-2-Clause https://github.com/estools/esrecurse.git -estraverse 4.2.0 BSD-2-Clause http://github.com/estools/estraverse.git +estraverse 4.3.0 BSD-2-Clause http://github.com/estools/estraverse.git esutils 2.0.3 BSD-2-Clause http://github.com/estools/esutils.git http-cache-semantics 3.8.1 BSD-2-Clause https://github.com/pornel/http-cache-semantics.git leaflet 1.5.1 BSD-2-Clause git://github.com/Leaflet/Leaflet.git mississippi 3.0.0 BSD-2-Clause git+https://github.com/maxogden/mississippi.git normalize-package-data 2.5.0 BSD-2-Clause git://github.com/npm/normalize-package-data.git nth-check 1.0.2 BSD-2-Clause https://github.com/fb55/nth-check -regjsparser 0.1.5 BSD-2-Clause git@github.com:jviereck/regjsparser.git regjsparser 0.6.0 BSD-2-Clause git@github.com:jviereck/regjsparser.git -terser 4.1.2 BSD-2-Clause https://github.com/fabiosantoscode/terser.git +regjsparser 0.1.5 BSD-2-Clause git@github.com:jviereck/regjsparser.git +terser 4.3.4 BSD-2-Clause https://github.com/terser/terser uglify-js 3.6.0 BSD-2-Clause https://github.com/mishoo/UglifyJS2.git uri-js 4.2.2 BSD-2-Clause http://github.com/garycourt/uri-js FileSaver 0.10.0 UNKNOWN Unknown @@ -1351,8 +1388,9 @@ json-schema 0.2.3 jsonify 0.0.0 Public Domain http://github.com/substack/jsonify.git mdn-data 1.1.4 MPL-2.0 https://github.com/mdn/data.git mousetrap 1.6.3 Apache-2.0 WITH LLVM-exception git://github.com/ccampbell/mousetrap.git -pako 1.0.10 (MIT AND Zlib) https://github.com/nodeca/pako.git +opener 1.5.1 (WTFPL OR MIT) https://github.com/domenic/opener.git path-is-inside 1.0.2 (WTFPL OR MIT) https://github.com/domenic/path-is-inside.git +pako 1.0.10 (MIT AND Zlib) https://github.com/nodeca/pako.git rc 1.2.8 (BSD-2-Clause OR MIT OR Apache-2.0) https://github.com/dominictarr/rc.git regenerator-transform 0.10.1 BSD https://github.com/facebook/regenerator/tree/master/packages/regenerator-transform sha.js 2.4.11 (MIT AND BSD-3-Clause) git://github.com/crypto-browserify/sha.js.git @@ -1361,5 +1399,5 @@ tablesorter 2.31.1 tweetnacl 0.14.5 Unlicense https://github.com/dchest/tweetnacl-js.git xml-escape 1.1.0 MIT License git://github.com/miketheprogrammer/xml-escape.git -1307 dependencies listed. +1346 dependencies listed. diff --git a/requirements.txt b/requirements.txt index 839e0fb96..dae5436d6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,6 +24,7 @@ Flask-Migrate==2.4.0 Flask-Principal==0.4.0 Flask-SQLAlchemy==2.3.2 Flask-WTF==0.14.2 +Flask-Compress==1.4.0 passlib==1.7.1 pytz==2018.9 simplejson==3.16.0 @@ -35,10 +36,6 @@ Flask-Paranoid==0.2.0 psutil==5.5.1 psycopg2>=2.8 python-dateutil>=2.8.0 -htmlmin==0.1.12 -Flask-HTMLmin==1.5.0 SQLAlchemy>=1.2.18 Flask-Security>=3.0.0 sshtunnel>=0.1.4 - - diff --git a/web/config.py b/web/config.py index 77fe20d52..74a5f0ce5 100644 --- a/web/config.py +++ b/web/config.py @@ -180,10 +180,13 @@ PROXY_X_PREFIX_COUNT = 0 # longer part of the main configuration, but are stored in the # configuration databases 'keys' table and are auto-generated. -# Should HTML be minified on the fly when not in debug mode? -# NOTE: The HTMLMIN module doesn't work with Python 2.6, so this option -# has no effect on <= Python 2.7. -MINIFY_PAGE = True +# COMPRESSION +COMPRESS_MIMETYPES = [ + 'text/html', 'text/css', 'text/xml', 'application/json', + 'application/javascript' +] +COMPRESS_LEVEL = 9 +COMPRESS_MIN_SIZE = 500 # Set the cache control max age for static files in flask to 1 year SEND_FILE_MAX_AGE_DEFAULT = 31556952 diff --git a/web/package.json b/web/package.json index 27954a447..52352348f 100644 --- a/web/package.json +++ b/web/package.json @@ -7,11 +7,12 @@ ], "license": "PostgreSQL", "devDependencies": { - "@babel/core": "~7.3.4", - "@babel/preset-env": "~7.3.4", - "axios-mock-adapter": "^1.16.0", + "@babel/core": "~7.6.0", + "@babel/preset-env": "~7.6.0", + "axios-mock-adapter": "^1.17.0", "babel-loader": "~8.0.5", "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", + "core-js": "^3.2.1", "cross-env": "^5.2.0", "eclint": "^2.8.1", "eslint": "5.15.1", @@ -40,11 +41,12 @@ "uglifyjs-webpack-plugin": "^2.1.2", "url-loader": "^1.1.2", "webpack": "^4.29.6", + "webpack-bundle-analyzer": "^3.5.1", "webpack-cli": "^3.2.3", + "webpack-require-from": "^1.8.0", "yarn-audit-html": "^1.1.0" }, "dependencies": { - "@babel/polyfill": "^7.2.5", "acitree": "git+https://github.com/imsurinder90/jquery-aciTree.git#rc.7", "alertifyjs": "1.7.1", "axios": "^0.18.1", @@ -53,10 +55,8 @@ "babelify": "~10.0.0", "backbone": "1.4.0", "backform": "^0.2.0", - "backgrid": "^0.3.8", "backgrid-filter": "^0.3.7", "backgrid-select-all": "^0.3.5", - "backgrid-sizeable-columns": "^0.1.1", "bignumber.js": "^8.1.1", "bootstrap": "^4.3.1", "bootstrap-datepicker": "^1.8.0", @@ -88,12 +88,10 @@ "snapsvg": "^0.5.1", "spectrum-colorpicker": "^1.8.0", "split.js": "^1.5.10", - "sprintf-js": "^1.1.2", "tablesorter": "^2.31.1", "tempusdominus-bootstrap-4": "^5.1.2", "tempusdominus-core": "^5.0.3", "underscore": "^1.9.1", - "underscore.string": "^3.3.5", "watchify": "~3.11.1", "webcabin-docker": "git+https://github.com/EnterpriseDB/wcDocker/#c95d295382ac61159e571af9c3b8f4f8ae81746d", "wkx": "^0.4.6" @@ -104,6 +102,7 @@ "webpacker:watch": "yarn run webpack --config webpack.config.js --progress --watch", "bundle:watch": "yarn run linter && yarn run webpacker:watch", "bundle:dev": "yarn run linter && yarn run webpacker", + "bundle:analyze": "cross-env NODE_ENV=production ANALYZE=true yarn run bundle:dev", "bundle": "cross-env NODE_ENV=production yarn run bundle:dev", "test:karma-once": "yarn run linter && yarn run karma start --single-run", "test:karma": "yarn run linter && yarn run karma start", diff --git a/web/pgadmin/__init__.py b/web/pgadmin/__init__.py index 28bb51c7f..de365eadd 100644 --- a/web/pgadmin/__init__.py +++ b/web/pgadmin/__init__.py @@ -705,11 +705,11 @@ def create_app(app_name=None): values.pop(config.APP_VERSION_PARAM) ########################################################################## - # Minify output + # Minify output. Not required in desktop mode ########################################################################## - if not config.DEBUG: - from flask_htmlmin import HTMLMIN - HTMLMIN(app) + if not config.DEBUG and config.SERVER_MODE: + from flask_compress import Compress + Compress(app) @app.context_processor def inject_blueprint(): diff --git a/web/pgadmin/about/static/js/about.js b/web/pgadmin/about/static/js/about.js index 64bc356db..9186f65c3 100644 --- a/web/pgadmin/about/static/js/about.js +++ b/web/pgadmin/about/static/js/about.js @@ -8,10 +8,10 @@ ////////////////////////////////////////////////////////////// define( - ['jquery', 'alertify', 'sources/pgadmin', 'underscore.string', 'sources/gettext', + ['jquery', 'alertify', 'sources/pgadmin', 'sources/gettext', 'sources/url_for', ], - function($, alertify, pgAdmin, S, gettext, url_for) { + function($, alertify, pgAdmin, gettext, url_for) { pgAdmin = pgAdmin || window.pgAdmin || {}; /* Return back, this has been called more than once */ @@ -53,7 +53,7 @@ define( $.get(url_for('about.index'), function(data) { alertify.aboutDialog( - S(gettext('About %s')).sprintf(pgAdmin.Browser.utils.app_name).value(), data + gettext('About %s', pgAdmin.Browser.utils.app_name), data ).resizeTo(pgAdmin.Browser.stdW.md, pgAdmin.Browser.stdH.md); }); }, diff --git a/web/pgadmin/browser/server_groups/servers/databases/casts/static/js/cast.js b/web/pgadmin/browser/server_groups/servers/databases/casts/static/js/cast.js index c3b8e0805..711d3ad33 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/casts/static/js/cast.js +++ b/web/pgadmin/browser/server_groups/servers/databases/casts/static/js/cast.js @@ -9,9 +9,9 @@ define('pgadmin.node.cast', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'pgadmin.backform', 'pgadmin.browser.collection', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, Backform) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, alertify, Backform) { // Extend the collection class for cast if (!pgBrowser.Nodes['coll-cast']) { pgAdmin.Browser.Nodes['coll-cast'] = diff --git a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/static/js/event_trigger.js b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/static/js/event_trigger.js index fc78e602a..8f8c2ad8d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/static/js/event_trigger.js +++ b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/static/js/event_trigger.js @@ -9,9 +9,9 @@ define('pgadmin.node.event_trigger', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'pgadmin.browser.collection', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, Backform) { // Extend the browser's collection class for event trigger collection if (!pgBrowser.Nodes['coll-event_trigger']) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/extensions/static/js/extension.js b/web/pgadmin/browser/server_groups/servers/databases/extensions/static/js/extension.js index 64ab3e4ea..8fcb442f2 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/extensions/static/js/extension.js +++ b/web/pgadmin/browser/server_groups/servers/databases/extensions/static/js/extension.js @@ -9,9 +9,9 @@ define('pgadmin.node.extension', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'pgadmin.browser.collection', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, Backform) { /* * Create and Add an Extension Collection into nodes diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/static/js/foreign_server.js b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/static/js/foreign_server.js index 1c82513f2..e392cc413 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/static/js/foreign_server.js +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/static/js/foreign_server.js @@ -8,10 +8,10 @@ ////////////////////////////////////////////////////////////// define('pgadmin.node.foreign_server', [ - 'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'sources/pgadmin', + 'sources/gettext', 'jquery', 'underscore', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'pgadmin.browser.collection', 'pgadmin.browser.server.privilege', -], function(gettext, $, _, S, pgAdmin, pgBrowser, Backform) { +], function(gettext, $, _, pgAdmin, pgBrowser, Backform) { // Extend the browser's node model class to create a Options model var OptionsModel = pgAdmin.Browser.Node.Model.extend({ diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/static/js/user_mapping.js b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/static/js/user_mapping.js index 3d75f6736..b3b66f710 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/static/js/user_mapping.js +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/static/js/user_mapping.js @@ -9,9 +9,9 @@ define('pgadmin.node.user_mapping', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'pgadmin.browser.collection', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, Backform) { // Extend the browser's node model class to create a Options model var OptionsModel = pgAdmin.Browser.Node.Model.extend({ diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/static/js/foreign_data_wrapper.js b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/static/js/foreign_data_wrapper.js index c5ee0b3c9..2fd5c915f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/static/js/foreign_data_wrapper.js +++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/static/js/foreign_data_wrapper.js @@ -9,9 +9,9 @@ define('pgadmin.node.foreign_data_wrapper', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'pgadmin.browser.collection', 'pgadmin.browser.server.privilege', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, Backform) { // Extend the browser's node model class to create a Options model var OptionsModel = pgBrowser.Node.Model.extend({ diff --git a/web/pgadmin/browser/server_groups/servers/databases/languages/static/js/language.js b/web/pgadmin/browser/server_groups/servers/databases/languages/static/js/language.js index 8c2ec0b79..0d7cea194 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/languages/static/js/language.js +++ b/web/pgadmin/browser/server_groups/servers/databases/languages/static/js/language.js @@ -9,9 +9,9 @@ define('pgadmin.node.language', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'pgadmin.browser.collection', 'pgadmin.browser.server.privilege', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, Backform) { // Extend the browser's collection class for languages collection if (!pgBrowser.Nodes['coll-language']) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/catalog_objects/columns/static/js/catalog_object_column.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/catalog_objects/columns/static/js/catalog_object_column.js index d01e9a2d5..1682b04d5 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/catalog_objects/columns/static/js/catalog_object_column.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/catalog_objects/columns/static/js/catalog_object_column.js @@ -8,9 +8,9 @@ ////////////////////////////////////////////////////////////// define('pgadmin.node.catalog_object_column', [ - 'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'sources/pgadmin', + 'sources/gettext', 'jquery', 'underscore', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.browser.collection', -], function(gettext, $, _, S, pgAdmin, pgBrowser) { +], function(gettext, $, _, pgAdmin, pgBrowser) { if (!pgBrowser.Nodes['coll-catalog_object_column']) { pgAdmin.Browser.Nodes['coll-catalog_object_column'] = diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/catalog_objects/static/js/catalog_object.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/catalog_objects/static/js/catalog_object.js index a21e2064f..efdafbb96 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/catalog_objects/static/js/catalog_object.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/catalog_objects/static/js/catalog_object.js @@ -8,9 +8,9 @@ ////////////////////////////////////////////////////////////// define('pgadmin.node.catalog_object', [ - 'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'sources/pgadmin', + 'sources/gettext', 'jquery', 'underscore', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.browser.collection', -], function(gettext, $, _, S, pgAdmin, pgBrowser) { +], function(gettext, $, _, pgAdmin, pgBrowser) { if (!pgBrowser.Nodes['coll-catalog_object']) { pgAdmin.Browser.Nodes['coll-catalog_object'] = diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/static/js/collation.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/static/js/collation.js index e3b603031..407f82f08 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/static/js/collation.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/collations/static/js/collation.js @@ -9,10 +9,10 @@ define('pgadmin.node.collation', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.node.schema.dir/child', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, schemaChild, +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, schemaChild, schemaChildTreeNode) { if (!pgBrowser.Nodes['coll-collation']) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/domain_constraints/static/js/domain_constraints.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/domain_constraints/static/js/domain_constraints.js index f916ae546..a7f0a91d6 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/domain_constraints/static/js/domain_constraints.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/domains/domain_constraints/static/js/domain_constraints.js @@ -10,9 +10,9 @@ // Domain Constraint Module: Collection and Node define('pgadmin.node.domain_constraints', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, schemaChildTreeNode) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, schemaChildTreeNode) { // Define Domain Constraint Collection Node if (!pgBrowser.Nodes['coll-domain_constraints']) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/static/js/fts_dictionary.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/static/js/fts_dictionary.js index c7b2a56b0..1fbdf8e2b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/static/js/fts_dictionary.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/fts_dictionaries/static/js/fts_dictionary.js @@ -9,11 +9,11 @@ define('pgadmin.node.fts_dictionary', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'pgadmin.node.schema.dir/child', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection', ], function( - gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform, schemaChild, + gettext, url_for, $, _, pgAdmin, pgBrowser, Backform, schemaChild, schemaChildTreeNode ) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/static/js/procedure.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/static/js/procedure.js index 7b26b2385..1dc8988f2 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/static/js/procedure.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/static/js/procedure.js @@ -10,11 +10,11 @@ /* Create and Register Procedure Collection and Node. */ define('pgadmin.node.procedure', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'alertify', + 'sources/pgadmin', 'pgadmin.browser', 'alertify', 'pgadmin.node.function', 'pgadmin.node.schema.dir/child', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection', 'pgadmin.browser.server.privilege', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, Function, +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, alertify, Function, schemaChild, schemaChildTreeNode) { if (!pgBrowser.Nodes['coll-procedure']) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/static/js/sequence.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/static/js/sequence.js index 170ba982c..abe88aaa3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/static/js/sequence.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/sequences/static/js/sequence.js @@ -9,11 +9,11 @@ define('pgadmin.node.sequence', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'pgadmin.node.schema.dir/child', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection', ], function( - gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform, schemaChild, + gettext, url_for, $, _, pgAdmin, pgBrowser, Backform, schemaChild, schemaChildTreeNode ) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/static/js/synonym.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/static/js/synonym.js index e42eca4c1..0104ce753 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/static/js/synonym.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/synonyms/static/js/synonym.js @@ -9,10 +9,10 @@ define('pgadmin.node.synonym', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'pgadmin.node.schema.dir/child', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, alertify, schemaChild, schemaChildTreeNode) { if (!pgBrowser.Nodes['coll-synonym']) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js index 2c30d1bcd..592f08a8c 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js @@ -9,12 +9,12 @@ define('pgadmin.node.compound_trigger', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'pgadmin.alertifyjs', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection', ], function( - gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform, alertify, + gettext, url_for, $, _, pgAdmin, pgBrowser, Backform, alertify, SchemaChildTreeNode ) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/static/js/check_constraint.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/static/js/check_constraint.js index 8258b3cb1..65a002e1f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/static/js/check_constraint.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/check_constraint/static/js/check_constraint.js @@ -10,9 +10,9 @@ // Check Constraint Module: Node define('pgadmin.node.check_constraint', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, schemaChildTreeNode) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, alertify, schemaChildTreeNode) { // Check Constraint Node if (!pgBrowser.Nodes['check_constraint']) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/static/js/primary_key.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/static/js/primary_key.js index 292118650..8ecd1dae0 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/static/js/primary_key.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/static/js/primary_key.js @@ -640,7 +640,7 @@ define('pgadmin.node.primary_key', [ if ((_.isUndefined(index) || String(index).replace(/^\s+|\s+$/g, '') == '') && (_.isUndefined(columns) || _.isNull(columns) || columns.length < 1)) { - var msg = gettext('Please specify columns for %(node)s', {node: gettext('Primary key')}); + var msg = gettext('Please specify columns for %s', gettext('Primary key')); this.errorModel.set('columns', msg); return msg; } diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/static/js/unique_constraint.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/static/js/unique_constraint.js index 41a524b1f..9dac22028 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/static/js/unique_constraint.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/index_constraint/static/js/unique_constraint.js @@ -629,7 +629,7 @@ define('pgadmin.node.unique_constraint', [ if ((_.isUndefined(index) || String(index).replace(/^\s+|\s+$/g, '') == '') && (_.isUndefined(columns) || _.isNull(columns) || columns.length < 1)) { - var msg = gettext('Please specify columns for %(node)s', {node: gettext('Unique constraint')}); + var msg = gettext('Please specify columns for %s', gettext('Unique constraint')); this.errorModel.set('columns', msg); return msg; } diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.js index 493deae06..a10b39768 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.js @@ -9,14 +9,14 @@ define([ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'pgadmin.backform', 'pgadmin.backgrid', - 'pgadmin.node.schema.dir/schema_child_tree_node', + 'pgadmin.node.schema.dir/schema_child_tree_node', 'sources/utils', 'pgadmin.browser.collection', 'pgadmin.browser.table.partition.utils', ], function( - gettext, url_for, $, _, S, pgAdmin, pgBrowser, Alertify, Backform, Backgrid, - SchemaChildTreeNode + gettext, url_for, $, _, pgAdmin, pgBrowser, Alertify, Backform, Backgrid, + SchemaChildTreeNode, pgadminUtils ) { if (!pgBrowser.Nodes['coll-partition']) { @@ -107,13 +107,13 @@ function( info = (_.isUndefined(item) || _.isNull(item)) ? info || {} : this.getTreeNodeHierarchy(item); - return S('table/%s/%s/%s/%s/%s/%s').sprintf( + return pgadminUtils.sprintf('table/%s/%s/%s/%s/%s/%s', encodeURIComponent(type), encodeURIComponent(info['server_group']._id), encodeURIComponent(info['server']._id), encodeURIComponent(info['database']._id), encodeURIComponent(info['partition'].schema_id), encodeURIComponent(info['partition']._id) - ).value(); + ); }, canDrop: SchemaChildTreeNode.isTreeItemOfChildOfSchema, canDropCascade: SchemaChildTreeNode.isTreeItemOfChildOfSchema, @@ -184,7 +184,7 @@ function( Alertify.confirm( gettext('Truncate Table'), - S(gettext('Are you sure you want to truncate table %s?')).sprintf(d.label).value(), + gettext('Are you sure you want to truncate table %s?', d.label), function (e) { if (e) { var data = d; @@ -229,7 +229,7 @@ function( Alertify.confirm( gettext('Reset statistics'), - S(gettext('Are you sure you want to reset the statistics for table "%s"?')).sprintf(d._label).value(), + gettext('Are you sure you want to reset the statistics for table "%s"?', d._label), function (e) { if (e) { var data = d; @@ -273,7 +273,7 @@ function( Alertify.confirm( gettext('Detach Partition'), - S(gettext('Are you sure you want to detach the partition %s?')).sprintf(d._label).value(), + gettext('Are you sure you want to detach the partition %s?', d._label), function (e) { if (e) { $.ajax({ diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js index f38f021e3..61cefdc15 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js @@ -10,7 +10,7 @@ define('pgadmin.node.table', [ 'pgadmin.tables.js/enable_disable_triggers', 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'pgadmin.backform', 'pgadmin.backgrid', 'pgadmin.tables.js/show_advanced_tab', 'pgadmin.node.schema.dir/child','pgadmin.node.schema.dir/schema_child_tree_node', @@ -18,7 +18,7 @@ define('pgadmin.node.table', [ 'pgadmin.node.constraints', 'pgadmin.browser.table.partition.utils', ], function( tableFunctions, - gettext, url_for, $, _, S, pgAdmin, pgBrowser, Alertify, Backform, Backgrid, + gettext, url_for, $, _, pgAdmin, pgBrowser, Alertify, Backform, Backgrid, ShowAdvancedTab, SchemaChild, SchemaChildTreeNode ) { @@ -165,7 +165,7 @@ define('pgadmin.node.table', [ Alertify.confirm( gettext('Truncate Table'), - S(gettext('Are you sure you want to truncate table %s?')).sprintf(d.label).value(), + gettext('Are you sure you want to truncate table %s?', d.label), function (e) { if (e) { var data = d; @@ -210,7 +210,7 @@ define('pgadmin.node.table', [ Alertify.confirm( gettext('Reset statistics'), - S(gettext('Are you sure you want to reset the statistics for table "%s"?')).sprintf(d._label).value(), + gettext('Are you sure you want to reset the statistics for table "%s"?', d._label), function (e) { if (e) { var data = d; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js index 1a01268ab..a38894f6d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js @@ -9,12 +9,12 @@ define('pgadmin.node.trigger', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'pgadmin.alertifyjs', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection', ], function( - gettext, url_for, $, _, S, pgAdmin, pgBrowser, Backform, alertify, + gettext, url_for, $, _, pgAdmin, pgBrowser, Backform, alertify, SchemaChildTreeNode ) { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.js index 21ef722cd..b34d845f8 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.js @@ -218,9 +218,9 @@ define('pgadmin.node.type', [ else if (this.get('is_tlength') && !_.isUndefined(this.get('tlength'))) { if (this.get('tlength') < this.get('min_val')) - errmsg = gettext('Length/precision should not be less than %(value)s', {value: this.get('min_val')}); + errmsg = gettext('Length/precision should not be less than %s', this.get('min_val')); if (this.get('tlength') > this.get('max_val') ) - errmsg = gettext('Length/precision should not be greater than %(value)s', {value: this.get('max_val')}); + errmsg = gettext('Length/precision should not be greater than %s', this.get('max_val')); // If we have any error set then throw it to user if(errmsg) { this.errorModel.set('tlength', errmsg); @@ -231,9 +231,9 @@ define('pgadmin.node.type', [ else if (this.get('is_precision') && !_.isUndefined(this.get('precision'))) { if (this.get('precision') < this.get('min_val')) - errmsg = gettext('Scale should not be less than %(value)s', {value: this.get('min_val')}); + errmsg = gettext('Scale should not be less than %s', this.get('min_val')); if (this.get('precision') > this.get('max_val')) - errmsg = gettext('Scale should not be greater than %(value)s', {value: this.get('max_val')}); + errmsg = gettext('Scale should not be greater than %s', this.get('max_val')); // If we have any error set then throw it to user if(errmsg) { this.errorModel.set('precision', errmsg); diff --git a/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js b/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js index 9bd932760..ab0df6939 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js +++ b/web/pgadmin/browser/server_groups/servers/databases/static/js/database.js @@ -9,10 +9,10 @@ define('pgadmin.node.database', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser.utils', + 'sources/utils', 'sources/pgadmin', 'pgadmin.browser.utils', 'pgadmin.alertifyjs', 'pgadmin.backform', 'pgadmin.browser.collection', 'pgadmin.browser.server.privilege', 'pgadmin.browser.server.variable', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Alertify, Backform) { +], function(gettext, url_for, $, _, pgadminUtils, pgAdmin, pgBrowser, Alertify, Backform) { if (!pgBrowser.Nodes['coll-database']) { pgBrowser.Nodes['coll-database'] = @@ -190,7 +190,7 @@ define('pgadmin.node.database', [ Alertify.confirm( gettext('Disconnect the database'), - S(gettext('Are you sure you want to disconnect the database - %s?')).sprintf(d.label).value(), + pgadminUtils.sprintf(gettext('Are you sure you want to disconnect the database - %s?'), d.label), function() { var data = d; $.ajax({ diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.js b/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.js index 8f6cd2858..f1af97e9d 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.js +++ b/web/pgadmin/browser/server_groups/servers/pgagent/schedules/static/js/pga_schedule.js @@ -9,10 +9,10 @@ define('pgadmin.node.pga_schedule', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'moment', 'pgadmin.browser', 'alertify', + 'sources/pgadmin', 'moment', 'pgadmin.browser', 'alertify', 'pgadmin.backform', 'pgadmin.backgrid', ], function( - gettext, url_for, $, _, S, pgAdmin, moment, pgBrowser, Alertify, Backform, + gettext, url_for, $, _, pgAdmin, moment, pgBrowser, Alertify, Backform, Backgrid ) { diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/static/js/pga_job.js b/web/pgadmin/browser/server_groups/servers/pgagent/static/js/pga_job.js index 8cc7a91a8..4f719043c 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/static/js/pga_job.js +++ b/web/pgadmin/browser/server_groups/servers/pgagent/static/js/pga_job.js @@ -9,9 +9,9 @@ define('pgadmin.node.pga_job', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'pgadmin.node.pga_jobstep', 'pgadmin.node.pga_schedule', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, alertify) { if (!pgBrowser.Nodes['coll-pga_job']) { pgBrowser.Nodes['coll-pga_job'] = diff --git a/web/pgadmin/browser/server_groups/servers/pgagent/steps/static/js/pga_jobstep.js b/web/pgadmin/browser/server_groups/servers/pgagent/steps/static/js/pga_jobstep.js index 74787bcbc..39ded81bd 100644 --- a/web/pgadmin/browser/server_groups/servers/pgagent/steps/static/js/pga_jobstep.js +++ b/web/pgadmin/browser/server_groups/servers/pgagent/steps/static/js/pga_jobstep.js @@ -9,9 +9,9 @@ define('pgadmin.node.pga_jobstep', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'alertify', 'backform', + 'sources/pgadmin', 'pgadmin.browser', 'alertify', 'backform', 'backgrid', 'pgadmin.backform', 'pgadmin.backgrid', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, Alertify, Backform, Backgrid) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, Alertify, Backform, Backgrid) { if (!pgBrowser.Nodes['coll-pga_jobstep']) { pgBrowser.Nodes['coll-pga_jobstep'] = @@ -190,11 +190,9 @@ define('pgadmin.node.pga_jobstep', [ id: 'jstconnstr', label: gettext('Connection string'), type: 'text', deps: ['jstkind', 'jstconntype'], disabled: function(m) { return !m.get('jstkind') || m.get('jstconntype'); - }, helpMessage: S( - gettext('Please specify the connection string for the remote database server. Each parameter setting is in the form keyword = value. Spaces around the equal sign are optional. To write an empty value, or a value containing spaces, surround it with single quotes, e.g., keyword = \'a value\'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.
For more information, please see the documentation on %s') - ).sprintf( + }, helpMessage: gettext('Please specify the connection string for the remote database server. Each parameter setting is in the form keyword = value. Spaces around the equal sign are optional. To write an empty value, or a value containing spaces, surround it with single quotes, e.g., keyword = \'a value\'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.
For more information, please see the documentation on %s', 'libpq connection strings' - ).value(), mode: ['create', 'edit'], + ), mode: ['create', 'edit'], },{ id: 'jstonerror', label: gettext('On error'), cell: 'select2', control: 'select2', options: [ @@ -273,9 +271,7 @@ define('pgadmin.node.pga_jobstep', [ break; } - msg = S( - gettext('Invalid parameter in the connection string - %s.') - ).sprintf(m[1]).value(); + msg = gettext('Invalid parameter in the connection string - %s.', m[1]); break; } } diff --git a/web/pgadmin/browser/server_groups/servers/roles/static/js/role.js b/web/pgadmin/browser/server_groups/servers/roles/static/js/role.js index 94aad6d1a..932532809 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/static/js/role.js +++ b/web/pgadmin/browser/server_groups/servers/roles/static/js/role.js @@ -9,10 +9,10 @@ define('pgadmin.node.role', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'alertify', + 'sources/pgadmin', 'pgadmin.browser', 'alertify', 'pgadmin.backform', 'select2', 'pgadmin.browser.collection', 'pgadmin.browser.node.ui', 'pgadmin.browser.server.variable', -], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, Backform) { +], function(gettext, url_for, $, _, pgAdmin, pgBrowser, alertify, Backform) { if (!pgBrowser.Nodes['coll-role']) { pgAdmin.Browser.Nodes['coll-role'] = diff --git a/web/pgadmin/browser/server_groups/servers/static/js/server.js b/web/pgadmin/browser/server_groups/servers/static/js/server.js index 294192434..99fed949e 100644 --- a/web/pgadmin/browser/server_groups/servers/static/js/server.js +++ b/web/pgadmin/browser/server_groups/servers/static/js/server.js @@ -9,13 +9,13 @@ define('pgadmin.node.server', [ 'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'backbone', - 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', + 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.server.supported_servers', 'pgadmin.user_management.current_user', 'pgadmin.alertifyjs', 'pgadmin.backform', 'sources/browser/server_groups/servers/model_validation', 'pgadmin.browser.server.privilege', ], function( - gettext, url_for, $, _, Backbone, S, pgAdmin, pgBrowser, + gettext, url_for, $, _, Backbone, pgAdmin, pgBrowser, supported_servers, current_user, Alertify, Backform, modelValidation ) { @@ -260,10 +260,7 @@ define('pgadmin.node.server', [ if (notify) { Alertify.confirm( gettext('Disconnect server'), - gettext( - 'Are you sure you want to disconnect the server %(server)s?', - {server: d.label} - ), + gettext('Are you sure you want to disconnect the server %s?', d.label), function() { disconnect(); }, function() { return true;} ); @@ -310,9 +307,7 @@ define('pgadmin.node.server', [ Alertify.confirm( gettext('Reload server configuration'), - S( - gettext('Are you sure you want to reload the server configuration on %s?') - ).sprintf(d.label).value(), + gettext('Are you sure you want to reload the server configuration on %s?', d.label), function() { $.ajax({ url: obj.generate_url(i, 'reload', d, true), @@ -643,9 +638,7 @@ define('pgadmin.node.server', [ Alertify.confirm( gettext('Clear saved password'), - S( - gettext('Are you sure you want to clear the saved password for server %s?') - ).sprintf(d.label).value(), + gettext('Are you sure you want to clear the saved password for server %s?', d.label), function() { $.ajax({ url: obj.generate_url(i, 'clear_saved_password', d, true), @@ -683,9 +676,7 @@ define('pgadmin.node.server', [ Alertify.confirm( gettext('Clear SSH Tunnel password'), - S( - gettext('Are you sure you want to clear the saved password of SSH Tunnel for server %s?') - ).sprintf(d.label).value(), + gettext('Are you sure you want to clear the saved password of SSH Tunnel for server %s?', d.label), function() { $.ajax({ url: obj.generate_url(i, 'clear_sshtunnel_password', d, true), diff --git a/web/pgadmin/browser/server_groups/servers/tablespaces/static/js/tablespace.js b/web/pgadmin/browser/server_groups/servers/tablespaces/static/js/tablespace.js index 82b7ba5a6..5ba3682ba 100644 --- a/web/pgadmin/browser/server_groups/servers/tablespaces/static/js/tablespace.js +++ b/web/pgadmin/browser/server_groups/servers/tablespaces/static/js/tablespace.js @@ -281,8 +281,8 @@ define('pgadmin.node.tablespace', [ Alertify.confirm( gettext('Move objects...'), gettext( - 'Are you sure you wish to move the objects from %(old_tablespace)s to %(new_tablespace)s?', - {old_tablespace: args.old_tblspc, new_tablespace: args.tblspc} + 'Are you sure you wish to move the objects from %s to %s?', + args.old_tblspc, args.tblspc ), function() { $.ajax({ diff --git a/web/pgadmin/browser/static/js/browser.js b/web/pgadmin/browser/static/js/browser.js index f492a1f53..7cedd1ca9 100644 --- a/web/pgadmin/browser/static/js/browser.js +++ b/web/pgadmin/browser/static/js/browser.js @@ -9,7 +9,7 @@ define('pgadmin.browser', [ 'sources/tree/tree', - 'sources/gettext', 'sources/url_for', 'require', 'jquery', 'underscore', 'underscore.string', + 'sources/gettext', 'sources/url_for', 'require', 'jquery', 'underscore', 'bootstrap', 'sources/pgadmin', 'pgadmin.alertifyjs', 'bundled_codemirror', 'sources/check_node_visibility', './toolbar', 'pgadmin.help', 'sources/csrf', 'sources/utils', 'sources/window', 'pgadmin.browser.utils', @@ -22,7 +22,7 @@ define('pgadmin.browser', [ 'pgadmin.browser.keyboard', 'sources/tree/pgadmin_tree_save_state', ], function( tree, - gettext, url_for, require, $, _, S, + gettext, url_for, require, $, _, Bootstrap, pgAdmin, Alertify, codemirror, checkNodeVisibility, toolBar, help, csrfToken, pgadminUtils, pgWindow ) { @@ -724,7 +724,7 @@ define('pgadmin.browser', [ if(!_.isUndefined(confirm_on_refresh_close) && confirm_on_refresh_close.value) { /* This message will not be displayed in Chrome, Firefox, Safari as they have disabled it*/ - let msg = S(gettext('Are you sure you want to close the %s browser?')).sprintf(pgBrowser.utils.app_name).value(); + let msg = gettext('Are you sure you want to close the %s browser?', pgBrowser.utils.app_name); e.originalEvent.returnValue = msg; return msg; } diff --git a/web/pgadmin/browser/static/js/collection.js b/web/pgadmin/browser/static/js/collection.js index c19b0f27f..1b4d19599 100644 --- a/web/pgadmin/browser/static/js/collection.js +++ b/web/pgadmin/browser/static/js/collection.js @@ -11,11 +11,11 @@ //import Mousetrap from 'mousetrap'; define([ - 'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'sources/pgadmin', + 'sources/gettext', 'jquery', 'underscore', 'sources/pgadmin', 'backbone', 'alertify', 'backform', 'backgrid', 'sources/browser/generate_url', 'pgadmin.backform', 'pgadmin.backgrid', 'pgadmin.browser.node', 'backgrid.select.all', -], function(gettext, $, _, S, pgAdmin, Backbone, Alertify, Backform, Backgrid, generateUrl) { +], function(gettext, $, _, pgAdmin, Backbone, Alertify, Backform, Backgrid, generateUrl) { var pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {}; @@ -315,8 +315,7 @@ define([ info: info, })) { Alertify.pgNotifier( - error, xhr, S(gettext('Error retrieving properties - %s')).sprintf( - error.message || that.label).value(), + error, xhr, gettext('Error retrieving properties - %s', error.message || that.label), function(msg) { if(msg === 'CRYPTKEY_SET') { getAjaxHook(); @@ -383,8 +382,8 @@ define([ }).fail(function(xhr, error) { Alertify.pgNotifier( error, xhr, - S(gettext('Error dropping %s')) - .sprintf(d._label.toLowerCase()).value(), function(msg) { + gettext('Error dropping %s', d._label.toLowerCase()), + function(msg) { if (msg == 'CRYPTKEY_SET') { onDrop(type, false); } else { diff --git a/web/pgadmin/browser/static/js/datamodel.js b/web/pgadmin/browser/static/js/datamodel.js index ac4f84aeb..ed6635472 100644 --- a/web/pgadmin/browser/static/js/datamodel.js +++ b/web/pgadmin/browser/static/js/datamodel.js @@ -8,8 +8,8 @@ ////////////////////////////////////////////////////////////// define([ - 'underscore', 'underscore.string', 'sources/pgadmin', 'jquery', 'backbone', -], function(_, S, pgAdmin, $, Backbone) { + 'underscore', 'sources/pgadmin', 'jquery', 'backbone', 'sources/utils', +], function(_, pgAdmin, $, Backbone, pgadminUtils) { var pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {}; pgBrowser.DataModel = Backbone.Model.extend({ @@ -777,23 +777,23 @@ define([ max_value = field.max; if (!_.isUndefined(min_value) && value < min_value) { - return S(pgAdmin.Browser.messages.MUST_GR_EQ).sprintf(label, min_value).value(); + return pgadminUtils.sprintf(pgAdmin.Browser.messages.MUST_GR_EQ, label, min_value); } else if (!_.isUndefined(max_value) && value > max_value) { - return S(pgAdmin.Browser.messages.MUST_LESS_EQ).sprintf(label, max_value).value(); + return pgadminUtils.sprintf(pgAdmin.Browser.messages.MUST_LESS_EQ, label, max_value); } return null; }, number_validate: function(value, field) { var pattern = new RegExp('^-?[0-9]+(\.?[0-9]*)?$'); if (!pattern.test(value)) { - return S(pgAdmin.Browser.messages.MUST_BE_NUM).sprintf(field.label).value(); + return pgadminUtils.sprintf(pgAdmin.Browser.messages.MUST_BE_NUM, field.label); } return this.check_min_max(value, field); }, integer_validate: function(value, field) { var pattern = new RegExp('^-?[0-9]*$'); if (!pattern.test(value)) { - return S(pgAdmin.Browser.messages.MUST_BE_INT).sprintf(field.label).value(); + return pgadminUtils.sprintf(pgAdmin.Browser.messages.MUST_BE_INT, field.label); } return this.check_min_max(value, field); }, diff --git a/web/pgadmin/browser/static/js/menu.js b/web/pgadmin/browser/static/js/menu.js index e76c9ed20..de95490bc 100644 --- a/web/pgadmin/browser/static/js/menu.js +++ b/web/pgadmin/browser/static/js/menu.js @@ -8,8 +8,8 @@ ////////////////////////////////////////////////////////////// define([ - 'underscore', 'underscore.string', 'sources/pgadmin', 'jquery', -], function(_, S, pgAdmin, $) { + 'underscore', 'sources/pgadmin', 'jquery', 'sources/utils', +], function(_, pgAdmin, $, pgadminUtils) { 'use strict'; pgAdmin.Browser = pgAdmin.Browser || {}; @@ -141,7 +141,7 @@ define([ cb.apply(o.module, [o.data, item]); } else { pgAdmin.Browser.report_error( - S('Developer Warning: Callback - "%s" not found!').sprintf(o.cb).value() + pgadminUtils.sprintf('Developer Warning: Callback - "%s" not found!', o.cb) ); } }, diff --git a/web/pgadmin/browser/static/js/node.js b/web/pgadmin/browser/static/js/node.js index 1a9d3c91e..00d5b44a1 100644 --- a/web/pgadmin/browser/static/js/node.js +++ b/web/pgadmin/browser/static/js/node.js @@ -9,13 +9,13 @@ define('pgadmin.browser.node', [ 'sources/tree/pgadmin_tree_node', 'sources/url_for', - 'sources/gettext', 'jquery', 'underscore', 'underscore.string', 'sources/pgadmin', + 'sources/gettext', 'jquery', 'underscore', 'sources/pgadmin', 'pgadmin.browser.menu', 'backbone', 'pgadmin.alertifyjs', 'pgadmin.browser.datamodel', 'backform', 'sources/browser/generate_url', 'pgadmin.help', 'sources/utils', 'pgadmin.browser.utils', 'pgadmin.backform', ], function( pgadminTreeNode, url_for, - gettext, $, _, S, pgAdmin, + gettext, $, _, pgAdmin, Menu, Backbone, Alertify, pgBrowser, Backform, generateUrl, help, commonUtils @@ -203,9 +203,7 @@ define('pgadmin.browser.node', [ // For each script type create menu _.each(self.hasScriptTypes, function(stype) { - var type_label = S( - gettext('%s Script') - ).sprintf(stype.toUpperCase()).value(); + var type_label = gettext('%s Script',stype.toUpperCase()); stype = stype.toLowerCase(); @@ -435,9 +433,8 @@ define('pgadmin.browser.node', [ )) { Alertify.pgNotifier( options.textStatus, xhr, - S( - gettext('Error retrieving properties - %s') - ).sprintf(options.errorThrown || _label).value(), function(msg) { + gettext('Error retrieving properties - %s', options.errorThrown || _label), + function(msg) { if(msg === 'CRYPTKEY_SET') { fetchAjaxHook(); } else { @@ -672,8 +669,7 @@ define('pgadmin.browser.node', [ if (!d) return; - l = S(gettext('Create - %s')).sprintf( - [this.label]).value(); + l = gettext('Create - %s', this.label); p = addPanel(); setTimeout(function() { @@ -696,7 +692,7 @@ define('pgadmin.browser.node', [ Alertify.confirm( gettext('Edit in progress?'), - S(msg).sprintf(o.label.toLowerCase(), d.label).value(), + commonUtils.sprintf(msg, o.label.toLowerCase(), d.label), function() { setTimeout(function() { o.showProperties(i, d, p, args.action); @@ -746,29 +742,26 @@ define('pgadmin.browser.node', [ var msg, title; if (input.url == 'delete') { - msg = S(gettext('Are you sure you want to drop %s "%s" and all the objects that depend on it?')) - .sprintf(obj.label.toLowerCase(), d.label).value(); - title = S(gettext('DROP CASCADE %s?')).sprintf(obj.label).value(); + msg = gettext('Are you sure you want to drop %s "%s" and all the objects that depend on it?', + obj.label.toLowerCase(), d.label); + title = gettext('DROP CASCADE %s?', obj.label); if (!(_.isFunction(obj.canDropCascade) ? obj.canDropCascade.apply(obj, [d, i]) : obj.canDropCascade)) { Alertify.error( - S(gettext('The %s "%s" cannot be dropped.')) - .sprintf(obj.label, d.label).value(), + gettext('The %s "%s" cannot be dropped.', obj.label, d.label), 10 ); return; } } else { - msg = S(gettext('Are you sure you want to drop %s "%s"?')) - .sprintf(obj.label.toLowerCase(), d.label).value(); - title = S(gettext('DROP %s?')).sprintf(obj.label).value(); + msg = gettext('Are you sure you want to drop %s "%s"?', obj.label.toLowerCase(), d.label); + title = gettext('DROP %s?', obj.label); if (!(_.isFunction(obj.canDrop) ? obj.canDrop.apply(obj, [d, i]) : obj.canDrop)) { Alertify.error( - S(gettext('The %s "%s" cannot be dropped.')) - .sprintf(obj.label, d.label).value(), + gettext('The %s "%s" cannot be dropped.', obj.label, d.label), 10 ); return; @@ -800,9 +793,7 @@ define('pgadmin.browser.node', [ } } pgBrowser.report_error( - S(gettext('Error dropping %s: "%s"')) - .sprintf(obj.label, objName) - .value(), msg); + gettext('Error dropping %s: "%s"', obj.label, objName), msg); }); }, null).show(); @@ -1659,7 +1650,7 @@ define('pgadmin.browser.node', [ )), function(o) { return o.priority; }), function(o) { - hash = S('%s/%s').sprintf(hash, encodeURI(o._id)).value(); + hash = commonUtils.sprintf('%s/%s', hash, encodeURI(o._id)); }); } diff --git a/web/pgadmin/browser/static/scss/_browser.scss b/web/pgadmin/browser/static/scss/_browser.scss index 76c230cd7..53de6f93a 100644 --- a/web/pgadmin/browser/static/scss/_browser.scss +++ b/web/pgadmin/browser/static/scss/_browser.scss @@ -9,7 +9,7 @@ kbd, pre, samp, .CodeMirror pre { - font-family: $font-family-editor; + font-family: $font-family-editor !important; } .sql-editor-grid-container { @@ -50,4 +50,4 @@ samp, .pg-toolbar-btn { margin-left: 0.25rem; border: $input-btn-border-width solid $btn-secondary-border; -} \ No newline at end of file +} diff --git a/web/pgadmin/browser/templates/browser/index.html b/web/pgadmin/browser/templates/browser/index.html index 8b3866c23..76e222f5e 100644 --- a/web/pgadmin/browser/templates/browser/index.html +++ b/web/pgadmin/browser/templates/browser/index.html @@ -11,7 +11,7 @@ {% block init_script %} try { require( -['sources/generated/app.bundle'], +['sources/generated/app.bundle', 'sources/generated/codemirror', 'sources/generated/browser_nodes'], function() { }, function() { diff --git a/web/pgadmin/dashboard/static/js/charting.js b/web/pgadmin/dashboard/static/js/charting.js index b60a02ad0..3b9a4c24a 100644 --- a/web/pgadmin/dashboard/static/js/charting.js +++ b/web/pgadmin/dashboard/static/js/charting.js @@ -7,11 +7,16 @@ // ////////////////////////////////////////////////////////////// -import Flotr from 'flotr2'; - export class Chart { constructor(container, options) { - this.chartApi = Flotr; + let self = this; + + require.ensure(['flotr2'], function(require) { + self.chartApi = require('flotr2'); + }, function(error){ + throw(error); + }, 'chart'); + /* Html Node where the graph goes */ this._container = container; /* Graph library options */ @@ -104,7 +109,9 @@ export class Chart { draw(dataset) { this._dataset = dataset; if(this._container) { - Flotr.draw(this._container, this._dataset, this._options); + if(this.chartApi) { + this.chartApi.draw(this._container, this._dataset, this._options); + } } } } diff --git a/web/pgadmin/misc/bgprocess/static/js/bgprocess.js b/web/pgadmin/misc/bgprocess/static/js/bgprocess.js index fa69d978e..01301cc64 100644 --- a/web/pgadmin/misc/bgprocess/static/js/bgprocess.js +++ b/web/pgadmin/misc/bgprocess/static/js/bgprocess.js @@ -9,9 +9,9 @@ define('misc.bgprocess', [ 'sources/pgadmin', 'sources/gettext', 'sources/url_for', 'underscore', - 'underscore.string', 'jquery', 'pgadmin.browser', 'alertify', + 'jquery', 'pgadmin.browser', 'alertify', ], function( - pgAdmin, gettext, url_for, _, S, $, pgBrowser, Alertify + pgAdmin, gettext, url_for, _, $, pgBrowser, Alertify ) { pgBrowser.BackgroundProcessObsorver = pgBrowser.BackgroundProcessObsorver || {}; @@ -226,7 +226,7 @@ define('misc.bgprocess', [ self.curr_status = self.success_status_tpl({status_text:gettext('Successfully completed.')}); } else { self.curr_status = self.failed_status_tpl( - {status_text:S(gettext('Failed (exit code: %s).')).sprintf(String(self.exit_code)).value()} + {status_text:gettext('Failed (exit code: %s).', String(self.exit_code))} ); } } diff --git a/web/pgadmin/misc/dependencies/static/js/dependencies.js b/web/pgadmin/misc/dependencies/static/js/dependencies.js index 59c3cbaf1..09dbd6913 100644 --- a/web/pgadmin/misc/dependencies/static/js/dependencies.js +++ b/web/pgadmin/misc/dependencies/static/js/dependencies.js @@ -8,9 +8,10 @@ ////////////////////////////////////////////////////////////// define('misc.dependencies', [ - 'sources/gettext', 'underscore', 'underscore.string', 'jquery', 'backbone', + 'sources/gettext', 'underscore', 'jquery', 'backbone', 'pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'pgadmin.backgrid', -], function(gettext, _, S, $, Backbone, pgAdmin, pgBrowser, Alertify, Backgrid) { + 'sources/utils', +], function(gettext, _, $, Backbone, pgAdmin, pgBrowser, Alertify, Backgrid, pgadminUtils) { if (pgBrowser.NodeDependencies) return pgBrowser.NodeDependencies; @@ -52,7 +53,7 @@ define('misc.dependencies', [ (node['node_image'] || ('icon-' + res.type))) : ('icon-' + res.type); } - res.type = S.titleize(res.type.replace(/_/g, ' '), true); + res.type = pgadminUtils.titleize(res.type.replace(/_/g, ' '), true); return res; }, }); @@ -216,8 +217,7 @@ define('misc.dependencies', [ })) { Alertify.pgNotifier( error, xhr, - S(gettext('Error retrieving data from the server: %s')).sprintf( - message || _label).value(), + gettext('Error retrieving data from the server: %s', message || _label), function(msg) { if(msg === 'CRYPTKEY_SET') { self.showDependencies(item, data, node); diff --git a/web/pgadmin/misc/dependents/static/js/dependents.js b/web/pgadmin/misc/dependents/static/js/dependents.js index 1b16305a7..ec00d6182 100644 --- a/web/pgadmin/misc/dependents/static/js/dependents.js +++ b/web/pgadmin/misc/dependents/static/js/dependents.js @@ -8,9 +8,10 @@ ////////////////////////////////////////////////////////////// define('misc.dependents', [ - 'sources/gettext', 'underscore', 'underscore.string', 'jquery', 'backbone', + 'sources/gettext', 'underscore', 'jquery', 'backbone', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'pgadmin.backgrid', -], function(gettext, _, S, $, Backbone, pgAdmin, pgBrowser, Alertify, Backgrid) { + 'sources/utils', +], function(gettext, _, $, Backbone, pgAdmin, pgBrowser, Alertify, Backgrid, pgadminUtils) { if (pgBrowser.NodeDependents) return pgBrowser.NodeDependents; @@ -52,7 +53,7 @@ define('misc.dependents', [ (node['node_image'] || ('icon-' + res.type))) : ('icon-' + res.type); } - res.type = S.titleize(res.type.replace(/_/g, ' '), true); + res.type = pgadminUtils.titleize(res.type.replace(/_/g, ' '), true); return res; }, }); @@ -222,8 +223,7 @@ define('misc.dependents', [ })) { Alertify.pgNotifier( error, xhr, - S(gettext('Error retrieving data from the server: %s')).sprintf( - message || _label).value(), + gettext('Error retrieving data from the server: %s', message || _label), function(msg) { if(msg === 'CRYPTKEY_SET') { self.showDependents(item, data, node); diff --git a/web/pgadmin/misc/file_manager/static/js/utility.js b/web/pgadmin/misc/file_manager/static/js/utility.js index 98cbc41cf..77acc5be7 100644 --- a/web/pgadmin/misc/file_manager/static/js/utility.js +++ b/web/pgadmin/misc/file_manager/static/js/utility.js @@ -18,10 +18,10 @@ * @copyright Authors */ define([ - 'jquery', 'underscore', 'underscore.string', 'pgadmin.alertifyjs', + 'jquery', 'underscore', 'pgadmin.alertifyjs', 'sources/gettext', 'sources/url_for', 'dropzone', 'sources/pgadmin', 'sources/csrf', 'tablesorter', -], function($, _, S, Alertify, gettext, url_for, Dropzone, pgAdmin, csrfToken) { +], function($, _, Alertify, gettext, url_for, Dropzone, pgAdmin, csrfToken) { /*--------------------------------------------------------- Define functions used for various operations @@ -1394,7 +1394,7 @@ define([ path = path.replace(/\//g, '\\'); } else { path = path.replace(/\\/g, '/'); - if (!S.startsWith(path, '/')) { + if (!path.startsWith('/')) { path = '/' + path; } } @@ -1554,7 +1554,7 @@ define([ $('.storage_dialog #uploader .input-path').val(path); } } else if (!(config.options.platform_type === 'win32') && - (path == '' || !S.startsWith(path, '/'))) { + (path == '' || !path.startsWith('/'))) { path = '/' + path; $('.storage_dialog #uploader .input-path').val(path); } else { diff --git a/web/pgadmin/misc/sql/static/js/sql.js b/web/pgadmin/misc/sql/static/js/sql.js index 47ca67e2e..a5167d365 100644 --- a/web/pgadmin/misc/sql/static/js/sql.js +++ b/web/pgadmin/misc/sql/static/js/sql.js @@ -8,9 +8,9 @@ ////////////////////////////////////////////////////////////// define('misc.sql', [ - 'sources/gettext', 'underscore', 'underscore.string', 'jquery', + 'sources/gettext', 'underscore', 'jquery', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', -], function(gettext, _, S, $, pgAdmin, pgBrowser, Alertify) { +], function(gettext, _, $, pgAdmin, pgBrowser, Alertify) { pgBrowser.ShowNodeSQL = pgBrowser.ShowNodeSQL || {}; @@ -151,9 +151,8 @@ define('misc.sql', [ })) { Alertify.pgNotifier( error, xhr, - S(gettext('Error retrieving the information - %s')).sprintf( - message || _label - ).value(), function(msg) { + gettext('Error retrieving the information - %s', message || _label), + function(msg) { if(msg === 'CRYPTKEY_SET') { ajaxHook(); } else { diff --git a/web/pgadmin/misc/static/explain/js/explain.js b/web/pgadmin/misc/static/explain/js/explain.js index a389126f3..de7789fa5 100644 --- a/web/pgadmin/misc/static/explain/js/explain.js +++ b/web/pgadmin/misc/static/explain/js/explain.js @@ -8,91 +8,95 @@ ////////////////////////////////////////////////////////////// define('pgadmin.misc.explain', [ - 'sources/url_for', 'jquery', 'underscore', 'underscore.string', - 'sources/pgadmin', 'backbone', 'snapsvg', 'explain_statistics', + 'sources/url_for', 'jquery', 'underscore', + 'sources/pgadmin', 'backbone', 'explain_statistics', 'svg_downloader', 'image_maper', 'sources/gettext', 'bootstrap', ], function( - url_for, $, _, S, pgAdmin, Backbone, Snap, StatisticsModel, + url_for, $, _, pgAdmin, Backbone, StatisticsModel, svgDownloader, imageMapper, gettext ) { pgAdmin = pgAdmin || window.pgAdmin || {}; svgDownloader = svgDownloader.default; + var Snap = null; - // Snap.svg plug-in to write multitext as image name - Snap.plugin(function(Snap, Element, Paper) { - Paper.prototype.multitext = function(x, y, txt, max_width, attributes) { - var svg = Snap(), - abc = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', - temp = svg.text(0, 0, abc); + var initSnap = function(snapModule) { + Snap = snapModule; + // Snap.svg plug-in to write multitext as image name + Snap.plugin(function(Snap, Element, Paper) { + Paper.prototype.multitext = function(x, y, txt, max_width, attributes) { + var svg = Snap(), + abc = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', + temp = svg.text(0, 0, abc); - temp.attr(attributes); + temp.attr(attributes); - /* - * Find letter width in pixels and - * index from where the text should be broken - */ - var letter_width = temp.getBBox().width / abc.length, - word_break_index = Math.round((max_width / letter_width)) - 1; - - svg.remove(); - - var words = txt.split(' '), - width_so_far = 0, - lines = [], - curr_line = '', /* - * Function to divide string into multiple lines - * and store them in an array if it size crosses - * the max-width boundary. + * Find letter width in pixels and + * index from where the text should be broken */ - splitTextInMultiLine = function(leading, so_far, line) { - var l = line.length, - res = []; + var letter_width = temp.getBBox().width / abc.length, + word_break_index = Math.round((max_width / letter_width)) - 1; - if (l == 0) - return res; + svg.remove(); - if (so_far && (so_far + (l * letter_width) > max_width)) { - res.push(leading); - res = res.concat(splitTextInMultiLine('', 0, line)); - } else if (so_far) { - res.push(leading + ' ' + line); - } else { - if (leading) + var words = txt.split(' '), + width_so_far = 0, + lines = [], + curr_line = '', + /* + * Function to divide string into multiple lines + * and store them in an array if it size crosses + * the max-width boundary. + */ + splitTextInMultiLine = function(leading, so_far, line) { + var l = line.length, + res = []; + + if (l == 0) + return res; + + if (so_far && (so_far + (l * letter_width) > max_width)) { res.push(leading); - if (line.length > word_break_index + 1) - res.push(line.slice(0, word_break_index) + '-'); - else - res.push(line); - res = res.concat(splitTextInMultiLine('', 0, line.slice(word_break_index))); + res = res.concat(splitTextInMultiLine('', 0, line)); + } else if (so_far) { + res.push(leading + ' ' + line); + } else { + if (leading) + res.push(leading); + if (line.length > word_break_index + 1) + res.push(line.slice(0, word_break_index) + '-'); + else + res.push(line); + res = res.concat(splitTextInMultiLine('', 0, line.slice(word_break_index))); + } + + return res; + }; + + for (var i = 0; i < words.length; i++) { + var tmpArr = splitTextInMultiLine( + curr_line, width_so_far, words[i] + ); + + if (curr_line) { + lines = lines.slice(0, lines.length - 1); } - - return res; - }; - - for (var i = 0; i < words.length; i++) { - var tmpArr = splitTextInMultiLine( - curr_line, width_so_far, words[i] - ); - - if (curr_line) { - lines = lines.slice(0, lines.length - 1); + lines = lines.concat(tmpArr); + curr_line = lines[lines.length - 1]; + width_so_far = (curr_line.length * letter_width); } - lines = lines.concat(tmpArr); - curr_line = lines[lines.length - 1]; - width_so_far = (curr_line.length * letter_width); - } - // Create multiple tspan for each string in array - var t = this.text(x, y, lines).attr(attributes); - t.selectAll('tspan:nth-child(n+2)').attr({ - dy: '1.2em', - x: x, - }); - return t; - }; - }); + // Create multiple tspan for each string in array + var t = this.text(x, y, lines).attr(attributes); + t.selectAll('tspan:nth-child(n+2)').attr({ + dy: '1.2em', + x: x, + }); + return t; + }; + }); + }; if (pgAdmin.Explain) return pgAdmin.Explain; @@ -639,7 +643,7 @@ define('pgadmin.misc.explain', [ ypos += yMargin; } - if (S.startsWith(node_type, '(slice')) + if (node_type.startsWith('(slice')) node_type = node_type.substring(0, 7); // Get the image information for current node @@ -1229,6 +1233,18 @@ define('pgadmin.misc.explain', [ _.extend(pgExplain, { // Assumption container is a jQuery object DrawJSONPlan: function(container, plan, isDownload, _ctx) { + let self = this; + require.ensure(['snapsvg'], function(require) { + var module = require('snapsvg'); + initSnap(module); + self.goForDraw(container, plan, isDownload, _ctx); + }, function(error){ + throw(error); + }, 'snapsvg'); + }, + + // Assumption container is a jQuery object + goForDraw: function(container, plan, isDownload, _ctx) { var ctx = _.extend(_ctx || {}, { totalNodes: 0, totalDownloadedNodes: 0, @@ -1262,11 +1278,11 @@ define('pgadmin.misc.explain', [ var curr_zoom_factor = 1.0; var zoomArea = $('
', { - class: 'pg-explain-zoom-area btn-group', + class: 'pg-explain-zoom-area btn-group btn-group-sm', role: 'group', }).appendTo(graphicalContainer), zoomInBtn = $('', { - class: 'btn btn-secondary pg-explain-zoom-btn badge', + class: 'btn btn-secondary pg-explain-zoom-btn', title: 'Zoom in', tabindex: 0, }).appendTo(zoomArea).append( @@ -1274,7 +1290,7 @@ define('pgadmin.misc.explain', [ class: 'fa fa-search-plus', })), zoomToNormal = $('', { - class: 'btn btn-secondary pg-explain-zoom-btn badge', + class: 'btn btn-secondary pg-explain-zoom-btn', title: 'Zoom to original', tabindex: 0, }).appendTo(zoomArea).append( @@ -1282,7 +1298,7 @@ define('pgadmin.misc.explain', [ class: 'fa fa-arrows-alt', })), zoomOutBtn = $('', { - class: 'btn btn-secondary pg-explain-zoom-btn badge', + class: 'btn btn-secondary pg-explain-zoom-btn', title: 'Zoom out', tabindex: 0, }).appendTo(zoomArea).append( @@ -1291,12 +1307,12 @@ define('pgadmin.misc.explain', [ })); var downloadArea = $('
', { - class: 'pg-explain-download-area btn-group', + class: 'pg-explain-download-area btn-group btn-group-sm', role: 'group', }).appendTo(graphicalContainer), downloadBtn = $('', { id: 'btn-explain-download', - class: 'btn btn-secondary pg-explain-download-btn badge', + class: 'btn btn-secondary pg-explain-download-btn', title: 'Download', tabindex: 0, disabled: function() { @@ -1318,13 +1334,13 @@ define('pgadmin.misc.explain', [ })); var statsArea = $('
', { - class: 'pg-explain-stats-area btn-group d-none', + class: 'pg-explain-stats-area btn-group btn-group-sm d-none', role: 'group', }).appendTo(graphicalContainer); $('', { id: 'btn-explain-stats', - class: 'btn btn-secondary pg-explain-stats-btn badge', + class: 'btn btn-secondary pg-explain-stats-btn', title: 'Statistics', tabindex: 0, }).appendTo(statsArea).append( diff --git a/web/pgadmin/misc/static/explain/js/image_maper.js b/web/pgadmin/misc/static/explain/js/image_maper.js index 3a66653eb..babd2a63c 100644 --- a/web/pgadmin/misc/static/explain/js/image_maper.js +++ b/web/pgadmin/misc/static/explain/js/image_maper.js @@ -7,7 +7,6 @@ // ////////////////////////////////////////////////////////////// -import S from 'underscore.string'; /* * A map which is used to fetch the image to be drawn and * text which will appear below it @@ -223,7 +222,7 @@ let imageMapper = { command = data['Command']; if (strategy == 'Hashed') { - if (S.startsWith(command, 'Intersect')) { + if (command.startsWith('Intersect')) { if (command == 'Intersect All') return { 'image': 'ex_hash_setop_intersect_all.svg', @@ -233,7 +232,7 @@ let imageMapper = { 'image': 'ex_hash_setop_intersect.svg', 'image_text': 'Hashed Intersect', }; - } else if (S.startsWith(command, 'Except')) { + } else if (command.startsWith('Except')) { if (command == 'Except All') return { 'image': 'ex_hash_setop_except_all.svg', diff --git a/web/pgadmin/misc/static/explain/scss/_explain.scss b/web/pgadmin/misc/static/explain/scss/_explain.scss index 4987ad10d..d812516cb 100644 --- a/web/pgadmin/misc/static/explain/scss/_explain.scss +++ b/web/pgadmin/misc/static/explain/scss/_explain.scss @@ -25,7 +25,7 @@ $explain-fg-color-4: #FFFFFF; opacity: 0.5; &.pg-explain-download-area.btn-group { - left: 85px; + left: 90px; } &.pg-explain-stats-area { diff --git a/web/pgadmin/misc/statistics/static/js/statistics.js b/web/pgadmin/misc/statistics/static/js/statistics.js index d4c062d45..101ebd5f3 100644 --- a/web/pgadmin/misc/statistics/static/js/statistics.js +++ b/web/pgadmin/misc/statistics/static/js/statistics.js @@ -8,11 +8,11 @@ ////////////////////////////////////////////////////////////// define('misc.statistics', [ - 'sources/gettext', 'underscore', 'underscore.string', 'jquery', 'backbone', + 'sources/gettext', 'underscore', 'jquery', 'backbone', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backgrid', 'alertify', 'sources/size_prettify', 'sources/misc/statistics/statistics', ], function( - gettext, _, S, $, Backbone, pgAdmin, pgBrowser, Backgrid, Alertify, sizePrettify, + gettext, _, $, Backbone, pgAdmin, pgBrowser, Backgrid, Alertify, sizePrettify, statisticsHelper ) { @@ -315,9 +315,8 @@ define('misc.statistics', [ })) { Alertify.pgNotifier( error, xhr, - S(gettext('Error retrieving the information - %s')).sprintf( - message || _label - ).value(), function(msg) { + gettext('Error retrieving the information - %s', message || _label), + function(msg) { if(msg === 'CRYPTKEY_SET') { ajaxHook(); } else { diff --git a/web/pgadmin/static/bundle/app.js b/web/pgadmin/static/bundle/app.js index 68f8a3b10..71034c93e 100644 --- a/web/pgadmin/static/bundle/app.js +++ b/web/pgadmin/static/bundle/app.js @@ -8,8 +8,8 @@ ////////////////////////////////////////////////////////////// define('app', [ - 'babel-polyfill', 'sources/pgadmin', 'bundled_browser', 'pgadmin.datagrid', -], function(babelPolyFill, pgAdmin) { + 'sources/pgadmin', 'bundled_browser', 'pgadmin.datagrid', +], function(pgAdmin) { var initializeModules = function(Object) { for (var key in Object) { var module = Object[key]; diff --git a/web/pgadmin/static/bundle/slickgrid.js b/web/pgadmin/static/bundle/slickgrid.js index 34fe1413c..731b42026 100644 --- a/web/pgadmin/static/bundle/slickgrid.js +++ b/web/pgadmin/static/bundle/slickgrid.js @@ -20,4 +20,3 @@ import 'slickgrid/plugins/slick.cellrangeselector'; import 'sources/slickgrid/custom_header_buttons'; export default window.Slick; - diff --git a/web/pgadmin/static/css/alertify.noanimation.css b/web/pgadmin/static/css/alertify.noanimation.css deleted file mode 100644 index 6d7589a9d..000000000 --- a/web/pgadmin/static/css/alertify.noanimation.css +++ /dev/null @@ -1,41 +0,0 @@ -.alertify .ajs-dimmer, -.alertify .ajs-modal, -.alertify-notifier, -.alertify-notifier .ajs-message.ajs-visible, -.alertify-notifier .ajs-message, -.alertify-notifier.ajs-center .ajs-message.ajs-visible, -.alertify-notifier.ajs-center .ajs-message -{ - -moz-transition: none; - -webkit-transition: none; - -o-transition: none; - transition: none; - -webkit-transform: none; - transform: none; -} - -.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-zoomIn; - animation-name: ajs-zoomIn; -} -.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-zoomOut; - animation-name: ajs-zoomOut; -} - -@-webkit-keyframes ajs-zoomIn { - -webkit-transform: none; - transform: none; -} -@keyframes ajs-zoomIn { - -webkit-transform: none; - transform: none; -} -@-webkit-keyframes ajs-zoomOut { - -webkit-transform: none; - transform: none; -} -@keyframes ajs-zoomeOut { - -webkit-transform: none; - transform: none; -} diff --git a/web/pgadmin/static/css/pgadmin.css b/web/pgadmin/static/css/pgadmin.css index 676e933c3..cca69229d 100644 --- a/web/pgadmin/static/css/pgadmin.css +++ b/web/pgadmin/static/css/pgadmin.css @@ -1,39 +1,3 @@ -@font-face { - font-family: "Open Sans"; - src: url("~top/static/fonts/OpenSans-Regular.ttf") format("truetype"); - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; -} - -@font-face { - font-family: "Open Sans Semibold"; - src: url("~top/static/fonts/OpenSans-SemiBold.ttf") format("truetype"); - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; -} - -@font-face { - font-family: "Open Sans Bold"; - src: url("~top/static/fonts/OpenSans-Bold.ttf") format("truetype"); - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; -} - @font-face { font-family: "Source Code Pro"; src: url("~top/static/fonts/SourceCodePro-Regular.ttf") format("truetype"); diff --git a/web/pgadmin/static/css/style.css b/web/pgadmin/static/css/style.css index e7293d47d..26b8dfc48 100644 --- a/web/pgadmin/static/css/style.css +++ b/web/pgadmin/static/css/style.css @@ -6,7 +6,6 @@ @import '~bootstrap4-toggle/css/bootstrap4-toggle.css'; @import '~backgrid-select-all/backgrid-select-all.css'; @import '~backgrid-filter/backgrid-filter.css'; -@import '~backgrid-sizeable-columns/backgrid-sizeable-columns.css'; @import '~slickgrid/css/select2.css'; @import '~jquery-contextmenu/dist/jquery.contextMenu.css'; @import '~webcabin-docker/Build/wcDocker.css'; @@ -21,3 +20,5 @@ @import '~slickgrid/slick.grid.css'; @import '~slickgrid/slick-default-theme.css'; @import '~slickgrid/css/smoothness/jquery-ui-1.11.3.custom.css'; + +@import '../vendor/backgrid/backgrid.css'; diff --git a/web/pgadmin/static/js/alertify/dialog.js b/web/pgadmin/static/js/alertify/dialog.js index fa1100b19..e67c3dbea 100644 --- a/web/pgadmin/static/js/alertify/dialog.js +++ b/web/pgadmin/static/js/alertify/dialog.js @@ -8,7 +8,7 @@ ////////////////////////////////////////////////////////////// import gettext from '../gettext'; -import {sprintf} from 'sprintf-js'; +import {sprintf} from 'sources/utils'; import {DialogFactory} from './dialog_factory'; import Backform from '../backform.pgadmin'; import {getTreeNodeHierarchyFromIdentifier} from '../tree/pgadmin_tree_node'; diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js index 559a4dd5b..4568f0f54 100644 --- a/web/pgadmin/static/js/backform.pgadmin.js +++ b/web/pgadmin/static/js/backform.pgadmin.js @@ -8,11 +8,11 @@ ////////////////////////////////////////////////////////////// define([ - 'sources/gettext', 'underscore', 'underscore.string', 'jquery', + 'sources/gettext', 'underscore', 'jquery', 'backbone', 'backform', 'backgrid', 'codemirror', 'sources/sqleditor_utils', 'sources/keyboard_shortcuts', 'sources/window', 'spectrum', 'pgadmin.backgrid', 'select2', 'bootstrap.toggle', -], function(gettext, _, S, $, Backbone, Backform, Backgrid, CodeMirror, +], function(gettext, _, $, Backbone, Backform, Backgrid, CodeMirror, SqlEditorUtils, keyboardShortcuts, pgWindow) { var pgAdmin = (window.pgAdmin = window.pgAdmin || {}), diff --git a/web/pgadmin/static/js/check_node_visibility.js b/web/pgadmin/static/js/check_node_visibility.js index 4253a35e1..c172a6e8c 100644 --- a/web/pgadmin/static/js/check_node_visibility.js +++ b/web/pgadmin/static/js/check_node_visibility.js @@ -7,8 +7,8 @@ // ////////////////////////////////////////////////////////////////////////// -define(['jquery', 'underscore', 'underscore.string'], - function ($, _, S) { +define(['jquery', 'underscore'], + function ($, _) { var check_node_visibility = function (pgBrowser, node_type) { if(_.isUndefined(node_type) || _.isNull(node_type)) { @@ -18,7 +18,7 @@ define(['jquery', 'underscore', 'underscore.string'], // Target actual node instead of collection. // If node is disabled then there is no meaning of // adding collection node menu - if(S.startsWith(node_type, 'coll-')) { + if(node_type.startsWith('coll-')) { node_type = node_type.replace('coll-', ''); } diff --git a/web/pgadmin/static/js/gettext.js b/web/pgadmin/static/js/gettext.js index e3df95629..b75535fe2 100644 --- a/web/pgadmin/static/js/gettext.js +++ b/web/pgadmin/static/js/gettext.js @@ -12,30 +12,37 @@ define(['translations'], function (translations) { /*** * This method behaves as a drop-in replacement for flask translation rendering. * It uses the same translation file under the hood and uses flask to determine the language. - * - * ex. translate("some %(adjective)s text", {adjective: "cool"}) + * It is slightly tweaked to work like sprintf + * ex. translate("some %s text", "cool") * * @param {String} text - * @param {Object} substitutions */ - return function gettext(text, substitutions) { + return function gettext(text) { var rawTranslation = translations[text] ? translations[text] : text; - // captures things of the form %(substitutionName)s - var substitutionGroupsRegExp = /([^%]*)%\(([^\)]+)\)s(.*)/; - var matchFound; + if(arguments.length == 1) { + return rawTranslation; + } - var interpolated = rawTranslation; - do { - matchFound = false; - interpolated = interpolated.replace(substitutionGroupsRegExp, function (_, textBeginning, substitutionName, textEnd) { - matchFound = true; - return textBeginning + substitutions[substitutionName] + textEnd; - }); - } while (matchFound); - - return interpolated; + try { + let replaceArgs = arguments; + return rawTranslation.split('%s') + .map(function(w, i) { + if(i > 0) { + if(i < replaceArgs.length) { + return [replaceArgs[i], w].join(''); + } else { + return ['%s', w].join(''); + } + } else { + return w; + } + }) + .join(''); + } catch(e) { + console.error(e); + return rawTranslation; + } }; - -}); \ No newline at end of file +}); diff --git a/web/pgadmin/static/js/keyboard_shortcuts.js b/web/pgadmin/static/js/keyboard_shortcuts.js index b0c92634c..695900510 100644 --- a/web/pgadmin/static/js/keyboard_shortcuts.js +++ b/web/pgadmin/static/js/keyboard_shortcuts.js @@ -80,20 +80,14 @@ function shortcut_title(title, shortcut) { } text_representation += shortcut_key(shortcut); - return gettext('%(title)s (%(text_representation)s)',{ - 'title': title, - 'text_representation': text_representation, - }); + return `${title} (${text_representation})`; } /* Returns the key char of shortcut * shortcut object is browser.get_preference().value */ function shortcut_accesskey_title(title, shortcut) { - return gettext('%(title)s (accesskey + %(key)s)',{ - 'title': title, - 'key': shortcut_key(shortcut), - }); + return `${title} (${gettext('accesskey')} + ${shortcut_key(shortcut)})`; } diff --git a/web/pgadmin/static/js/modify_animation.js b/web/pgadmin/static/js/modify_animation.js index 8852ecd06..f0e4494d5 100644 --- a/web/pgadmin/static/js/modify_animation.js +++ b/web/pgadmin/static/js/modify_animation.js @@ -53,18 +53,14 @@ function modifyAlertifyAnimation(pgBrowser) { ).value; if(enableAcitreeAnimation) { - $(document).find('link#alertify-no-animation') - .attr('disabled', 'disabled'); + $(document).find('body').removeClass('alertify-no-animation'); _.each(document.getElementsByTagName('iframe'), function(frame) { - $(frame.contentDocument).find('link#alertify-no-animation') - .attr('disabled', 'disabled'); + $(frame.contentDocument).find('body').removeClass('alertify-no-animation'); }); } else { - $(document).find('link#alertify-no-animation') - .removeAttr('disabled', 'disabled'); + $(document).find('body').addClass('alertify-no-animation'); _.each(document.getElementsByTagName('iframe'), function(frame) { - $(frame.contentDocument).find('link#alertify-no-animation') - .removeAttr('disabled', 'disabled'); + $(frame.contentDocument).find('body').addClass('alertify-no-animation'); }); } } diff --git a/web/pgadmin/static/js/sqleditor/call_render_after_poll.js b/web/pgadmin/static/js/sqleditor/call_render_after_poll.js index ec18b10b5..c3d21730c 100644 --- a/web/pgadmin/static/js/sqleditor/call_render_after_poll.js +++ b/web/pgadmin/static/js/sqleditor/call_render_after_poll.js @@ -9,7 +9,7 @@ import {calculateQueryRunTime} from './calculate_query_run_time'; import gettext from '../gettext'; -import {sprintf} from 'sprintf-js'; +import {sprintf} from 'sources/utils'; function hasResultsToDisplay(res) { return res.colinfo != null; diff --git a/web/pgadmin/static/js/sqleditor/geometry_viewer.js b/web/pgadmin/static/js/sqleditor/geometry_viewer.js index bd07d070b..559f66f35 100644 --- a/web/pgadmin/static/js/sqleditor/geometry_viewer.js +++ b/web/pgadmin/static/js/sqleditor/geometry_viewer.js @@ -8,16 +8,17 @@ ////////////////////////////////////////////////////////////// import gettext from 'sources/gettext'; -import {Geometry} from 'wkx'; import {Buffer} from 'buffer'; -import L from 'leaflet'; import $ from 'jquery'; +var L = null; +var Geometry = null; let GeometryViewer = { panel_closed: true, - render_geometries: function (handler, items, columns, columnIndex) { + go_for_render: function(handler, items, columns, columnIndex) { let self = this; + if (!self.map_component) { self.map_component = initMapComponent(); } @@ -53,10 +54,21 @@ let GeometryViewer = { handler.gridView.geometry_viewer.focus(); self.map_component.clearMap(); - let dataObj = parseData(items, columns, columnIndex); + let dataObj = parseData(items, columns, columnIndex, Geometry); self.map_component.renderMap(dataObj); }, + render_geometries: function (handler, items, columns, columnIndex) { + let self = this; + require.ensure(['leaflet', 'wkx'], function(require) { + L = require('leaflet'); + Geometry = require('wkx').Geometry; + self.go_for_render(handler, items, columns, columnIndex); + }, function(error){ + throw(error); + }, 'geometry'); + }, + add_header_button: function (columnDefinition) { columnDefinition.header = { buttons: [ @@ -275,7 +287,7 @@ function initMapComponent() { }; } -function parseData(items, columns, columnIndex) { +function parseData(items, columns, columnIndex, GeometryLib) { const maxRenderByteLength = 20 * 1024 * 1024; //render geometry data up to 20MB const maxRenderGeometries = 100000; // render geometries up to 100000 let field = columns[columnIndex].field; @@ -304,7 +316,7 @@ function parseData(items, columns, columnIndex) { try { let value = item[field]; let buffer = Buffer.from(value, 'hex'); - let geometry = Geometry.parse(buffer); + let geometry = GeometryLib.parse(buffer); if (geometry.hasZ) { geometries3D.push(geometry); } else { diff --git a/web/pgadmin/static/js/utils.js b/web/pgadmin/static/js/utils.js index 1f15858d8..3833cdf3c 100644 --- a/web/pgadmin/static/js/utils.js +++ b/web/pgadmin/static/js/utils.js @@ -205,3 +205,31 @@ export function getRandomInt(min, max) { max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; } + +export function titleize(i_str) { + return i_str.split(' ') + .map(w => w[0].toUpperCase() + w.substr(1).toLowerCase()) + .join(' '); +} + +export function sprintf(i_str) { + try { + let replaceArgs = arguments; + return i_str.split('%s') + .map(function(w, i) { + if(i > 0) { + if(i < replaceArgs.length) { + return [replaceArgs[i], w].join(''); + } else { + return ['%s', w].join(''); + } + } else { + return w; + } + }) + .join(''); + } catch(e) { + console.error(e); + return i_str; + } +} diff --git a/web/pgadmin/static/scss/_alertify.overrides.scss b/web/pgadmin/static/scss/_alertify.overrides.scss index d43becd54..0c579dd6a 100644 --- a/web/pgadmin/static/scss/_alertify.overrides.scss +++ b/web/pgadmin/static/scss/_alertify.overrides.scss @@ -234,3 +234,39 @@ .alertify .ajs-dialog.ajs-capture:before { display: none; } + +.alertify-no-animation { + .alertify .ajs-dimmer, + .alertify .ajs-modal, + .alertify-notifier, + .alertify-notifier .ajs-message.ajs-visible, + .alertify-notifier .ajs-message, + .alertify-notifier.ajs-center .ajs-message.ajs-visible, + .alertify-notifier.ajs-center .ajs-message + { + -moz-transition: none; + -webkit-transition: none; + -o-transition: none; + transition: none; + -webkit-transform: none; + transform: none; + } + + .alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-noanimate; + animation-name: ajs-noanimate; + } + .alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-noanimate; + animation-name: ajs-noanimate; + } + + @-webkit-keyframes ajs-noanimate { + -webkit-transform: none; + transform: none; + } + @keyframes ajs-noanimate { + -webkit-transform: none; + transform: none; + } +} diff --git a/web/pgadmin/static/scss/_codemirror.overrides.scss b/web/pgadmin/static/scss/_codemirror.overrides.scss index 1d5d689ba..27e028b75 100644 --- a/web/pgadmin/static/scss/_codemirror.overrides.scss +++ b/web/pgadmin/static/scss/_codemirror.overrides.scss @@ -138,7 +138,7 @@ background: $sql-hint-bg; font-size: 90%; - font-family: $font-family-editor; + font-family: $font-family-editor !important; max-height: 20em; overflow-y: auto; diff --git a/web/pgadmin/static/scss/_pgadmin.style.scss b/web/pgadmin/static/scss/_pgadmin.style.scss index ec9cb47fa..7a6768b8d 100644 --- a/web/pgadmin/static/scss/_pgadmin.style.scss +++ b/web/pgadmin/static/scss/_pgadmin.style.scss @@ -372,21 +372,6 @@ border-radius: $card-border-radius; } } - -.obj_properties { - .btn-group { - .btn { - @extend .rounded; - :not(:first-child) { - @extend .rounded-left; - } - :not(:last-child) { - @extend .rounded-right; - } - } - } -} - .obj_properties .badge .caret { display: inline-block; margin-left: 2px; diff --git a/web/pgadmin/static/vendor/backgrid/backgrid.css b/web/pgadmin/static/vendor/backgrid/backgrid.css index c4298e220..a8cef8c3d 100644 --- a/web/pgadmin/static/vendor/backgrid/backgrid.css +++ b/web/pgadmin/static/vendor/backgrid/backgrid.css @@ -1,8 +1,8 @@ /* backgrid - http://github.com/wyuenho/backgrid + http://github.com/cloudflare/backgrid - Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors + Copyright (c) 2013-present Cloudflare, Inc. and contributors Licensed under the MIT license. */ @@ -233,4 +233,4 @@ .backgrid .select-cell.editor optgroup::-o-focus-inner, .backgrid .select-cell.editor option::-o-focus-inner { border: 0; -} \ No newline at end of file +} diff --git a/web/pgadmin/static/vendor/backgrid/backgrid.js b/web/pgadmin/static/vendor/backgrid/backgrid.js index 963ddca25..b250ebeee 100644 --- a/web/pgadmin/static/vendor/backgrid/backgrid.js +++ b/web/pgadmin/static/vendor/backgrid/backgrid.js @@ -1,39 +1,33 @@ -///////////////////////////////////////////////////////////// -// -// pgAdmin 4 - PostgreSQL Tools -// -// Copyright (C) 2013 - 2019, The pgAdmin Development Team -// This software is released under the PostgreSQL Licence -// -////////////////////////////////////////////////////////////// - /*! - backgrid - http://github.com/wyuenho/backgrid + backgrid 0.3.8 + http://github.com/cloudflare/backgrid - Copyright (c) 2014 Jimmy Yuen Ho Wong and contributors + Copyright (c) 2017 Cloudflare, Inc. and contributors Licensed under the MIT license. */ -(function (factory) { +(function (root, factory) { - // CommonJS - if (typeof exports == "object") { - module.exports = factory(module.exports, - require("underscore"), - require("backbone")); - } - // Browser - else factory(this, this._, this.Backbone); -}(function (root, _, Backbone) { + if (typeof define === "function" && define.amd) { + // AMD (+ global for extensions) + define(["underscore", "backbone"], function (_, Backbone) { + return (root.Backgrid = factory(_, Backbone)); + }); + } else if (typeof exports === "object") { + // CommonJS + module.exports = factory(require("underscore"), require("backbone")); + } else { + // Browser + root.Backgrid = factory(root._, root.Backbone); + }}(this, function (_, Backbone) { "use strict"; /* backgrid - http://github.com/wyuenho/backgrid + http://github.com/cloudflare/backgrid - Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors + Copyright (c) 2013-present Cloudflare, Inc. and contributors Licensed under the MIT license. */ @@ -72,7 +66,7 @@ function lpad(str, length, padstr) { var $ = Backbone.$; -var Backgrid = root.Backgrid = { +var Backgrid = { Extension: {}, @@ -180,9 +174,9 @@ _.extend(Command.prototype, { /* backgrid - http://github.com/wyuenho/backgrid + http://github.com/cloudflare/backgrid - Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors + Copyright (c) 2013-present Cloudflare, Inc. and contributors Licensed under the MIT license. */ @@ -285,7 +279,7 @@ _.extend(NumberFormatter.prototype, { fromRaw: function (number, model) { if (_.isNull(number) || _.isUndefined(number)) return ''; - number = number.toFixed(~~this.decimals); + number = parseFloat(number).toFixed(~~this.decimals); var parts = number.split('.'); var integerPart = parts[0]; @@ -625,9 +619,9 @@ _.extend(SelectFormatter.prototype, { /* backgrid - http://github.com/wyuenho/backgrid + http://github.com/cloudflare/backgrid - Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors + Copyright (c) 2013-present Cloudflare, Inc. and contributors Licensed under the MIT license. */ @@ -873,9 +867,16 @@ var Cell = Backgrid.Cell = Backbone.View.extend({ } }); - if (Backgrid.callByNeed(column.editable(), column, model)) $el.addClass("editable"); - if (Backgrid.callByNeed(column.sortable(), column, model)) $el.addClass("sortable"); - if (Backgrid.callByNeed(column.renderable(), column, model)) $el.addClass("renderable"); + this.updateStateClassesMaybe(); + }, + + updateStateClassesMaybe: function () { + var model = this.model; + var column = this.column; + var $el = this.$el; + $el.toggleClass("editable", Backgrid.callByNeed(column.editable(), column, model)); + $el.toggleClass("sortable", Backgrid.callByNeed(column.sortable(), column, model)); + $el.toggleClass("renderable", Backgrid.callByNeed(column.renderable(), column, model)); }, /** @@ -883,9 +884,13 @@ var Cell = Backgrid.Cell = Backbone.View.extend({ model's raw value for this cell's column. */ render: function () { - this.$el.empty(); + var $el = this.$el; + $el.empty(); var model = this.model; - this.$el.text(this.formatter.fromRaw(model.get(this.column.get("name")), model)); + var columnName = this.column.get("name"); + $el.text(this.formatter.fromRaw(model.get(columnName), model)); + $el.addClass(columnName); + this.updateStateClassesMaybe(); this.delegateEvents(); return this; }, @@ -1408,7 +1413,15 @@ var SelectCellEditor = Backgrid.SelectCellEditor = CellEditor.extend({ }, /** @property {function(Object, ?Object=): string} template */ - template: _.template('', null, {variable: null}), + template: _.template( + '', + null, + { + variable : null, + evaluate : /<%([\s\S]+?)%>/g, + interpolate : /<%=([\s\S]+?)%>/g, + escape : /<%-([\s\S]+?)%>/g + }), setOptionValues: function (optionValues) { this.optionValues = optionValues; @@ -1651,9 +1664,9 @@ var SelectCell = Backgrid.SelectCell = Cell.extend({ /* backgrid - http://github.com/wyuenho/backgrid + http://github.com/cloudflare/backgrid - Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors + Copyright (c) 2013-present Cloudflare, Inc. and contributors Licensed under the MIT license. */ @@ -1706,19 +1719,20 @@ var Column = Backgrid.Column = Backbone.Model.extend({ this column is sortable. If the value is a string, a method will the same name will be looked up from the column instance to determine whether the column should be sortable. The method's signature must be `function - (Backgrid.Column, Backbone.Model): boolean`. + (Backbone.Model): boolean`. The function's context is the column instance. @cfg {boolean|string|function(): boolean} [defaults.editable=true] Whether this column is editable. If the value is a string, a method will the same name will be looked up from the column instance to determine whether the column should be editable. The method's signature must be `function - (Backgrid.Column, Backbone.Model): boolean`. + (Backbone.Model): boolean`. The function's context is the column instance. @cfg {boolean|string|function(): boolean} [defaults.renderable=true] Whether this column is renderable. If the value is a string, a method will the same name will be looked up from the column instance to determine whether the column should be renderable. The method's signature must be - `function (Backrid.Column, Backbone.Model): boolean`. + `function (Backbone.Model): boolean`. The function's context is the column + instance. @cfg {Backgrid.CellFormatter | Object | string} [defaults.formatter] The formatter to use to convert between raw model values and user input. @@ -1824,24 +1838,33 @@ var Column = Backgrid.Column = Backbone.Model.extend({ } /** + If you cannot always determine whether a column should be sortable before + the grid get initialized, you can override this method. + @member Backgrid.Column @protected @method sortable - @return {function(Backgrid.Column, Backbone.Model): boolean | boolean} + @return {function(Backbone.Model): boolean | boolean} */ /** + If you cannot always determine whether a column should be editable before + the grid get initialized, you can override this method. + @member Backgrid.Column @protected @method editable - @return {function(Backgrid.Column, Backbone.Model): boolean | boolean} + @return {function(Backbone.Model): boolean | boolean} */ /** + If you cannot always determine whether a column should be renderable before + the grid get initialized, you can override this method. + @member Backgrid.Column @protected @method renderable - @return {function(Backgrid.Column, Backbone.Model): boolean | boolean} + @return {function(Backbone.Model): boolean | boolean} */ }); @@ -1871,9 +1894,9 @@ var Columns = Backgrid.Columns = Backbone.Collection.extend({ /* backgrid - http://github.com/wyuenho/backgrid + http://github.com/cloudflare/backgrid - Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors + Copyright (c) 2013-present Cloudflare, Inc. and contributors Licensed under the MIT license. */ @@ -2020,7 +2043,9 @@ var EmptyRow = Backgrid.EmptyRow = Backbone.View.extend({ var td = document.createElement("td"); td.setAttribute("colspan", this.columns.length); - td.appendChild(document.createTextNode(_.result(this, "emptyText"))); + var span = document.createElement("span"); + span.innerHTML = _.result(this, "emptyText"); + td.appendChild(span); this.el.className = "empty"; this.el.appendChild(td); @@ -2031,9 +2056,9 @@ var EmptyRow = Backgrid.EmptyRow = Backbone.View.extend({ /* backgrid - http://github.com/wyuenho/backgrid + http://github.com/cloudflare/backgrid - Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors + Copyright (c) 2013-present Cloudflare, Inc. and contributors Licensed under the MIT license. */ @@ -2052,7 +2077,7 @@ var HeaderCell = Backgrid.HeaderCell = Backbone.View.extend({ /** @property */ events: { - "click a": "onClick" + "click button": "onClick" }, /** @@ -2087,12 +2112,12 @@ var HeaderCell = Backgrid.HeaderCell = Backbone.View.extend({ if (Backgrid.callByNeed(column.sortable(), column, collection)) $el.addClass("sortable"); if (Backgrid.callByNeed(column.renderable(), column, collection)) $el.addClass("renderable"); - this.listenTo(collection.fullCollection || collection, "sort", this.removeCellDirection); + this.listenTo(collection.fullCollection || collection, "backgrid:sorted", this.removeCellDirection); }, /** - Event handler for the collection's `sort` event. Removes all the CSS - direction classes. + Event handler for the collection's `backgrid:sorted` event. Removes + all the CSS direction classes. */ removeCellDirection: function () { this.$el.removeClass("ascending").removeClass("descending"); @@ -2151,7 +2176,7 @@ var HeaderCell = Backgrid.HeaderCell = Backbone.View.extend({ var sortable = Backgrid.callByNeed(column.sortable(), column, this.collection); var label; if(sortable){ - label = $("").text(column.get("label")).append(""); + label = $("