diff --git a/.babelrc b/.babelrc
deleted file mode 100644
index abbf8cffe..000000000
--- a/.babelrc
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "presets": [
- [
- "@babel/env",
- {
- "modules": false,
- "targets": {
- "browsers": [
- "> 1%",
- "Chrome >= 50",
- "IE >= 11",
- "Edge >= 14",
- "Firefox >= 50",
- "Opera >= 40",
- "Safari >= 8",
- "iOS >= 8"
- ],
- "uglify": true
- },
- "forceAllTransforms": true,
- "useBuiltIns": "entry"
- }
- ]
- ],
- "plugins": [
- "@babel/plugin-transform-destructuring",
- "@babel/plugin-syntax-dynamic-import",
- [
- "@babel/plugin-proposal-object-rest-spread",
- {
- "useBuiltIns": true
- }
- ],
- [
- "@babel/plugin-transform-runtime",
- {
- "helpers": false,
- "regenerator": true
- }
- ],
- [
- "@babel/plugin-transform-regenerator",
- {
- "async": false
- }
- ],
- [
- "@babel/plugin-proposal-class-properties",
- {
- "loose": true
- }
- ]
- ]
-}
diff --git a/.browserslistrc b/.browserslistrc
new file mode 100644
index 000000000..be9bfee68
--- /dev/null
+++ b/.browserslistrc
@@ -0,0 +1,8 @@
+> 1%
+Chrome >= 50
+IE >= 11
+Edge >= 14
+Firefox >= 50
+Opera >= 40
+Safari >= 8
+iOS >= 8
diff --git a/.eslintrc.js b/.eslintrc.js
index eb5759ea0..d697ee9c7 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,5 +1,6 @@
module.exports = {
root: true,
+ parser: 'babel-eslint',
parserOptions: {
ecmaVersion: 2017,
sourceType: 'module'
@@ -8,18 +9,24 @@ module.exports = {
'process': true,
'gon': true
},
- plugins: ['prettier'],
- extends: ['eslint:recommended', 'prettier'],
+ plugins: ['prettier', 'react-hooks'],
+ extends: ['eslint:recommended', 'prettier', 'plugin:react/recommended'],
env: {
es6: true,
browser: true
},
rules: {
- 'prettier/prettier': 'error'
+ 'prettier/prettier': 'error',
+ 'react-hooks/rules-of-hooks': 'error'
+ },
+ settings: {
+ react: {
+ version: 'detect'
+ }
},
overrides: [
{
- files: ['config/webpack/**/*.js'],
+ files: ['config/webpack/**/*.js', 'babel.config.js', 'postcss.config.js'],
env: {
node: true
}
diff --git a/.gitignore b/.gitignore
index b7e4b5c36..96f49c920 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,3 +26,9 @@ storage/
yarn-debug.log*
.yarn-integrity
/.vscode
+/public/packs
+/public/packs-test
+/node_modules
+/yarn-error.log
+yarn-debug.log*
+.yarn-integrity
diff --git a/.postcssrc.yml b/.postcssrc.yml
deleted file mode 100644
index 150dac3c6..000000000
--- a/.postcssrc.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-plugins:
- postcss-import: {}
- postcss-cssnext: {}
diff --git a/Gemfile b/Gemfile
index f99de3a28..dcd4a3fcf 100644
--- a/Gemfile
+++ b/Gemfile
@@ -49,6 +49,7 @@ gem 'rack-mini-profiler'
gem 'rails'
gem 'rails-i18n' # Locales par défaut
gem 'rake-progressbar', require: false
+gem 'react-rails'
gem 'rest-client'
gem 'rgeo-geojson'
gem 'sanitize-url'
@@ -63,7 +64,7 @@ gem 'spreadsheet_architect'
gem 'turbolinks' # Turbolinks makes following links in your web application faster
gem 'typhoeus'
gem 'warden'
-gem 'webpacker', '>= 4.0.x'
+gem 'webpacker'
gem 'zxcvbn-ruby', require: 'zxcvbn'
group :test do
diff --git a/Gemfile.lock b/Gemfile.lock
index 7b73b165c..026c80c24 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -99,6 +99,10 @@ GEM
axlsx_styler (0.2.0)
activesupport (>= 3.1)
axlsx (>= 2.0, < 4)
+ babel-source (5.8.35)
+ babel-transpiler (0.7.0)
+ babel-source (>= 4.0, < 6)
+ execjs (~> 2.0)
bcrypt (3.1.12)
bindata (2.4.4)
bindex (0.5.0)
@@ -149,6 +153,7 @@ GEM
execjs
coffee-script-source (1.12.2)
concurrent-ruby (1.1.5)
+ connection_pool (2.2.2)
copy_carrierwave_file (1.3.0)
carrierwave (>= 0.9)
crack (0.4.3)
@@ -278,7 +283,7 @@ GEM
domain_name (~> 0.5)
http_parser.rb (0.6.0)
httpclient (2.8.3)
- i18n (1.5.3)
+ i18n (1.6.0)
concurrent-ruby (~> 1.0)
ipaddress (0.8.3)
jaro_winkler (1.5.2)
@@ -465,6 +470,12 @@ GEM
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
+ react-rails (2.4.7)
+ babel-transpiler (>= 0.7.0)
+ connection_pool
+ execjs
+ railties (>= 3.2)
+ tilt
regexp_parser (1.3.0)
request_store (1.4.1)
rack (>= 1.4)
@@ -637,7 +648,7 @@ GEM
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
- webpacker (4.0.0.rc.2)
+ webpacker (4.0.2)
activesupport (>= 4.2)
rack-proxy (>= 0.6.1)
railties (>= 4.2)
@@ -720,6 +731,7 @@ DEPENDENCIES
rails-controller-testing
rails-i18n
rake-progressbar
+ react-rails
rest-client
rgeo-geojson
rspec-rails
@@ -747,7 +759,7 @@ DEPENDENCIES
warden
web-console
webmock
- webpacker (>= 4.0.x)
+ webpacker
xray-rails
zxcvbn-ruby
diff --git a/app/assets/stylesheets/new_design/procedure_champs_editor.scss b/app/assets/stylesheets/new_design/procedure_champs_editor.scss
index 591eb48df..917b2d561 100644
--- a/app/assets/stylesheets/new_design/procedure_champs_editor.scss
+++ b/app/assets/stylesheets/new_design/procedure_champs_editor.scss
@@ -1,15 +1,8 @@
@import "colors";
@import "constants";
-#champs-editor {
- .spinner {
- margin-right: auto;
- margin-left: auto;
- margin-top: 80px;
- }
-}
-
-.draggable-item {
+.type-de-champ {
+ background-color: $white;
border: 1px solid $border-grey;
border-radius: 5px;
margin-bottom: 10px;
@@ -18,24 +11,11 @@
.handle {
cursor: ns-resize;
margin-right: 10px;
- margin-top: 8px;
}
- .error-message {
- text-align: center;
- flex-grow: 1;
- font-size: 14px;
- color: $light-grey;
- display: flex;
- align-items: center;
- flex-direction: column;
- justify-content: space-around;
-
- .content {
- background-color: $medium-red;
- border-radius: 8px;
- padding: 4px 10px;
- }
+ .move {
+ margin-right: 10px;
+ margin-bottom: 5px;
}
&.type-header-section {
@@ -46,12 +26,6 @@
}
}
- &:not(.type-header-section) {
- input.error {
- border: 1px solid $medium-red;
- }
- }
-
.flex {
&.section {
padding: 10px 10px 0 10px;
@@ -67,7 +41,7 @@
}
&.shift-left {
- margin-left: 35px;
+ margin-left: 55px;
}
&.head {
@@ -112,21 +86,23 @@
}
}
-.footer {
- margin-bottom: 70px;
-}
+.champs-editor {
+ .footer {
+ margin-bottom: 40px;
+ }
-.buttons {
- display: flex;
- justify-content: space-between;
- margin: 0px;
- position: fixed;
- bottom: 0px;
- background-color: $white;
- max-width: $page-width;
- width: 100%;
- border: 1px solid $border-grey;
- padding: 10px;
- border-top-left-radius: 5px;
- border-top-right-radius: 5px;
+ .buttons {
+ display: flex;
+ justify-content: space-between;
+ margin: 0px;
+ position: fixed;
+ bottom: 0px;
+ background-color: $white;
+ max-width: $page-width;
+ width: 100%;
+ border: 1px solid $border-grey;
+ padding: 10px;
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
+ }
}
diff --git a/app/controllers/new_administrateur/types_de_champ_controller.rb b/app/controllers/new_administrateur/types_de_champ_controller.rb
index c4bf50110..c5a8753ee 100644
--- a/app/controllers/new_administrateur/types_de_champ_controller.rb
+++ b/app/controllers/new_administrateur/types_de_champ_controller.rb
@@ -1,7 +1,7 @@
module NewAdministrateur
class TypesDeChampController < AdministrateurController
- before_action :retrieve_procedure, only: [:create, :update, :destroy]
- before_action :procedure_locked?, only: [:create, :update, :destroy]
+ before_action :retrieve_procedure, only: [:create, :update, :move, :destroy]
+ before_action :procedure_locked?, only: [:create, :update, :move, :destroy]
def create
type_de_champ = TypeDeChamp.new(type_de_champ_create_params)
@@ -25,6 +25,15 @@ module NewAdministrateur
end
end
+ def move
+ type_de_champ = TypeDeChamp.where(procedure: @procedure).find(params[:id])
+ new_index = params[:order_place].to_i
+
+ @procedure.move_type_de_champ(type_de_champ, new_index)
+
+ head :no_content
+ end
+
def destroy
type_de_champ = TypeDeChamp.where(procedure: @procedure).find(params[:id])
@@ -39,38 +48,54 @@ module NewAdministrateur
def serialize_type_de_champ(type_de_champ)
{
type_de_champ: type_de_champ.as_json(
- except: [:created_at, :updated_at, :stable_id, :type, :parent_id, :procedure_id, :private],
- methods: [:piece_justificative_template_filename, :piece_justificative_template_url, :drop_down_list_value]
+ except: [
+ :created_at,
+ :options,
+ :order_place,
+ :parent_id,
+ :private,
+ :procedure_id,
+ :stable_id,
+ :type,
+ :updated_at
+ ],
+ methods: [
+ :cadastres,
+ :drop_down_list_value,
+ :parcelles_agricoles,
+ :piece_justificative_template_filename,
+ :piece_justificative_template_url,
+ :quartiers_prioritaires
+ ]
)
}
end
def type_de_champ_create_params
- params.required(:type_de_champ).permit(:libelle,
+ params.required(:type_de_champ).permit(:cadastres,
:description,
- :order_place,
- :type_champ,
- :private,
- :parent_id,
+ :drop_down_list_value,
+ :libelle,
:mandatory,
- :piece_justificative_template,
- :quartiers_prioritaires,
- :cadastres,
+ :order_place,
:parcelles_agricoles,
- :drop_down_list_value).merge(procedure: @procedure)
+ :parent_id,
+ :piece_justificative_template,
+ :private,
+ :quartiers_prioritaires,
+ :type_champ).merge(procedure: @procedure)
end
def type_de_champ_update_params
- params.required(:type_de_champ).permit(:libelle,
+ params.required(:type_de_champ).permit(:cadastres,
:description,
- :order_place,
- :type_champ,
+ :drop_down_list_value,
+ :libelle,
:mandatory,
+ :parcelles_agricoles,
:piece_justificative_template,
:quartiers_prioritaires,
- :cadastres,
- :parcelles_agricoles,
- :drop_down_list_value)
+ :type_champ)
end
end
end
diff --git a/app/helpers/procedure_helper.rb b/app/helpers/procedure_helper.rb
index 3222f0064..eff778387 100644
--- a/app/helpers/procedure_helper.rb
+++ b/app/helpers/procedure_helper.rb
@@ -36,23 +36,21 @@ module ProcedureHelper
def types_de_champ_data(procedure)
{
- type: "champ",
- types_de_champ_options: types_de_champ_options.to_json,
- types_de_champ: types_de_champ_as_json(procedure.types_de_champ).to_json,
- save_url: procedure_types_de_champ_path(procedure),
- direct_upload_url: rails_direct_uploads_url,
- drag_icon_url: image_url("icons/drag.svg")
+ isAnnotation: false,
+ typeDeChampsTypes: types_de_champ_types,
+ typeDeChamps: types_de_champ_as_json(procedure.types_de_champ),
+ baseUrl: procedure_types_de_champ_path(procedure),
+ directUploadUrl: rails_direct_uploads_url
}
end
def types_de_champ_private_data(procedure)
{
- type: "annotation",
- types_de_champ_options: types_de_champ_options.to_json,
- types_de_champ: types_de_champ_as_json(procedure.types_de_champ_private).to_json,
- save_url: procedure_types_de_champ_path(procedure),
- direct_upload_url: rails_direct_uploads_url,
- drag_icon_url: image_url("icons/drag.svg")
+ isAnnotation: true,
+ typeDeChampsTypes: types_de_champ_types,
+ typeDeChamps: types_de_champ_as_json(procedure.types_de_champ_private),
+ baseUrl: procedure_types_de_champ_path(procedure),
+ directUploadUrl: rails_direct_uploads_url
}
end
@@ -63,20 +61,37 @@ module ProcedureHelper
TypeDeChamp.type_champs.fetch(:repetition) => :champ_repetition?
}
- def types_de_champ_options
- types_de_champ = TypeDeChamp.type_de_champs_list_fr
+ def types_de_champ_types
+ types_de_champ_types = TypeDeChamp.type_de_champs_list_fr
- types_de_champ.select! do |tdc|
+ types_de_champ_types.select! do |tdc|
toggle = TOGGLES[tdc.last]
toggle.blank? || Flipflop.send(toggle)
end
- types_de_champ
+ types_de_champ_types
end
TYPES_DE_CHAMP_BASE = {
- except: [:created_at, :updated_at, :stable_id, :type, :parent_id, :procedure_id, :private],
- methods: [:piece_justificative_template_filename, :piece_justificative_template_url, :drop_down_list_value]
+ except: [
+ :created_at,
+ :options,
+ :order_place,
+ :parent_id,
+ :private,
+ :procedure_id,
+ :stable_id,
+ :type,
+ :updated_at
+ ],
+ methods: [
+ :cadastres,
+ :drop_down_list_value,
+ :parcelles_agricoles,
+ :piece_justificative_template_filename,
+ :piece_justificative_template_url,
+ :quartiers_prioritaires
+ ]
}
TYPES_DE_CHAMP = TYPES_DE_CHAMP_BASE
.merge(include: { types_de_champ: TYPES_DE_CHAMP_BASE })
diff --git a/app/javascript/components/TypesDeChampEditor/Flash.js b/app/javascript/components/TypesDeChampEditor/Flash.js
new file mode 100644
index 000000000..945c6efd8
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/Flash.js
@@ -0,0 +1,35 @@
+export default class Flash {
+ constructor(isAnnotation) {
+ this.element = document.querySelector('#flash_messages');
+ this.isAnnotation = isAnnotation;
+ }
+ success() {
+ if (this.isAnnotation) {
+ this.add('Annotations privées enregistrées.');
+ } else {
+ this.add('Formulaire enregistré.');
+ }
+ }
+ error(message) {
+ this.add(message, true);
+ }
+ clear() {
+ this.element.innerHTML = '';
+ }
+ add(message, isError) {
+ const html = `
`;
+
+ this.element.innerHTML = html;
+
+ clearTimeout(this.timeout);
+ this.timeout = setTimeout(() => {
+ this.clear();
+ }, 4000);
+ }
+}
diff --git a/app/javascript/components/TypesDeChampEditor/OperationsQueue.js b/app/javascript/components/TypesDeChampEditor/OperationsQueue.js
new file mode 100644
index 000000000..f849e64bc
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/OperationsQueue.js
@@ -0,0 +1,52 @@
+import { to, getJSON } from '@utils';
+
+export default class OperationsQueue {
+ constructor(baseUrl) {
+ this.queue = [];
+ this.isRunning = false;
+ this.baseUrl = baseUrl;
+ }
+
+ async run() {
+ if (this.queue.length > 0) {
+ this.isRunning = true;
+ const operation = this.queue.shift();
+ await this.exec(operation);
+ this.run();
+ } else {
+ this.isRunning = false;
+ }
+ }
+
+ enqueue(operation) {
+ return new Promise((resolve, reject) => {
+ this.queue.push({ ...operation, resolve, reject });
+ if (!this.isRunning) {
+ this.run();
+ }
+ });
+ }
+
+ async exec(operation) {
+ const { path, method, payload, resolve, reject } = operation;
+ const url = `${this.baseUrl}${path}`;
+ const [data, xhr] = await to(getJSON(url, payload, method));
+
+ if (xhr) {
+ handleError(xhr, reject);
+ } else {
+ resolve(data);
+ }
+ }
+}
+
+function handleError(xhr, reject) {
+ try {
+ const {
+ errors: [message]
+ } = JSON.parse(xhr.responseText);
+ reject(message);
+ } catch (e) {
+ reject(xhr.responseText);
+ }
+}
diff --git a/app/javascript/components/TypesDeChampEditor/components/DescriptionInput.js b/app/javascript/components/TypesDeChampEditor/components/DescriptionInput.js
new file mode 100644
index 000000000..2d17f752c
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/DescriptionInput.js
@@ -0,0 +1,29 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+
+function DescriptionInput({ isVisible, handler }) {
+ if (isVisible) {
+ return (
+
+
+
+
+ );
+ }
+ return null;
+}
+
+DescriptionInput.propTypes = {
+ isVisible: PropTypes.bool,
+ handler: PropTypes.object
+};
+
+export default DescriptionInput;
diff --git a/app/javascript/components/TypesDeChampEditor/components/LibelleInput.js b/app/javascript/components/TypesDeChampEditor/components/LibelleInput.js
new file mode 100644
index 000000000..f1ca7c07c
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/LibelleInput.js
@@ -0,0 +1,28 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+
+function LibelleInput({ isVisible, handler }) {
+ if (isVisible) {
+ return (
+
+
+
+
+ );
+ }
+ return null;
+}
+
+LibelleInput.propTypes = {
+ handler: PropTypes.object,
+ isVisible: PropTypes.bool
+};
+
+export default LibelleInput;
diff --git a/app/javascript/components/TypesDeChampEditor/components/MandatoryInput.js b/app/javascript/components/TypesDeChampEditor/components/MandatoryInput.js
new file mode 100644
index 000000000..436a23345
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/MandatoryInput.js
@@ -0,0 +1,28 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+
+function MandatoryInput({ isVisible, handler }) {
+ if (isVisible) {
+ return (
+
+
+
+
+ );
+ }
+ return null;
+}
+
+MandatoryInput.propTypes = {
+ handler: PropTypes.object,
+ isVisible: PropTypes.bool
+};
+
+export default MandatoryInput;
diff --git a/app/javascript/components/TypesDeChampEditor/components/MoveButton.js b/app/javascript/components/TypesDeChampEditor/components/MoveButton.js
new file mode 100644
index 000000000..3d70b034e
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/MoveButton.js
@@ -0,0 +1,22 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+
+function MoveButton({ isVisible, icon, onClick }) {
+ if (isVisible) {
+ return (
+
+ );
+ }
+ return null;
+}
+
+MoveButton.propTypes = {
+ isVisible: PropTypes.bool,
+ icon: PropTypes.string,
+ onClick: PropTypes.func
+};
+
+export default MoveButton;
diff --git a/app/javascript/components/TypesDeChampEditor/components/TypeDeChamp.js b/app/javascript/components/TypesDeChampEditor/components/TypeDeChamp.js
new file mode 100644
index 000000000..e9c5f7bd3
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/TypeDeChamp.js
@@ -0,0 +1,227 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import { sortableElement, sortableHandle } from 'react-sortable-hoc';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+
+import DescriptionInput from './DescriptionInput';
+import LibelleInput from './LibelleInput';
+import MandatoryInput from './MandatoryInput';
+import MoveButton from './MoveButton';
+import TypeDeChampCarteOption from './TypeDeChampCarteOption';
+import TypeDeChampCarteOptions from './TypeDeChampCarteOptions';
+import TypeDeChampDropDownOptions from './TypeDeChampDropDownOptions';
+import TypeDeChampPieceJustificative from './TypeDeChampPieceJustificative';
+import TypeDeChampRepetitionOptions from './TypeDeChampRepetitionOptions';
+import TypeDeChampTypesSelect from './TypeDeChampTypesSelect';
+
+const TypeDeChamp = sortableElement(
+ ({ typeDeChamp, dispatch, idx: index, isFirstItem, isLastItem, state }) => {
+ const isDropDown = [
+ 'drop_down_list',
+ 'multiple_drop_down_list',
+ 'linked_drop_down_list'
+ ].includes(typeDeChamp.type_champ);
+ const isFile = typeDeChamp.type_champ === 'piece_justificative';
+ const isCarte = typeDeChamp.type_champ === 'carte';
+ const isExplication = typeDeChamp.type_champ === 'explication';
+ const isHeaderSection = typeDeChamp.type_champ === 'header_section';
+ const isRepetition = typeDeChamp.type_champ === 'repetition';
+ const canBeMandatory =
+ !isHeaderSection && !isExplication && !state.isAnnotation;
+
+ const updateHandlers = createUpdateHandlers(
+ dispatch,
+ typeDeChamp,
+ index,
+ state.prefix
+ );
+
+ const typeDeChampsTypesForRepetition = state.typeDeChampsTypes.filter(
+ ([, type]) => !EXCLUDE_FROM_REPETITION.includes(type)
+ );
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ dispatch({
+ type: 'moveTypeDeChampUp',
+ params: { typeDeChamp }
+ })
+ }
+ />
+
+ dispatch({
+ type: 'moveTypeDeChampDown',
+ params: { typeDeChamp }
+ })
+ }
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+ }
+);
+
+TypeDeChamp.propTypes = {
+ dispatch: PropTypes.func,
+ idx: PropTypes.number,
+ isFirstItem: PropTypes.bool,
+ isLastItem: PropTypes.bool,
+ state: PropTypes.object,
+ typeDeChamp: PropTypes.object
+};
+
+const DragHandle = sortableHandle(() => (
+
+
+
+));
+
+function createUpdateHandler(dispatch, typeDeChamp, field, index, prefix) {
+ return {
+ id: `${prefix ? `${prefix}-` : ''}champ-${index}-${field}`,
+ name: field,
+ value: typeDeChamp[field],
+ onChange: ({ target }) =>
+ dispatch({
+ type: 'updateTypeDeChamp',
+ params: {
+ typeDeChamp,
+ field,
+ value: readValue(target)
+ },
+ done: () => dispatch({ type: 'refresh' })
+ })
+ };
+}
+
+function createUpdateHandlers(dispatch, typeDeChamp, index, prefix) {
+ return FIELDS.reduce((handlers, field) => {
+ handlers[field] = createUpdateHandler(
+ dispatch,
+ typeDeChamp,
+ field,
+ index,
+ prefix
+ );
+ return handlers;
+ }, {});
+}
+
+export const FIELDS = [
+ 'cadastres',
+ 'description',
+ 'drop_down_list_value',
+ 'libelle',
+ 'mandatory',
+ 'order_place',
+ 'parcelles_agricoles',
+ 'parent_id',
+ 'piece_justificative_template',
+ 'private',
+ 'quartiers_prioritaires',
+ 'type_champ'
+];
+
+function readValue(input) {
+ return input.type === 'checkbox' ? input.checked : input.value;
+}
+
+const EXCLUDE_FROM_REPETITION = [
+ 'carte',
+ 'dossier_link',
+ 'repetition',
+ 'siret'
+];
+
+export default TypeDeChamp;
diff --git a/app/javascript/components/TypesDeChampEditor/components/TypeDeChampCarteOption.js b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampCarteOption.js
new file mode 100644
index 000000000..8de18874f
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampCarteOption.js
@@ -0,0 +1,25 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+
+function TypeDeChampCarteOption({ label, handler }) {
+ return (
+
+ );
+}
+
+TypeDeChampCarteOption.propTypes = {
+ label: PropTypes.string,
+ handler: PropTypes.object
+};
+
+export default TypeDeChampCarteOption;
diff --git a/app/javascript/components/TypesDeChampEditor/components/TypeDeChampCarteOptions.js b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampCarteOptions.js
new file mode 100644
index 000000000..eac595de8
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampCarteOptions.js
@@ -0,0 +1,21 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+
+function TypeDeChampCarteOptions({ isVisible, children }) {
+ if (isVisible) {
+ return (
+
+
+
{children}
+
+ );
+ }
+ return null;
+}
+
+TypeDeChampCarteOptions.propTypes = {
+ isVisible: PropTypes.bool,
+ children: PropTypes.array
+};
+
+export default TypeDeChampCarteOptions;
diff --git a/app/javascript/components/TypesDeChampEditor/components/TypeDeChampDropDownOptions.js b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampDropDownOptions.js
new file mode 100644
index 000000000..61570058d
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampDropDownOptions.js
@@ -0,0 +1,31 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+
+function TypeDeChampDropDownOptions({ isVisible, value, handler }) {
+ if (isVisible) {
+ return (
+
+
+
+
+ );
+ }
+ return null;
+}
+
+TypeDeChampDropDownOptions.propTypes = {
+ isVisible: PropTypes.bool,
+ value: PropTypes.string,
+ handler: PropTypes.object
+};
+
+export default TypeDeChampDropDownOptions;
diff --git a/app/javascript/components/TypesDeChampEditor/components/TypeDeChampPieceJustificative.js b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampPieceJustificative.js
new file mode 100644
index 000000000..a766191b5
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampPieceJustificative.js
@@ -0,0 +1,81 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import Uploader from '../../../shared/activestorage/uploader';
+
+function TypeDeChampPieceJustificative({
+ isVisible,
+ url,
+ filename,
+ handler,
+ directUploadUrl
+}) {
+ if (isVisible) {
+ const hasFile = !!filename;
+ return (
+
+
+
+
+
+ );
+ }
+ return null;
+}
+
+TypeDeChampPieceJustificative.propTypes = {
+ isVisible: PropTypes.bool,
+ url: PropTypes.string,
+ filename: PropTypes.string,
+ handler: PropTypes.object,
+ directUploadUrl: PropTypes.string
+};
+
+function FileInformation({ isVisible, url, filename }) {
+ if (isVisible) {
+ return (
+ <>
+
+ {filename}
+
+
Modifier :
+ >
+ );
+ }
+ return null;
+}
+
+FileInformation.propTypes = {
+ isVisible: PropTypes.bool,
+ url: PropTypes.string,
+ filename: PropTypes.string
+};
+
+function onFileChange(handler, directUploadUrl) {
+ return async ({ target }) => {
+ const file = target.files[0];
+ if (file) {
+ const signedId = await uploadFile(target, file, directUploadUrl);
+ handler.onChange({
+ target: {
+ value: signedId
+ }
+ });
+ }
+ };
+}
+
+function uploadFile(input, file, directUploadUrl) {
+ const controller = new Uploader(input, file, directUploadUrl);
+ return controller.start().then(signedId => {
+ input.value = null;
+ return signedId;
+ });
+}
+
+export default TypeDeChampPieceJustificative;
diff --git a/app/javascript/components/TypesDeChampEditor/components/TypeDeChampRepetitionOptions.js b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampRepetitionOptions.js
new file mode 100644
index 000000000..984057fdf
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampRepetitionOptions.js
@@ -0,0 +1,63 @@
+import React, { useReducer, useRef } from 'react';
+import PropTypes from 'prop-types';
+
+import { SortableContainer, addChampLabel } from '../utils';
+import TypeDeChamp from './TypeDeChamp';
+import typeDeChampsReducer from '../typeDeChampsReducer';
+
+function TypeDeChampRepetitionOptions({
+ isVisible,
+ state: parentState,
+ typeDeChamp
+}) {
+ const lastTypeDeChampRef = useRef(null);
+ const [state, dispatch] = useReducer(typeDeChampsReducer, {
+ ...parentState,
+ lastTypeDeChampRef
+ });
+
+ if (isVisible) {
+ return (
+
+ dispatch({ type: 'onSortTypeDeChamps', params })}
+ useDragHandle
+ >
+ {state.typeDeChamps.map((typeDeChamp, index) => (
+
+ ))}
+
+
+
+ );
+ }
+ return null;
+}
+
+TypeDeChampRepetitionOptions.propTypes = {
+ isVisible: PropTypes.bool,
+ state: PropTypes.object,
+ typeDeChamp: PropTypes.object
+};
+
+export default TypeDeChampRepetitionOptions;
diff --git a/app/javascript/components/TypesDeChampEditor/components/TypeDeChampTypesSelect.js b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampTypesSelect.js
new file mode 100644
index 000000000..1c53a220e
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/TypeDeChampTypesSelect.js
@@ -0,0 +1,29 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+
+function TypeDeChampTypesSelect({ handler, options }) {
+ return (
+
+
+
+ );
+}
+
+TypeDeChampTypesSelect.propTypes = {
+ handler: PropTypes.object,
+ options: PropTypes.array
+};
+
+export default TypeDeChampTypesSelect;
diff --git a/app/javascript/components/TypesDeChampEditor/components/TypeDeChamps.js b/app/javascript/components/TypesDeChampEditor/components/TypeDeChamps.js
new file mode 100644
index 000000000..2523dbf9d
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/components/TypeDeChamps.js
@@ -0,0 +1,72 @@
+import React, { useReducer, useRef } from 'react';
+import PropTypes from 'prop-types';
+
+import { SortableContainer, addChampLabel } from '../utils';
+import TypeDeChamp from './TypeDeChamp';
+import typeDeChampsReducer from '../typeDeChampsReducer';
+
+function TypeDeChamps({ state: rootState, typeDeChamps }) {
+ const lastTypeDeChampRef = useRef(null);
+ const [state, dispatch] = useReducer(typeDeChampsReducer, {
+ ...rootState,
+ lastTypeDeChampRef,
+ typeDeChamps
+ });
+
+ if (state.typeDeChamps.length === 0) {
+ dispatch({
+ type: 'addFirstTypeDeChamp',
+ done: () => dispatch({ type: 'refresh' })
+ });
+ }
+
+ return (
+
+
dispatch({ type: 'onSortTypeDeChamps', params })}
+ lockAxis="y"
+ useDragHandle
+ >
+ {state.typeDeChamps.map((typeDeChamp, index) => (
+
+ ))}
+
+
+
+
+
+
+
+ );
+}
+
+TypeDeChamps.propTypes = {
+ state: PropTypes.object,
+ typeDeChamps: PropTypes.array
+};
+
+export default TypeDeChamps;
diff --git a/app/javascript/components/TypesDeChampEditor/index.js b/app/javascript/components/TypesDeChampEditor/index.js
new file mode 100644
index 000000000..07b550014
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/index.js
@@ -0,0 +1,63 @@
+import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import { library } from '@fortawesome/fontawesome-svg-core';
+import {
+ faArrowDown,
+ faArrowsAltV,
+ faArrowUp,
+ faTrash
+} from '@fortawesome/free-solid-svg-icons';
+
+import Flash from './Flash';
+import OperationsQueue from './OperationsQueue';
+import TypeDeChamps from './components/TypeDeChamps';
+
+library.add(faArrowDown, faArrowsAltV, faArrowUp, faTrash);
+
+class TypesDeChampEditor extends Component {
+ constructor({
+ baseUrl,
+ typeDeChampsTypes,
+ directUploadUrl,
+ isAnnotation,
+ typeDeChamps
+ }) {
+ super({ typeDeChamps });
+ const defaultTypeDeChampAttributes = {
+ type_champ: 'text',
+ types_de_champ: [],
+ private: isAnnotation,
+ libelle: `${isAnnotation ? 'Nouvelle annotation' : 'Nouveau champ'} ${
+ typeDeChampsTypes[0][0]
+ }`
+ };
+ this.state = {
+ flash: new Flash(isAnnotation),
+ queue: new OperationsQueue(baseUrl),
+ defaultTypeDeChampAttributes,
+ typeDeChampsTypes,
+ directUploadUrl,
+ isAnnotation
+ };
+ }
+
+ render() {
+ return (
+
+ );
+ }
+}
+
+TypesDeChampEditor.propTypes = {
+ baseUrl: PropTypes.string,
+ directUploadUrl: PropTypes.string,
+ isAnnotation: PropTypes.bool,
+ typeDeChamps: PropTypes.array,
+ typeDeChampsTypes: PropTypes.array
+};
+
+export function createReactUJSElement(props) {
+ return React.createElement(TypesDeChampEditor, props);
+}
+
+export default TypesDeChampEditor;
diff --git a/app/javascript/components/TypesDeChampEditor/operations.js b/app/javascript/components/TypesDeChampEditor/operations.js
new file mode 100644
index 000000000..aed8926a8
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/operations.js
@@ -0,0 +1,51 @@
+export function createTypeDeChampOperation(typeDeChamp, queue) {
+ return queue
+ .enqueue({
+ path: '',
+ method: 'post',
+ payload: { type_de_champ: typeDeChamp }
+ })
+ .then(data => {
+ handleResponseData(typeDeChamp, data);
+ });
+}
+
+export function destroyTypeDeChampOperation(typeDeChamp, queue) {
+ return queue.enqueue({
+ path: `/${typeDeChamp.id}`,
+ method: 'delete',
+ payload: {}
+ });
+}
+
+export function moveTypeDeChampOperation(typeDeChamp, index, queue) {
+ return queue.enqueue({
+ path: `/${typeDeChamp.id}/move`,
+ method: 'patch',
+ payload: { order_place: index }
+ });
+}
+
+export function updateTypeDeChampOperation(typeDeChamp, queue) {
+ return queue
+ .enqueue({
+ path: `/${typeDeChamp.id}`,
+ method: 'patch',
+ payload: { type_de_champ: typeDeChamp }
+ })
+ .then(data => {
+ handleResponseData(typeDeChamp, data);
+ });
+}
+
+function handleResponseData(typeDeChamp, { type_de_champ }) {
+ for (let field of RESPONSE_FIELDS) {
+ typeDeChamp[field] = type_de_champ[field];
+ }
+}
+
+const RESPONSE_FIELDS = [
+ 'id',
+ 'piece_justificative_template_filename',
+ 'piece_justificative_template_url'
+];
diff --git a/app/javascript/components/TypesDeChampEditor/typeDeChampsReducer.js b/app/javascript/components/TypesDeChampEditor/typeDeChampsReducer.js
new file mode 100644
index 000000000..e42d4a4d7
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/typeDeChampsReducer.js
@@ -0,0 +1,184 @@
+import scrollToComponent from 'react-scroll-to-component';
+import { debounce } from '@utils';
+import {
+ createTypeDeChampOperation,
+ destroyTypeDeChampOperation,
+ moveTypeDeChampOperation,
+ updateTypeDeChampOperation
+} from './operations';
+
+export default function typeDeChampsReducer(state, { type, params, done }) {
+ switch (type) {
+ case 'addNewTypeDeChamp':
+ return addNewTypeDeChamp(state, state.typeDeChamps, done);
+ case 'addFirstTypeDeChamp':
+ return addFirstTypeDeChamp(state, state.typeDeChamps, done);
+ case 'addNewRepetitionTypeDeChamp':
+ return addNewRepetitionTypeDeChamp(
+ state,
+ state.typeDeChamps,
+ params.typeDeChamp,
+ done
+ );
+ case 'updateTypeDeChamp':
+ return updateTypeDeChamp(state, state.typeDeChamps, params, done);
+ case 'removeTypeDeChamp':
+ return removeTypeDeChamp(state, state.typeDeChamps, params);
+ case 'moveTypeDeChampUp':
+ return moveTypeDeChampUp(state, state.typeDeChamps, params);
+ case 'moveTypeDeChampDown':
+ return moveTypeDeChampDown(state, state.typeDeChamps, params);
+ case 'onSortTypeDeChamps':
+ return onSortTypeDeChamps(state, state.typeDeChamps, params);
+ case 'refresh':
+ return { ...state, typeDeChamps: [...state.typeDeChamps] };
+ default:
+ throw new Error(`Unknown action "${type}"`);
+ }
+}
+
+function addNewTypeDeChamp(state, typeDeChamps, done) {
+ const typeDeChamp = {
+ ...state.defaultTypeDeChampAttributes,
+ order_place: typeDeChamps.length
+ };
+
+ createTypeDeChampOperation(typeDeChamp, state.queue)
+ .then(() => {
+ state.flash.success();
+ done();
+ if (state.lastTypeDeChampRef) {
+ scrollToComponent(state.lastTypeDeChampRef.current);
+ }
+ })
+ .catch(message => state.flash.error(message));
+
+ return {
+ ...state,
+ typeDeChamps: [...typeDeChamps, typeDeChamp]
+ };
+}
+
+function addNewRepetitionTypeDeChamp(state, typeDeChamps, typeDeChamp, done) {
+ return addNewTypeDeChamp(
+ {
+ ...state,
+ defaultTypeDeChampAttributes: {
+ ...state.defaultTypeDeChampAttributes,
+ parent_id: typeDeChamp.id
+ }
+ },
+ typeDeChamps,
+ done
+ );
+}
+
+function addFirstTypeDeChamp(state, typeDeChamps, done) {
+ const typeDeChamp = { ...state.defaultTypeDeChampAttributes, order_place: 0 };
+
+ createTypeDeChampOperation(typeDeChamp, state.queue)
+ .then(() => done())
+ .catch(message => state.flash.error(message));
+
+ return {
+ ...state,
+ typeDeChamps: [...typeDeChamps, typeDeChamp]
+ };
+}
+
+function updateTypeDeChamp(
+ state,
+ typeDeChamps,
+ { typeDeChamp, field, value },
+ done
+) {
+ typeDeChamp[field] = value;
+
+ getUpdateHandler(typeDeChamp, state)(done);
+
+ return {
+ ...state,
+ typeDeChamps: [...typeDeChamps]
+ };
+}
+
+function removeTypeDeChamp(state, typeDeChamps, { typeDeChamp }) {
+ destroyTypeDeChampOperation(typeDeChamp, state.queue)
+ .then(() => state.flash.success())
+ .catch(message => state.flash.error(message));
+
+ return {
+ ...state,
+ typeDeChamps: arrayRemove(typeDeChamps, typeDeChamp)
+ };
+}
+
+function moveTypeDeChampUp(state, typeDeChamps, { typeDeChamp }) {
+ const oldIndex = typeDeChamps.indexOf(typeDeChamp);
+ const newIndex = oldIndex - 1;
+
+ moveTypeDeChampOperation(typeDeChamp, newIndex, state.queue)
+ .then(() => state.flash.success())
+ .catch(message => state.flash.error(message));
+
+ return {
+ ...state,
+ typeDeChamps: arrayMove(typeDeChamps, oldIndex, newIndex)
+ };
+}
+
+function moveTypeDeChampDown(state, typeDeChamps, { typeDeChamp }) {
+ const oldIndex = typeDeChamps.indexOf(typeDeChamp);
+ const newIndex = oldIndex + 1;
+
+ moveTypeDeChampOperation(typeDeChamp, newIndex, state.queue)
+ .then(() => state.flash.success())
+ .catch(message => state.flash.error(message));
+
+ return {
+ ...state,
+ typeDeChamps: arrayMove(typeDeChamps, oldIndex, newIndex)
+ };
+}
+
+function onSortTypeDeChamps(state, typeDeChamps, { oldIndex, newIndex }) {
+ moveTypeDeChampOperation(typeDeChamps[oldIndex], newIndex, state.queue)
+ .then(() => state.flash.success())
+ .catch(message => state.flash.error(message));
+
+ return {
+ ...state,
+ typeDeChamps: arrayMove(typeDeChamps, oldIndex, newIndex)
+ };
+}
+
+function arrayRemove(array, item) {
+ array = Array.from(array);
+ array.splice(array.indexOf(item), 1);
+ return array;
+}
+
+function arrayMove(array, from, to) {
+ array = Array.from(array);
+ array.splice(to < 0 ? array.length + to : to, 0, array.splice(from, 1)[0]);
+ return array;
+}
+
+const updateHandlers = new WeakMap();
+function getUpdateHandler(typeDeChamp, { queue, flash }) {
+ let handler = updateHandlers.get(typeDeChamp);
+ if (!handler) {
+ handler = debounce(
+ done =>
+ updateTypeDeChampOperation(typeDeChamp, queue)
+ .then(() => {
+ flash.success();
+ done();
+ })
+ .catch(message => flash.error(message)),
+ 200
+ );
+ updateHandlers.set(typeDeChamp, handler);
+ }
+ return handler;
+}
diff --git a/app/javascript/components/TypesDeChampEditor/utils.js b/app/javascript/components/TypesDeChampEditor/utils.js
new file mode 100644
index 000000000..f2f5932ad
--- /dev/null
+++ b/app/javascript/components/TypesDeChampEditor/utils.js
@@ -0,0 +1,14 @@
+import React from 'react';
+import { sortableContainer } from 'react-sortable-hoc';
+
+export const SortableContainer = sortableContainer(({ children }) => {
+ return ;
+});
+
+export function addChampLabel(isAnnotation) {
+ if (isAnnotation) {
+ return 'Ajouter une annotation';
+ } else {
+ return 'Ajouter un champ';
+ }
+}
diff --git a/app/javascript/new_design/administrateur/DraggableItem.js b/app/javascript/new_design/administrateur/DraggableItem.js
deleted file mode 100644
index df94177a5..000000000
--- a/app/javascript/new_design/administrateur/DraggableItem.js
+++ /dev/null
@@ -1,254 +0,0 @@
-import { getJSON, debounce } from '@utils';
-import Uploader from '../../shared/activestorage/uploader';
-
-export default {
- props: ['state', 'index', 'item'],
- computed: {
- isValid() {
- if (this.deleted) {
- return true;
- }
- if (this.libelle) {
- return !!this.libelle.trim();
- }
- return false;
- },
- itemClassName() {
- const classNames = [`draggable-item-${this.index}`];
- if (this.isHeaderSection) {
- classNames.push('type-header-section');
- }
- return classNames.join(' ');
- },
- isDropDown() {
- return [
- 'drop_down_list',
- 'multiple_drop_down_list',
- 'linked_drop_down_list'
- ].includes(this.typeChamp);
- },
- isFile() {
- return this.typeChamp === 'piece_justificative';
- },
- isCarte() {
- return this.typeChamp === 'carte';
- },
- isExplication() {
- return this.typeChamp === 'explication';
- },
- isHeaderSection() {
- return this.typeChamp === 'header_section';
- },
- isRepetition() {
- return this.typeChamp === 'repetition';
- },
- options() {
- const options = this.item.options || {};
- for (let key of Object.keys(options)) {
- options[key] = castBoolean(options[key]);
- }
- return options;
- },
- attribute() {
- if (this.state.isAnnotation) {
- return 'types_de_champ_private_attributes';
- } else {
- return 'types_de_champ_attributes';
- }
- },
- payload() {
- const payload = {
- libelle: this.libelle,
- type_champ: this.typeChamp,
- mandatory: this.mandatory,
- description: this.description,
- drop_down_list_value: this.dropDownListValue,
- order_place: this.index
- };
- if (this.pieceJustificativeTemplate) {
- payload.piece_justificative_template = this.pieceJustificativeTemplate;
- }
- if (this.state.parentId) {
- payload.parent_id = this.state.parentId;
- }
- if (!this.id && this.state.isAnnotation) {
- payload.private = true;
- }
- Object.assign(payload, this.options);
- return payload;
- },
- saveUrl() {
- if (this.id) {
- return `${this.state.saveUrl}/${this.id}`;
- }
- return this.state.saveUrl;
- },
- savePayload() {
- if (this.deleted) {
- return {};
- }
- return { type_de_champ: this.payload };
- },
- saveMethod() {
- if (this.deleted) {
- return 'delete';
- } else if (this.id) {
- return 'patch';
- }
- return 'post';
- },
- typesDeChamp() {
- return this.item.types_de_champ;
- },
- typesDeChampOptions() {
- return this.state.typesDeChampOptions.filter(
- ([, typeChamp]) => !EXCLUDE_FROM_REPETITION.includes(typeChamp)
- );
- },
- stateForRepetition() {
- return Object.assign({}, this.state, {
- typesDeChamp: this.typesDeChamp,
- typesDeChampOptions: this.typesDeChampOptions,
- prefix: `${this.state.prefix}[${this.attribute}][${this.index}]`,
- parentId: this.id
- });
- }
- },
- data() {
- return {
- id: this.item.id,
- typeChamp: this.item.type_champ,
- libelle: this.item.libelle,
- mandatory: this.item.mandatory,
- description: this.item.description,
- pieceJustificativeTemplate: null,
- pieceJustificativeTemplateUrl: this.item.piece_justificative_template_url,
- pieceJustificativeTemplateFilename: this.item
- .piece_justificative_template_filename,
- dropDownListValue: this.item.drop_down_list_value,
- deleted: false,
- isSaving: false,
- isUploading: false,
- hasChanges: false
- };
- },
- watch: {
- index() {
- this.update();
- }
- },
- created() {
- this.debouncedSave = debounce(() => this.save(), 500);
- this.debouncedUpload = debounce(evt => this.upload(evt), 500);
- },
- methods: {
- removeChamp() {
- if (this.id) {
- this.deleted = true;
- this.debouncedSave();
- } else {
- const index = this.state.typesDeChamp.indexOf(this.item);
- this.state.typesDeChamp.splice(index, 1);
- }
- },
- nameFor(name) {
- return `${this.state.prefix}[${this.attribute}][${this.index}][${name}]`;
- },
- elementIdFor(name) {
- const prefix = this.state.prefix.replace(/\[/g, '_').replace(/\]/g, '');
- return `${prefix}_${this.attribute}_${this.index}_${name}`;
- },
- addChamp() {
- this.typesDeChamp.push({
- type_champ: 'text',
- types_de_champ: []
- });
- },
- update() {
- this.hasChanges = true;
- if (this.isValid) {
- if (this.state.inFlight === 0) {
- this.state.flash.clear();
- }
- this.debouncedSave();
- }
- },
- upload(evt) {
- if (this.isUploading) {
- this.debouncedUpload();
- } else {
- const input = evt.target;
- const file = input.files[0];
- if (file) {
- this.isUploading = true;
- const controller = new Uploader(
- input,
- file,
- this.state.directUploadUrl
- );
- controller.start().then(signed_id => {
- this.pieceJustificativeTemplate = signed_id;
- this.isUploading = false;
- this.debouncedSave();
- });
- }
- input.value = null;
- }
- },
- save() {
- if (this.isSaving) {
- this.debouncedSave();
- } else {
- this.isSaving = true;
- this.state.inFlight++;
- getJSON(this.saveUrl, this.savePayload, this.saveMethod)
- .then(data => {
- this.onSuccess(data);
- })
- .catch(xhr => {
- this.onError(xhr);
- });
- }
- },
- onSuccess(data) {
- if (data && data.type_de_champ) {
- this.id = data.type_de_champ.id;
- this.pieceJustificativeTemplateUrl =
- data.type_de_champ.piece_justificative_template_url;
- this.pieceJustificativeTemplateFilename =
- data.type_de_champ.piece_justificative_template_filename;
- this.pieceJustificativeTemplate = null;
- }
- this.state.inFlight--;
- this.isSaving = false;
- this.hasChanges = false;
-
- if (this.state.inFlight === 0) {
- this.state.flash.success();
- }
- },
- onError(xhr) {
- this.isSaving = false;
- this.state.inFlight--;
- try {
- const {
- errors: [message]
- } = JSON.parse(xhr.responseText);
- this.state.flash.error(message);
- } catch (e) {
- this.state.flash.error(xhr.responseText);
- }
- }
- }
-};
-
-const EXCLUDE_FROM_REPETITION = [
- 'carte',
- 'dossier_link',
- 'repetition',
- 'siret'
-];
-
-function castBoolean(value) {
- return value && value != 0;
-}
diff --git a/app/javascript/new_design/administrateur/DraggableItem.vue b/app/javascript/new_design/administrateur/DraggableItem.vue
deleted file mode 100644
index 2de6f4075..000000000
--- a/app/javascript/new_design/administrateur/DraggableItem.vue
+++ /dev/null
@@ -1,181 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/javascript/new_design/administrateur/DraggableList.js b/app/javascript/new_design/administrateur/DraggableList.js
deleted file mode 100644
index aee5738f7..000000000
--- a/app/javascript/new_design/administrateur/DraggableList.js
+++ /dev/null
@@ -1,14 +0,0 @@
-export default {
- props: ['state', 'version'],
- methods: {
- addChamp() {
- this.state.typesDeChamp.push({
- type_champ: 'text',
- types_de_champ: []
- });
- },
- save() {
- this.state.flash.success();
- }
- }
-};
diff --git a/app/javascript/new_design/administrateur/DraggableList.vue b/app/javascript/new_design/administrateur/DraggableList.vue
deleted file mode 100644
index dd619994e..000000000
--- a/app/javascript/new_design/administrateur/DraggableList.vue
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/javascript/new_design/administrateur/champs-editor.js b/app/javascript/new_design/administrateur/champs-editor.js
deleted file mode 100644
index 9445bd728..000000000
--- a/app/javascript/new_design/administrateur/champs-editor.js
+++ /dev/null
@@ -1,90 +0,0 @@
-import Vue from 'vue';
-import Draggable from 'vuedraggable';
-import VueScrollTo from 'vue-scrollto';
-
-import DraggableItem from './DraggableItem';
-import DraggableList from './DraggableList';
-
-Vue.component('Draggable', Draggable);
-Vue.component('DraggableItem', DraggableItem);
-Vue.use(VueScrollTo, { duration: 1500, easing: 'ease' });
-
-addEventListener('DOMContentLoaded', () => {
- const el = document.querySelector('#champs-editor');
- if (el) {
- initEditor(el);
- }
-});
-
-function initEditor(el) {
- const { directUploadUrl, dragIconUrl, saveUrl } = el.dataset;
-
- const state = {
- typesDeChamp: JSON.parse(el.dataset.typesDeChamp),
- typesDeChampOptions: JSON.parse(el.dataset.typesDeChampOptions),
- directUploadUrl,
- dragIconUrl,
- saveUrl,
- isAnnotation: el.dataset.type === 'annotation',
- prefix: 'procedure',
- inFlight: 0,
- flash: new Flash()
- };
-
- // We add an initial type de champ here if form is empty
- if (state.typesDeChamp.length === 0) {
- state.typesDeChamp.push({
- type_champ: 'text',
- types_de_champ: []
- });
- }
-
- new Vue({
- el,
- data: {
- state
- },
- render(h) {
- return h(DraggableList, {
- props: {
- state: this.state
- }
- });
- }
- });
-}
-
-class Flash {
- constructor(isAnnotation) {
- this.element = document.querySelector('#flash_messages');
- this.isAnnotation = isAnnotation;
- }
- success() {
- if (this.isAnnotation) {
- this.add('Annotations privées enregistrées.');
- } else {
- this.add('Formulaire enregistré.');
- }
- }
- error(message) {
- this.add(message, true);
- }
- clear() {
- this.element.innerHTML = '';
- }
- add(message, isError) {
- const html = ``;
-
- this.element.innerHTML = html;
-
- setTimeout(() => {
- this.clear();
- }, 6000);
- }
-}
diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js
index 78a1712f5..4398cfadb 100644
--- a/app/javascript/packs/application.js
+++ b/app/javascript/packs/application.js
@@ -5,6 +5,9 @@ import * as ActiveStorage from 'activestorage';
import Chartkick from 'chartkick';
import Highcharts from 'highcharts';
+import ReactUJS from '../shared/react-ujs';
+import reactComponents from '../shared/react-components';
+
import '../shared/activestorage/ujs';
import '../shared/rails-ujs-fix';
import '../shared/safari-11-file-xhr-workaround';
@@ -23,8 +26,6 @@ import '../new_design/champs/carte';
import '../new_design/champs/linked-drop-down-list';
import '../new_design/champs/repetition';
-import '../new_design/administrateur/champs-editor';
-
import { toggleCondidentielExplanation } from '../new_design/avis';
import { scrollMessagerie } from '../new_design/messagerie';
import { showMotivation, motivationCancel } from '../new_design/state-button';
@@ -48,6 +49,9 @@ Rails.start();
Turbolinks.start();
ActiveStorage.start();
+const loader = new ReactUJS(reactComponents);
+loader.start();
+
// Expose globals
window.DS = window.DS || DS;
window.Chartkick = Chartkick;
diff --git a/app/javascript/shared/polyfills.js b/app/javascript/shared/polyfills.js
index 34c1d5637..5ff61d17c 100644
--- a/app/javascript/shared/polyfills.js
+++ b/app/javascript/shared/polyfills.js
@@ -1,5 +1,5 @@
// Include runtime-polyfills for older browsers.
-// Due to .babelrc's 'useBuiltIns', only polyfills actually
+// Due to babel.config.js's 'useBuiltIns', only polyfills actually
// required by the browsers we support will be included.
import '@babel/polyfill';
import 'dom4';
diff --git a/app/javascript/shared/react-components.js b/app/javascript/shared/react-components.js
new file mode 100644
index 000000000..bc422a4b5
--- /dev/null
+++ b/app/javascript/shared/react-components.js
@@ -0,0 +1,8 @@
+export default function reactComponents(className) {
+ switch (className) {
+ case 'TypesDeChampEditor':
+ return import('components/TypesDeChampEditor').then(
+ mod => mod.createReactUJSElement
+ );
+ }
+}
diff --git a/app/javascript/shared/react-ujs.js b/app/javascript/shared/react-ujs.js
new file mode 100644
index 000000000..f42ccf132
--- /dev/null
+++ b/app/javascript/shared/react-ujs.js
@@ -0,0 +1,61 @@
+import ReactDOM from 'react-dom';
+
+// This attribute holds the name of component which should be mounted
+// example: `data-react-class="MyApp.Items.EditForm"`
+const CLASS_NAME_ATTR = 'data-react-class';
+
+// This attribute holds JSON stringified props for initializing the component
+// example: `data-react-props="{\"item\": { \"id\": 1, \"name\": \"My Item\"} }"`
+const PROPS_ATTR = 'data-react-props';
+
+// This attribute holds which method to use between: ReactDOM.hydrate, ReactDOM.render
+const RENDER_ATTR = 'data-hydrate';
+
+function findDOMNodes() {
+ return document.querySelectorAll(`[${CLASS_NAME_ATTR}]`);
+}
+
+export default class ReactUJS {
+ constructor(loadComponent) {
+ this.loadComponent = loadComponent;
+ }
+
+ async mountComponents() {
+ const nodes = findDOMNodes();
+
+ for (let node of nodes) {
+ const className = node.getAttribute(CLASS_NAME_ATTR);
+ const createReactUJSElement = await this.loadComponent(className).catch(
+ () => null
+ );
+
+ if (!createReactUJSElement) {
+ const message = "Cannot find component: '" + className + "'";
+ // eslint-disable-next-line no-console
+ console.error(
+ '%c[react-rails] %c' + message + ' for element',
+ 'font-weight: bold',
+ '',
+ node
+ );
+ throw new Error(
+ message + '. Make sure your component is available to render.'
+ );
+ } else {
+ const propsJson = node.getAttribute(PROPS_ATTR);
+ const props = propsJson && JSON.parse(propsJson);
+ const hydrate = node.getAttribute(RENDER_ATTR);
+
+ if (hydrate && typeof ReactDOM.hydrate === 'function') {
+ ReactDOM.hydrate(createReactUJSElement(props), node);
+ } else {
+ ReactDOM.render(createReactUJSElement(props), node);
+ }
+ }
+ }
+ }
+
+ start() {
+ addEventListener('turbolinks:load', () => this.mountComponents());
+ }
+}
diff --git a/app/javascript/shared/utils.js b/app/javascript/shared/utils.js
index 9b413e98b..cb1e62c9d 100644
--- a/app/javascript/shared/utils.js
+++ b/app/javascript/shared/utils.js
@@ -51,6 +51,10 @@ export function on(selector, eventName, fn) {
);
}
+export function to(promise) {
+ return promise.then(result => [result]).catch(error => [null, error]);
+}
+
function offset(element) {
const rect = element.getBoundingClientRect();
return {
diff --git a/app/models/procedure.rb b/app/models/procedure.rb
index 752179f10..b2e6cb781 100644
--- a/app/models/procedure.rb
+++ b/app/models/procedure.rb
@@ -410,8 +410,48 @@ class Procedure < ApplicationRecord
result
end
+ def move_type_de_champ(type_de_champ, new_index)
+ types_de_champ, collection_attribute_name = if type_de_champ.parent&.repetition?
+ if type_de_champ.parent.private?
+ [type_de_champ.parent.types_de_champ, :types_de_champ_private_attributes]
+ else
+ [type_de_champ.parent.types_de_champ, :types_de_champ_attributes]
+ end
+ elsif type_de_champ.private?
+ [self.types_de_champ_private, :types_de_champ_private_attributes]
+ else
+ [self.types_de_champ, :types_de_champ_attributes]
+ end
+
+ attributes = move_type_de_champ_attributes(types_de_champ.to_a, type_de_champ, new_index)
+
+ if type_de_champ.parent&.repetition?
+ attributes = [
+ {
+ id: type_de_champ.parent.id,
+ libelle: type_de_champ.parent.libelle,
+ types_de_champ_attributes: attributes
+ }
+ ]
+ end
+
+ update!(collection_attribute_name => attributes)
+ end
+
private
+ def move_type_de_champ_attributes(types_de_champ, type_de_champ, new_index)
+ old_index = types_de_champ.index(type_de_champ)
+ types_de_champ.insert(new_index, types_de_champ.delete_at(old_index))
+ .map.with_index do |type_de_champ, index|
+ {
+ id: type_de_champ.id,
+ libelle: type_de_champ.libelle,
+ order_place: index
+ }
+ end
+ end
+
def claim_path_ownership!(path)
procedure = Procedure.joins(:administrateurs)
.where(administrateurs: { id: administrateur_ids })
diff --git a/app/views/new_administrateur/procedures/annotations.html.haml b/app/views/new_administrateur/procedures/annotations.html.haml
index d9d5f81e3..a03645478 100644
--- a/app/views/new_administrateur/procedures/annotations.html.haml
+++ b/app/views/new_administrateur/procedures/annotations.html.haml
@@ -7,6 +7,4 @@
%h1 Configuration des annotations privées
%br
- = form_for @procedure, remote: true, html: { class: 'form' } do |form|
- #champs-editor{ data: types_de_champ_private_data(@procedure) }
- .spinner
+ = react_component("TypesDeChampEditor", types_de_champ_private_data(@procedure))
diff --git a/app/views/new_administrateur/procedures/champs.html.haml b/app/views/new_administrateur/procedures/champs.html.haml
index 9bc3af997..f88a14948 100644
--- a/app/views/new_administrateur/procedures/champs.html.haml
+++ b/app/views/new_administrateur/procedures/champs.html.haml
@@ -7,6 +7,4 @@
%h1 Configuration des champs
%br
- = form_for @procedure, remote: true, html: { class: 'form' } do |form|
- #champs-editor{ data: types_de_champ_data(@procedure) }
- .spinner
+ = react_component("TypesDeChampEditor", types_de_champ_data(@procedure))
diff --git a/babel.config.js b/babel.config.js
new file mode 100644
index 000000000..7ed87ccd1
--- /dev/null
+++ b/babel.config.js
@@ -0,0 +1,83 @@
+module.exports = function(api) {
+ var validEnv = ['development', 'test', 'production'];
+ var currentEnv = api.env();
+ var isDevelopmentEnv = api.env('development');
+ var isProductionEnv = api.env('production');
+ var isTestEnv = api.env('test');
+
+ if (!validEnv.includes(currentEnv)) {
+ throw new Error(
+ 'Please specify a valid `NODE_ENV` or ' +
+ '`BABEL_ENV` environment variables. Valid values are "development", ' +
+ '"test", and "production". Instead, received: ' +
+ JSON.stringify(currentEnv) +
+ '.'
+ );
+ }
+
+ return {
+ presets: [
+ isTestEnv && [
+ require('@babel/preset-env').default,
+ {
+ targets: {
+ node: 'current'
+ }
+ }
+ ],
+ (isProductionEnv || isDevelopmentEnv) && [
+ require('@babel/preset-env').default,
+ {
+ forceAllTransforms: true,
+ useBuiltIns: 'entry',
+ modules: false,
+ exclude: ['transform-typeof-symbol']
+ }
+ ],
+ [
+ require('@babel/preset-react').default,
+ {
+ development: isDevelopmentEnv || isTestEnv,
+ useBuiltIns: true
+ }
+ ]
+ ].filter(Boolean),
+ plugins: [
+ require('babel-plugin-macros'),
+ require('@babel/plugin-syntax-dynamic-import').default,
+ isTestEnv && require('babel-plugin-dynamic-import-node'),
+ require('@babel/plugin-transform-destructuring').default,
+ [
+ require('@babel/plugin-proposal-class-properties').default,
+ {
+ loose: true
+ }
+ ],
+ [
+ require('@babel/plugin-proposal-object-rest-spread').default,
+ {
+ useBuiltIns: true
+ }
+ ],
+ [
+ require('@babel/plugin-transform-runtime').default,
+ {
+ helpers: false,
+ regenerator: true
+ }
+ ],
+ [
+ require('@babel/plugin-transform-regenerator').default,
+ {
+ async: false
+ }
+ ],
+ isProductionEnv && [
+ require('babel-plugin-transform-react-remove-prop-types').default,
+ {
+ removeImport: true
+ }
+ ]
+ ].filter(Boolean)
+ };
+};
diff --git a/config/initializers/browser.rb b/config/initializers/browser.rb
index 9294e4cfe..0e88068ad 100644
--- a/config/initializers/browser.rb
+++ b/config/initializers/browser.rb
@@ -1,4 +1,4 @@
-# See .babelrc
+# See .browserslistrc
Browser.modern_rules.clear
Browser.modern_rules << -> b { b.chrome? && b.version.to_i >= 50 }
Browser.modern_rules << -> b { b.ie? && b.version.to_i >= 11 && !b.compatibility_view? }
diff --git a/config/routes.rb b/config/routes.rb
index 6c2ea3113..4bab577c4 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -372,7 +372,11 @@ Rails.application.routes.draw do
get 'annotations'
end
- resources :types_de_champ, only: [:create, :update, :destroy]
+ resources :types_de_champ, only: [:create, :update, :destroy] do
+ member do
+ patch :move
+ end
+ end
end
resources :services, except: [:show] do
diff --git a/config/webpack/environment.js b/config/webpack/environment.js
index f9be0fda8..2c2243661 100644
--- a/config/webpack/environment.js
+++ b/config/webpack/environment.js
@@ -1,7 +1,5 @@
const path = require('path');
const { environment } = require('@rails/webpacker');
-const { VueLoaderPlugin } = require('vue-loader');
-const vue = require('./loaders/vue');
const resolve = {
alias: {
@@ -10,7 +8,4 @@ const resolve = {
};
environment.config.merge({ resolve });
-
-environment.plugins.append('VueLoaderPlugin', new VueLoaderPlugin());
-environment.loaders.append('vue', vue);
module.exports = environment;
diff --git a/config/webpack/loaders/vue.js b/config/webpack/loaders/vue.js
deleted file mode 100644
index 7db91e326..000000000
--- a/config/webpack/loaders/vue.js
+++ /dev/null
@@ -1,8 +0,0 @@
-module.exports = {
- test: /\.vue(\.erb)?$/,
- use: [
- {
- loader: 'vue-loader'
- }
- ]
-};
diff --git a/config/webpacker.yml b/config/webpacker.yml
index c82f80fad..46ed57ddb 100644
--- a/config/webpacker.yml
+++ b/config/webpacker.yml
@@ -3,8 +3,11 @@
default: &default
source_path: app/javascript
source_entry_path: packs
+ public_root_path: public
public_output_path: packs
cache_path: tmp/cache/webpacker
+ check_yarn_integrity: false
+ webpack_compile_output: false
# Additional paths webpack should lookup modules
# ['app/assets', 'engine/foo/app/assets']
@@ -13,8 +16,25 @@ default: &default
# Reload manifest.json on all requests so we reload latest compiled packs
cache_manifest: false
+ # Extract and emit a css file
+ extract_css: false
+
+ static_assets_extensions:
+ - .jpg
+ - .jpeg
+ - .png
+ - .gif
+ - .tiff
+ - .ico
+ - .svg
+ - .eot
+ - .otf
+ - .ttf
+ - .woff
+ - .woff2
+
extensions:
- - .vue
+ - .mjs
- .js
- .sass
- .scss
@@ -32,6 +52,9 @@ development:
<<: *default
compile: true
+ # Verifies that correct packages and versions are installed by inspecting package.json, yarn.lock, and node_modules
+ check_yarn_integrity: true
+
# Reference: https://webpack.js.org/configuration/dev-server/
dev_server:
https: false
@@ -49,7 +72,7 @@ development:
headers:
'Access-Control-Allow-Origin': '*'
watch_options:
- ignored: /node_modules/
+ ignored: '**/node_modules/**'
test:
@@ -65,5 +88,8 @@ production:
# Production depends on precompilation of packs prior to booting for performance.
compile: false
+ # Extract and emit a css file
+ extract_css: true
+
# Cache manifest.json for performance
cache_manifest: true
diff --git a/package.json b/package.json
index a28043884..d4a6f0016 100644
--- a/package.json
+++ b/package.json
@@ -1,32 +1,42 @@
{
"dependencies": {
+ "@babel/preset-react": "^7.0.0",
+ "@fortawesome/fontawesome-svg-core": "^1.2.15",
+ "@fortawesome/free-solid-svg-icons": "^5.7.2",
+ "@fortawesome/react-fontawesome": "^0.1.4",
"@rails/webpacker": "4.0.0-pre.3",
"@sentry/browser": "^4.6.5",
"@turf/area": "^6.0.1",
- "activestorage": "^5.2.2-rc1",
- "autocomplete.js": "^0.31.0",
+ "activestorage": "^5.2.2",
+ "autocomplete.js": "^0.36.0",
"chartkick": "^3.0.1",
"debounce": "^1.2.0",
"dom4": "^2.1.3",
"highcharts": "^6.1.2",
"jquery": "^3.3.1",
- "leaflet": "^1.3.4",
"leaflet-freedraw": "^2.9.0",
- "rails-ujs": "^5.2.1",
+ "leaflet": "^1.3.4",
+ "prop-types": "^15.7.2",
+ "rails-ujs": "^5.2.2",
"ramda": "^0.25.0",
+ "react_ujs": "^2.4.4",
+ "react-dom": "^16.8.4",
+ "react-scroll-to-component": "^1.0.2",
+ "react-sortable-hoc": "^1.7.1",
+ "react": "^16.8.4",
"select2": "^4.0.6-rc.1",
- "turbolinks": "^5.2.0",
- "vue": "^2.5.21",
- "vue-loader": "^15.5.1",
- "vue-template-compiler": "^2.5.21",
- "vuedraggable": "^2.16.0",
- "vue-scrollto": "^2.13.0"
+ "turbolinks": "^5.2.0"
},
"devDependencies": {
+ "babel-eslint": "^10.0.1",
+ "babel-plugin-macros": "^2.5.0",
+ "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
"eclint": "^2.8.0",
"eslint": "^5.9.0",
"eslint-config-prettier": "^3.3.0",
"eslint-plugin-prettier": "^3.0.0",
+ "eslint-plugin-react": "^7.12.4",
+ "eslint-plugin-react-hooks": "^1.5.1",
"prettier": "^1.15.3",
"webpack-dev-server": "^3.1.9"
},
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 000000000..95c4ee2fb
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,12 @@
+module.exports = {
+ plugins: [
+ require('postcss-import'),
+ require('postcss-flexbugs-fixes'),
+ require('postcss-preset-env')({
+ autoprefixer: {
+ flexbox: 'no-2009'
+ },
+ stage: 3
+ })
+ ]
+};
diff --git a/spec/features/admin/procedure_creation_spec.rb b/spec/features/admin/procedure_creation_spec.rb
index 98de47e0d..558d4c8fd 100644
--- a/spec/features/admin/procedure_creation_spec.rb
+++ b/spec/features/admin/procedure_creation_spec.rb
@@ -76,15 +76,15 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
page.refresh
expect(page).to have_current_path(champs_procedure_path(Procedure.last))
- expect(page).to have_selector('#procedure_types_de_champ_attributes_0_libelle')
- fill_in 'procedure_types_de_champ_attributes_0_libelle', with: 'libelle de champ'
+ expect(page).to have_selector('#champ-0-libelle')
+ fill_in 'champ-0-libelle', with: 'libelle de champ'
blur
expect(page).to have_content('Formulaire enregistré')
within '.buttons' do
click_on 'Ajouter un champ'
end
- expect(page).to have_selector('#procedure_types_de_champ_attributes_1_libelle')
+ expect(page).to have_selector('#champ-1-libelle')
click_on Procedure.last.libelle
click_on 'onglet-pieces'
@@ -105,7 +105,7 @@ feature 'As an administrateur I wanna create a new procedure', js: true do
scenario 'After adding champ and file, make publication' do
page.refresh
- fill_in 'procedure_types_de_champ_attributes_0_libelle', with: 'libelle de champ'
+ fill_in 'champ-0-libelle', with: 'libelle de champ'
blur
expect(page).to have_content('Formulaire enregistré')
diff --git a/spec/features/new_administrateur/types_de_champ_spec.rb b/spec/features/new_administrateur/types_de_champ_spec.rb
index 4fae3e30b..238a87510 100644
--- a/spec/features/new_administrateur/types_de_champ_spec.rb
+++ b/spec/features/new_administrateur/types_de_champ_spec.rb
@@ -16,8 +16,8 @@ feature 'As an administrateur I can edit types de champ', js: true do
within '.buttons' do
click_on 'Ajouter un champ'
end
- expect(page).to have_selector('#procedure_types_de_champ_attributes_0_libelle')
- fill_in 'procedure_types_de_champ_attributes_0_libelle', with: 'libellé de champ'
+ expect(page).to have_selector('#champ-0-libelle')
+ fill_in 'champ-0-libelle', with: 'libellé de champ'
blur
expect(page).to have_content('Formulaire enregistré')
@@ -35,24 +35,24 @@ feature 'As an administrateur I can edit types de champ', js: true do
click_on 'Ajouter un champ'
click_on 'Ajouter un champ'
end
- expect(page).not_to have_content('Formulaire enregistré')
+ page.refresh
- fill_in 'procedure_types_de_champ_attributes_0_libelle', with: 'libellé de champ 0'
- fill_in 'procedure_types_de_champ_attributes_1_libelle', with: 'libellé de champ 1'
+ fill_in 'champ-0-libelle', with: 'libellé de champ 0'
+ fill_in 'champ-1-libelle', with: 'libellé de champ 1'
blur
expect(page).to have_content('Formulaire enregistré')
- expect(page).to have_selector('#procedure_types_de_champ_attributes_0_libelle')
- expect(page).to have_selector('#procedure_types_de_champ_attributes_1_libelle')
- expect(page).to have_selector('#procedure_types_de_champ_attributes_2_libelle')
- expect(page).to have_selector('#procedure_types_de_champ_attributes_3_libelle')
+ expect(page).to have_selector('#champ-0-libelle')
+ expect(page).to have_selector('#champ-1-libelle')
+ expect(page).to have_selector('#champ-2-libelle')
+ expect(page).to have_selector('#champ-3-libelle')
- within '.draggable-item-2' do
+ within '.type-de-champ[data-index="2"]' do
click_on 'Supprimer'
end
- expect(page).not_to have_selector('#procedure_types_de_champ_attributes_3_libelle')
- fill_in 'procedure_types_de_champ_attributes_2_libelle', with: 'libellé de champ 2'
+ expect(page).not_to have_selector('#champ-3-libelle')
+ fill_in 'champ-2-libelle', with: 'libellé de champ 2'
blur
expect(page).to have_content('Formulaire enregistré')
@@ -64,44 +64,45 @@ feature 'As an administrateur I can edit types de champ', js: true do
end
it "Remove champs" do
- fill_in 'procedure_types_de_champ_attributes_0_libelle', with: 'libellé de champ'
+ fill_in 'champ-0-libelle', with: 'libellé de champ'
blur
expect(page).to have_content('Formulaire enregistré')
page.refresh
click_on 'Supprimer'
expect(page).to have_content('Formulaire enregistré')
- expect(page).not_to have_content('Supprimer')
+ expect(page).to have_content('Supprimer', count: 1)
page.refresh
expect(page).to have_content('Supprimer', count: 1)
end
it "Only add valid champs" do
- expect(page).to have_selector('#procedure_types_de_champ_attributes_0_description')
- fill_in 'procedure_types_de_champ_attributes_0_description', with: 'déscription du champ'
+ expect(page).to have_selector('#champ-0-description')
+ fill_in 'champ-0-libelle', with: ''
+ fill_in 'champ-0-description', with: 'déscription du champ'
blur
expect(page).not_to have_content('Formulaire enregistré')
- fill_in 'procedure_types_de_champ_attributes_0_libelle', with: 'libellé de champ'
+ fill_in 'champ-0-libelle', with: 'libellé de champ'
blur
expect(page).to have_content('Formulaire enregistré')
end
it "Add repetition champ" do
- expect(page).to have_selector('#procedure_types_de_champ_attributes_0_libelle')
- select('Bloc répétable', from: 'procedure_types_de_champ_attributes_0_type_champ')
- fill_in 'procedure_types_de_champ_attributes_0_libelle', with: 'libellé de champ'
+ expect(page).to have_selector('#champ-0-libelle')
+ select('Bloc répétable', from: 'champ-0-type_champ')
+ fill_in 'champ-0-libelle', with: 'libellé de champ'
blur
expect(page).to have_content('Formulaire enregistré')
page.refresh
- within '.flex-grow' do
+ within '.type-de-champ .repetition' do
click_on 'Ajouter un champ'
end
- fill_in 'procedure_types_de_champ_attributes_0_types_de_champ_attributes_0_libelle', with: 'libellé de champ 1'
+ fill_in 'repetition-0-champ-0-libelle', with: 'libellé de champ 1'
blur
expect(page).to have_content('Formulaire enregistré')
@@ -111,16 +112,16 @@ feature 'As an administrateur I can edit types de champ', js: true do
click_on 'Ajouter un champ'
end
- select('Bloc répétable', from: 'procedure_types_de_champ_attributes_1_type_champ')
- fill_in 'procedure_types_de_champ_attributes_1_libelle', with: 'libellé de champ 2'
+ select('Bloc répétable', from: 'champ-0-type_champ')
+ fill_in 'champ-0-libelle', with: 'libellé de champ 2'
blur
expect(page).to have_content('Supprimer', count: 3)
end
it "Add carte champ" do
- select('Carte', from: 'procedure_types_de_champ_attributes_0_type_champ')
- fill_in 'procedure_types_de_champ_attributes_0_libelle', with: 'libellé de champ carte'
+ select('Carte', from: 'champ-0-type_champ')
+ fill_in 'champ-0-libelle', with: 'libellé de champ carte'
blur
check 'Quartiers prioritaires'
expect(page).to have_content('Formulaire enregistré')
diff --git a/spec/models/procedure_spec.rb b/spec/models/procedure_spec.rb
index 1d70c8c29..1a26b4704 100644
--- a/spec/models/procedure_spec.rb
+++ b/spec/models/procedure_spec.rb
@@ -819,4 +819,80 @@ describe Procedure do
it { expect(procedure.usual_instruction_time).to be_nil }
end
end
+
+ describe '#move_type_de_champ' do
+ let(:procedure) { create(:procedure) }
+
+ context 'type_de_champ' do
+ let(:type_de_champ) { create(:type_de_champ_text, order_place: 0, procedure: procedure) }
+ let!(:type_de_champ1) { create(:type_de_champ_text, order_place: 1, procedure: procedure) }
+ let!(:type_de_champ2) { create(:type_de_champ_text, order_place: 2, procedure: procedure) }
+
+ it 'move down' do
+ procedure.move_type_de_champ(type_de_champ, 2)
+
+ type_de_champ.reload
+ procedure.reload
+
+ expect(procedure.types_de_champ.index(type_de_champ)).to eq(2)
+ expect(type_de_champ.order_place).to eq(2)
+ end
+
+ context 'repetition' do
+ let!(:type_de_champ_repetition) do
+ create(:type_de_champ_repetition, types_de_champ: [
+ type_de_champ,
+ type_de_champ1,
+ type_de_champ2
+ ], procedure: procedure)
+ end
+
+ it 'move down' do
+ procedure.move_type_de_champ(type_de_champ, 2)
+
+ type_de_champ.reload
+ procedure.reload
+
+ expect(type_de_champ.parent.types_de_champ.index(type_de_champ)).to eq(2)
+ expect(type_de_champ.order_place).to eq(2)
+ end
+
+ context 'private' do
+ let!(:type_de_champ_repetition) do
+ create(:type_de_champ_repetition, types_de_champ: [
+ type_de_champ,
+ type_de_champ1,
+ type_de_champ2
+ ], private: true, procedure: procedure)
+ end
+
+ it 'move down' do
+ procedure.move_type_de_champ(type_de_champ, 2)
+
+ type_de_champ.reload
+ procedure.reload
+
+ expect(type_de_champ.parent.types_de_champ.index(type_de_champ)).to eq(2)
+ expect(type_de_champ.order_place).to eq(2)
+ end
+ end
+ end
+ end
+
+ context 'private' do
+ let(:type_de_champ) { create(:type_de_champ_text, order_place: 0, private: true, procedure: procedure) }
+ let!(:type_de_champ1) { create(:type_de_champ_text, order_place: 1, private: true, procedure: procedure) }
+ let!(:type_de_champ2) { create(:type_de_champ_text, order_place: 2, private: true, procedure: procedure) }
+
+ it 'move down' do
+ procedure.move_type_de_champ(type_de_champ, 2)
+
+ type_de_champ.reload
+ procedure.reload
+
+ expect(procedure.types_de_champ_private.index(type_de_champ)).to eq(2)
+ expect(type_de_champ.order_place).to eq(2)
+ end
+ end
+ end
end
diff --git a/yarn.lock b/yarn.lock
index e9b2f2ce8..11923e3e5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,26 +10,26 @@
"@babel/highlight" "^7.0.0"
"@babel/core@^7.0.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.0.tgz#a4dd3814901998e93340f0086e9867fefa163ada"
- integrity sha512-7pvAdC4B+iKjFFp9Ztj0QgBndJ++qaMeonT185wAqUnhipw8idm9Rv1UMyBuKtYjfl6ORNkgEgcsYLfHX/GpLw==
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.3.4.tgz#921a5a13746c21e32445bf0798680e9d11a6530b"
+ integrity sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==
dependencies:
"@babel/code-frame" "^7.0.0"
- "@babel/generator" "^7.2.0"
+ "@babel/generator" "^7.3.4"
"@babel/helpers" "^7.2.0"
- "@babel/parser" "^7.2.0"
- "@babel/template" "^7.1.2"
- "@babel/traverse" "^7.1.6"
- "@babel/types" "^7.2.0"
+ "@babel/parser" "^7.3.4"
+ "@babel/template" "^7.2.2"
+ "@babel/traverse" "^7.3.4"
+ "@babel/types" "^7.3.4"
convert-source-map "^1.1.0"
debug "^4.1.0"
json5 "^2.1.0"
- lodash "^4.17.10"
+ lodash "^4.17.11"
resolve "^1.3.2"
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.1.6", "@babel/generator@^7.2.0":
+"@babel/generator@^7.1.6":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.2.0.tgz#eaf3821fa0301d9d4aef88e63d4bcc19b73ba16c"
integrity sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==
@@ -40,6 +40,17 @@
source-map "^0.5.0"
trim-right "^1.0.1"
+"@babel/generator@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.4.tgz#9aa48c1989257877a9d971296e5b73bfe72e446e"
+ integrity sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==
+ dependencies:
+ "@babel/types" "^7.3.4"
+ jsesc "^2.5.1"
+ lodash "^4.17.11"
+ source-map "^0.5.0"
+ trim-right "^1.0.1"
+
"@babel/helper-annotate-as-pure@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"
@@ -55,6 +66,14 @@
"@babel/helper-explode-assignable-expression" "^7.1.0"
"@babel/types" "^7.0.0"
+"@babel/helper-builder-react-jsx@^7.3.0":
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4"
+ integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==
+ dependencies:
+ "@babel/types" "^7.3.0"
+ esutils "^2.0.0"
+
"@babel/helper-call-delegate@^7.1.0":
version "7.1.0"
resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a"
@@ -64,16 +83,17 @@
"@babel/traverse" "^7.1.0"
"@babel/types" "^7.0.0"
-"@babel/helper-create-class-features-plugin@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.0.tgz#8d52930558897042444e670f26ae6581ec9a4a4a"
- integrity sha512-INigeagreiKKZ4Ouo8Wun2y+XT4KxAdNztesU3C/AynDsdtIu00qjgw6QXSM3hVzQ7FvAL4sFmoEpFPuXkeHiw==
+"@babel/helper-create-class-features-plugin@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.3.4.tgz#092711a7a3ad8ea34de3e541644c2ce6af1f6f0c"
+ integrity sha512-uFpzw6L2omjibjxa8VGZsJUPL5wJH0zzGKpoz0ccBkzIa6C8kWNUbiBmQ0rgOKWlHJ6qzmfa6lTiGchiV8SC+g==
dependencies:
"@babel/helper-function-name" "^7.1.0"
"@babel/helper-member-expression-to-functions" "^7.0.0"
"@babel/helper-optimise-call-expression" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.1.0"
+ "@babel/helper-replace-supers" "^7.3.4"
+ "@babel/helper-split-export-declaration" "^7.0.0"
"@babel/helper-define-map@^7.1.0":
version "7.1.0"
@@ -181,6 +201,16 @@
"@babel/traverse" "^7.1.0"
"@babel/types" "^7.0.0"
+"@babel/helper-replace-supers@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.3.4.tgz#a795208e9b911a6eeb08e5891faacf06e7013e13"
+ integrity sha512-pvObL9WVf2ADs+ePg0jrqlhHoxRXlOa+SHRHzAXIz2xkYuOHfGl+fKxPMaS4Fq+uje8JQPobnertBBvyrWnQ1A==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.0.0"
+ "@babel/helper-optimise-call-expression" "^7.0.0"
+ "@babel/traverse" "^7.3.4"
+ "@babel/types" "^7.3.4"
+
"@babel/helper-simple-access@^7.1.0":
version "7.1.0"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c"
@@ -224,7 +254,12 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.2", "@babel/parser@^7.1.6", "@babel/parser@^7.2.0":
+"@babel/parser@^7.0.0", "@babel/parser@^7.2.2", "@babel/parser@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.4.tgz#a43357e4bbf4b92a437fb9e465c192848287f27c"
+ integrity sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==
+
+"@babel/parser@^7.1.2", "@babel/parser@^7.1.6":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.0.tgz#02d01dbc330b6cbf36b76ac93c50752c69027065"
integrity sha512-M74+GvK4hn1eejD9lZ7967qAwvqTZayQa3g10ag4s9uewgR7TKjeaT0YMyoq+gVfKYABiWZ4MQD701/t5e1Jhg==
@@ -239,11 +274,11 @@
"@babel/plugin-syntax-async-generators" "^7.2.0"
"@babel/plugin-proposal-class-properties@^7.0.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.0.tgz#12ade6dc7b92ea4fa4c84b4d7b87e9d0f446b4f8"
- integrity sha512-pdBj4Hvyt/L1LA0Vvm/Tkp9gNDGLIkSbX8IrYfWcoA5xUZIg8qjSOTChUSaCjYdvoMcB9y2bXVGNVZ5DH62CZg==
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.4.tgz#410f5173b3dc45939f9ab30ca26684d72901405e"
+ integrity sha512-lUf8D3HLs4yYlAo8zjuneLvfxN7qfKv1Yzbj5vjqaqMJxgJA3Ipwp4VUJ+OrOdz53Wbww6ahwB8UhB2HQyLotA==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.2.0"
+ "@babel/helper-create-class-features-plugin" "^7.3.4"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-proposal-json-strings@^7.2.0":
@@ -254,10 +289,10 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-json-strings" "^7.2.0"
-"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz#88f5fec3e7ad019014c97f7ee3c992f0adbf7fb8"
- integrity sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==
+"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.4.tgz#47f73cf7f2a721aad5c0261205405c642e424654"
+ integrity sha512-j7VQmbbkA+qrzNqbKHrBsW3ddFnOeva6wzSe/zB7T+xaxGc+RCpwo44wCmRixAIGRoIpmVgvzFzNJqQcO3/9RA==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-object-rest-spread" "^7.2.0"
@@ -300,6 +335,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-syntax-jsx@^7.2.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7"
+ integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
"@babel/plugin-syntax-object-rest-spread@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e"
@@ -321,10 +363,10 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-async-to-generator@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz#68b8a438663e88519e65b776f8938f3445b1a2ff"
- integrity sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==
+"@babel/plugin-transform-async-to-generator@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.3.4.tgz#4e45408d3c3da231c0e7b823f407a53a7eb3048c"
+ integrity sha512-Y7nCzv2fw/jEZ9f678MuKdMo99MFDJMT/PvD9LisrR5JDFcJH6vYeH6RnjVt3p5tceyGRvTtEN0VOlU+rgHZjA==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
@@ -337,25 +379,25 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-block-scoping@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz#f17c49d91eedbcdf5dd50597d16f5f2f770132d4"
- integrity sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==
+"@babel/plugin-transform-block-scoping@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.3.4.tgz#5c22c339de234076eee96c8783b2fed61202c5c4"
+ integrity sha512-blRr2O8IOZLAOJklXLV4WhcEzpYafYQKSGT3+R26lWG41u/FODJuBggehtOwilVAcFu393v3OFj+HmaE6tVjhA==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
- lodash "^4.17.10"
+ lodash "^4.17.11"
-"@babel/plugin-transform-classes@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.0.tgz#374f8876075d7d21fea55aeb5c53561259163f96"
- integrity sha512-aPCEkrhJYebDXcGTAP+cdUENkH7zqOlgbKwLbghjjHpJRJBWM/FSlCjMoPGA8oUdiMfOrk3+8EFPLLb5r7zj2w==
+"@babel/plugin-transform-classes@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.3.4.tgz#dc173cb999c6c5297e0b5f2277fdaaec3739d0cc"
+ integrity sha512-J9fAvCFBkXEvBimgYxCjvaVDzL6thk0j0dBvCeZmIUDBwyt+nv6HfbImsSrWsYXfDNDivyANgJlFXDUWRTZBuA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.0.0"
"@babel/helper-define-map" "^7.1.0"
"@babel/helper-function-name" "^7.1.0"
"@babel/helper-optimise-call-expression" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
- "@babel/helper-replace-supers" "^7.1.0"
+ "@babel/helper-replace-supers" "^7.3.4"
"@babel/helper-split-export-declaration" "^7.0.0"
globals "^11.1.0"
@@ -366,7 +408,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.2.0":
+"@babel/plugin-transform-destructuring@^7.0.0":
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz#f2f5520be055ba1c38c41c0e094d8a461dd78f2d"
+ integrity sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-destructuring@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz#e75269b4b7889ec3a332cd0d0c8cff8fed0dc6f3"
integrity sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==
@@ -436,10 +485,10 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/helper-simple-access" "^7.1.0"
-"@babel/plugin-transform-modules-systemjs@^7.2.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz#912bfe9e5ff982924c81d0937c92d24994bb9068"
- integrity sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ==
+"@babel/plugin-transform-modules-systemjs@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.3.4.tgz#813b34cd9acb6ba70a84939f3680be0eb2e58861"
+ integrity sha512-VZ4+jlGOF36S7TjKs8g4ojp4MEI+ebCQZdswWb/T9I4X84j8OtFAyjXjt/M16iIm5RIZn0UMQgg/VgIwo/87vw==
dependencies:
"@babel/helper-hoist-variables" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
@@ -452,6 +501,13 @@
"@babel/helper-module-transforms" "^7.1.0"
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-transform-named-capturing-groups-regex@^7.3.0":
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz#140b52985b2d6ef0cb092ef3b29502b990f9cd50"
+ integrity sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw==
+ dependencies:
+ regexp-tree "^0.1.0"
+
"@babel/plugin-transform-new-target@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a"
@@ -476,17 +532,49 @@
"@babel/helper-get-function-arity" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
-"@babel/plugin-transform-regenerator@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1"
- integrity sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==
+"@babel/plugin-transform-react-display-name@^7.0.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0"
+ integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==
dependencies:
- regenerator-transform "^0.13.3"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-react-jsx-self@^7.0.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba"
+ integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@babel/plugin-transform-react-jsx-source@^7.0.0":
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f"
+ integrity sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@babel/plugin-transform-react-jsx@^7.0.0":
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290"
+ integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==
+ dependencies:
+ "@babel/helper-builder-react-jsx" "^7.3.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@babel/plugin-transform-regenerator@^7.0.0", "@babel/plugin-transform-regenerator@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.3.4.tgz#1601655c362f5b38eead6a52631f5106b29fa46a"
+ integrity sha512-hvJg8EReQvXT6G9H2MvNPXkv9zK36Vxa1+csAVTpE1J3j0zlHplw76uudEbJxgvqZzAq9Yh45FLD4pk5mKRFQA==
+ dependencies:
+ regenerator-transform "^0.13.4"
"@babel/plugin-transform-runtime@^7.0.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz#566bc43f7d0aedc880eaddbd29168d0f248966ea"
- integrity sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.3.4.tgz#57805ac8c1798d102ecd75c03b024a5b3ea9b431"
+ integrity sha512-PaoARuztAdd5MgeVjAxnIDAIUet5KpogqaefQvPOmPYCxYoaPhautxDh3aO8a4xHsKgT/b9gSxR0BKK1MIewPA==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
@@ -540,33 +628,34 @@
regexpu-core "^4.1.3"
"@babel/polyfill@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.0.0.tgz#c8ff65c9ec3be6a1ba10113ebd40e8750fb90bff"
- integrity sha512-dnrMRkyyr74CRelJwvgnnSUDh2ge2NCTyHVwpOdvRMHtJUyxLtMAfhBN3s64pY41zdw0kgiLPh6S20eb1NcX6Q==
+ version "7.2.5"
+ resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.2.5.tgz#6c54b964f71ad27edddc567d065e57e87ed7fa7d"
+ integrity sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug==
dependencies:
core-js "^2.5.7"
- regenerator-runtime "^0.11.1"
+ regenerator-runtime "^0.12.0"
"@babel/preset-env@^7.0.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.2.0.tgz#a5030e7e4306af5a295dd5d7c78dc5464af3fee2"
- integrity sha512-haGR38j5vOGVeBatrQPr3l0xHbs14505DcM57cbJy48kgMFvvHHoYEhHuRV+7vi559yyAUAVbTWzbK/B/pzJng==
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.4.tgz#887cf38b6d23c82f19b5135298bdb160062e33e1"
+ integrity sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-proposal-async-generator-functions" "^7.2.0"
"@babel/plugin-proposal-json-strings" "^7.2.0"
- "@babel/plugin-proposal-object-rest-spread" "^7.2.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.3.4"
"@babel/plugin-proposal-optional-catch-binding" "^7.2.0"
"@babel/plugin-proposal-unicode-property-regex" "^7.2.0"
"@babel/plugin-syntax-async-generators" "^7.2.0"
+ "@babel/plugin-syntax-json-strings" "^7.2.0"
"@babel/plugin-syntax-object-rest-spread" "^7.2.0"
"@babel/plugin-syntax-optional-catch-binding" "^7.2.0"
"@babel/plugin-transform-arrow-functions" "^7.2.0"
- "@babel/plugin-transform-async-to-generator" "^7.2.0"
+ "@babel/plugin-transform-async-to-generator" "^7.3.4"
"@babel/plugin-transform-block-scoped-functions" "^7.2.0"
- "@babel/plugin-transform-block-scoping" "^7.2.0"
- "@babel/plugin-transform-classes" "^7.2.0"
+ "@babel/plugin-transform-block-scoping" "^7.3.4"
+ "@babel/plugin-transform-classes" "^7.3.4"
"@babel/plugin-transform-computed-properties" "^7.2.0"
"@babel/plugin-transform-destructuring" "^7.2.0"
"@babel/plugin-transform-dotall-regex" "^7.2.0"
@@ -577,12 +666,13 @@
"@babel/plugin-transform-literals" "^7.2.0"
"@babel/plugin-transform-modules-amd" "^7.2.0"
"@babel/plugin-transform-modules-commonjs" "^7.2.0"
- "@babel/plugin-transform-modules-systemjs" "^7.2.0"
+ "@babel/plugin-transform-modules-systemjs" "^7.3.4"
"@babel/plugin-transform-modules-umd" "^7.2.0"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.3.0"
"@babel/plugin-transform-new-target" "^7.0.0"
"@babel/plugin-transform-object-super" "^7.2.0"
"@babel/plugin-transform-parameters" "^7.2.0"
- "@babel/plugin-transform-regenerator" "^7.0.0"
+ "@babel/plugin-transform-regenerator" "^7.3.4"
"@babel/plugin-transform-shorthand-properties" "^7.2.0"
"@babel/plugin-transform-spread" "^7.2.0"
"@babel/plugin-transform-sticky-regex" "^7.2.0"
@@ -594,10 +684,21 @@
js-levenshtein "^1.1.3"
semver "^5.3.0"
-"@babel/runtime@^7.0.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.2.0.tgz#b03e42eeddf5898e00646e4c840fa07ba8dcad7f"
- integrity sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==
+"@babel/preset-react@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0"
+ integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-transform-react-display-name" "^7.0.0"
+ "@babel/plugin-transform-react-jsx" "^7.0.0"
+ "@babel/plugin-transform-react-jsx-self" "^7.0.0"
+ "@babel/plugin-transform-react-jsx-source" "^7.0.0"
+
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.2.0":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83"
+ integrity sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==
dependencies:
regenerator-runtime "^0.12.0"
@@ -610,7 +711,31 @@
"@babel/parser" "^7.1.2"
"@babel/types" "^7.1.2"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.1.6":
+"@babel/template@^7.2.2":
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907"
+ integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.2.2"
+ "@babel/types" "^7.2.2"
+
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.3.4.tgz#1330aab72234f8dea091b08c4f8b9d05c7119e06"
+ integrity sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/generator" "^7.3.4"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-split-export-declaration" "^7.0.0"
+ "@babel/parser" "^7.3.4"
+ "@babel/types" "^7.3.4"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.11"
+
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5":
version "7.1.6"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.1.6.tgz#c8db9963ab4ce5b894222435482bd8ea854b7b5c"
integrity sha512-CXedit6GpISz3sC2k2FsGCUpOhUqKdyL0lqNrImQojagnUMXf8hex4AxYFRuMkNGcvJX5QAFGzB5WJQmSv8SiQ==
@@ -634,11 +759,47 @@
lodash "^4.17.10"
to-fast-properties "^2.0.0"
+"@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.3.4":
+ version "7.3.4"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.4.tgz#bf482eaeaffb367a28abbf9357a94963235d90ed"
+ integrity sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==
+ dependencies:
+ esutils "^2.0.2"
+ lodash "^4.17.11"
+ to-fast-properties "^2.0.0"
+
"@csstools/convert-colors@^1.4.0":
version "1.4.0"
resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7"
integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==
+"@fortawesome/fontawesome-common-types@^0.2.15":
+ version "0.2.15"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.15.tgz#16af950653083d1e3064061de9f8e5e3b579f688"
+ integrity sha512-ATBRyKJw1d2ko+0DWN9+BXau0EK3I/Q6pPzPv3LhJD7r052YFAkAdfb1Bd7ZqhBsJrdse/S7jKxWUOZ61qBD4g==
+
+"@fortawesome/fontawesome-svg-core@^1.2.15":
+ version "1.2.15"
+ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.15.tgz#368f9fc7e8e8d8636495dc7483f97510f920ba97"
+ integrity sha512-M/sHyl4g2VBtKYkay1Z+XImMyTVcaBPmehYtPw4HKD9zg2E7eovB7Yx98aUfZjPbroGqa+IL4/+KhWBMOGlHIQ==
+ dependencies:
+ "@fortawesome/fontawesome-common-types" "^0.2.15"
+
+"@fortawesome/free-solid-svg-icons@^5.7.2":
+ version "5.7.2"
+ resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.7.2.tgz#9ec2ed353d630092a8e19cc8aae2f716572963e5"
+ integrity sha512-iujcXMyAvIbWM8W3jkOLpvJbR+rPpdN1QyqhZeJaLRdHPH4JmuovIAYP4vx5Sa1csZVXfRD1eDWqVZ/jGM620A==
+ dependencies:
+ "@fortawesome/fontawesome-common-types" "^0.2.15"
+
+"@fortawesome/react-fontawesome@^0.1.4":
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.4.tgz#18d61d9b583ca289a61aa7dccc05bd164d6bc9ad"
+ integrity sha512-GwmxQ+TK7PEdfSwvxtGnMCqrfEm0/HbRHArbUudsYiy9KzVCwndxa2KMcfyTQ8El0vROrq8gOOff09RF1oQe8g==
+ dependencies:
+ humps "^2.0.1"
+ prop-types "^15.5.10"
+
"@rails/webpacker@4.0.0-pre.3":
version "4.0.0-pre.3"
resolved "https://registry.yarnpkg.com/@rails/webpacker/-/webpacker-4.0.0-pre.3.tgz#8974c98ba6f2fbe4e67e6d2b7812ee5d817d29e8"
@@ -766,173 +927,161 @@
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45"
integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==
-"@vue/component-compiler-utils@^2.4.0":
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-2.5.0.tgz#411846d582d393f701f747517ddd29275ce64ca4"
- integrity sha512-mSB8jWmE/ZeYZHPDEx9hNiiRh5P2V1Q0tObxEQWtxxfXtkIAvPnj7oucGm5SO8Y/QwIlDJgAGqHfj5MCjoKoOg==
+"@webassemblyjs/ast@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
+ integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==
dependencies:
- consolidate "^0.15.1"
- hash-sum "^1.0.2"
- lru-cache "^4.1.2"
- merge-source-map "^1.1.0"
- postcss "^7.0.7"
- postcss-selector-parser "^5.0.0"
- prettier "1.13.7"
- source-map "^0.7.3"
- vue-template-es2015-compiler "^1.6.0"
+ "@webassemblyjs/helper-module-context" "1.8.5"
+ "@webassemblyjs/helper-wasm-bytecode" "1.8.5"
+ "@webassemblyjs/wast-parser" "1.8.5"
-"@webassemblyjs/ast@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace"
- integrity sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==
+"@webassemblyjs/floating-point-hex-parser@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721"
+ integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==
+
+"@webassemblyjs/helper-api-error@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7"
+ integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==
+
+"@webassemblyjs/helper-buffer@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204"
+ integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==
+
+"@webassemblyjs/helper-code-frame@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e"
+ integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==
dependencies:
- "@webassemblyjs/helper-module-context" "1.7.11"
- "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
- "@webassemblyjs/wast-parser" "1.7.11"
+ "@webassemblyjs/wast-printer" "1.8.5"
-"@webassemblyjs/floating-point-hex-parser@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313"
- integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==
+"@webassemblyjs/helper-fsm@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452"
+ integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==
-"@webassemblyjs/helper-api-error@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a"
- integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==
-
-"@webassemblyjs/helper-buffer@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b"
- integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==
-
-"@webassemblyjs/helper-code-frame@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b"
- integrity sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==
+"@webassemblyjs/helper-module-context@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245"
+ integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==
dependencies:
- "@webassemblyjs/wast-printer" "1.7.11"
+ "@webassemblyjs/ast" "1.8.5"
+ mamacro "^0.0.3"
-"@webassemblyjs/helper-fsm@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181"
- integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==
+"@webassemblyjs/helper-wasm-bytecode@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61"
+ integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==
-"@webassemblyjs/helper-module-context@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209"
- integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==
-
-"@webassemblyjs/helper-wasm-bytecode@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06"
- integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==
-
-"@webassemblyjs/helper-wasm-section@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a"
- integrity sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==
+"@webassemblyjs/helper-wasm-section@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf"
+ integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==
dependencies:
- "@webassemblyjs/ast" "1.7.11"
- "@webassemblyjs/helper-buffer" "1.7.11"
- "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
- "@webassemblyjs/wasm-gen" "1.7.11"
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/helper-buffer" "1.8.5"
+ "@webassemblyjs/helper-wasm-bytecode" "1.8.5"
+ "@webassemblyjs/wasm-gen" "1.8.5"
-"@webassemblyjs/ieee754@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b"
- integrity sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==
+"@webassemblyjs/ieee754@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e"
+ integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==
dependencies:
"@xtuc/ieee754" "^1.2.0"
-"@webassemblyjs/leb128@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63"
- integrity sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==
+"@webassemblyjs/leb128@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10"
+ integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==
dependencies:
- "@xtuc/long" "4.2.1"
+ "@xtuc/long" "4.2.2"
-"@webassemblyjs/utf8@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82"
- integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==
+"@webassemblyjs/utf8@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc"
+ integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==
-"@webassemblyjs/wasm-edit@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005"
- integrity sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==
+"@webassemblyjs/wasm-edit@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a"
+ integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==
dependencies:
- "@webassemblyjs/ast" "1.7.11"
- "@webassemblyjs/helper-buffer" "1.7.11"
- "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
- "@webassemblyjs/helper-wasm-section" "1.7.11"
- "@webassemblyjs/wasm-gen" "1.7.11"
- "@webassemblyjs/wasm-opt" "1.7.11"
- "@webassemblyjs/wasm-parser" "1.7.11"
- "@webassemblyjs/wast-printer" "1.7.11"
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/helper-buffer" "1.8.5"
+ "@webassemblyjs/helper-wasm-bytecode" "1.8.5"
+ "@webassemblyjs/helper-wasm-section" "1.8.5"
+ "@webassemblyjs/wasm-gen" "1.8.5"
+ "@webassemblyjs/wasm-opt" "1.8.5"
+ "@webassemblyjs/wasm-parser" "1.8.5"
+ "@webassemblyjs/wast-printer" "1.8.5"
-"@webassemblyjs/wasm-gen@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8"
- integrity sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==
+"@webassemblyjs/wasm-gen@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc"
+ integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==
dependencies:
- "@webassemblyjs/ast" "1.7.11"
- "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
- "@webassemblyjs/ieee754" "1.7.11"
- "@webassemblyjs/leb128" "1.7.11"
- "@webassemblyjs/utf8" "1.7.11"
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/helper-wasm-bytecode" "1.8.5"
+ "@webassemblyjs/ieee754" "1.8.5"
+ "@webassemblyjs/leb128" "1.8.5"
+ "@webassemblyjs/utf8" "1.8.5"
-"@webassemblyjs/wasm-opt@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7"
- integrity sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==
+"@webassemblyjs/wasm-opt@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264"
+ integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==
dependencies:
- "@webassemblyjs/ast" "1.7.11"
- "@webassemblyjs/helper-buffer" "1.7.11"
- "@webassemblyjs/wasm-gen" "1.7.11"
- "@webassemblyjs/wasm-parser" "1.7.11"
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/helper-buffer" "1.8.5"
+ "@webassemblyjs/wasm-gen" "1.8.5"
+ "@webassemblyjs/wasm-parser" "1.8.5"
-"@webassemblyjs/wasm-parser@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a"
- integrity sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==
+"@webassemblyjs/wasm-parser@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d"
+ integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==
dependencies:
- "@webassemblyjs/ast" "1.7.11"
- "@webassemblyjs/helper-api-error" "1.7.11"
- "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
- "@webassemblyjs/ieee754" "1.7.11"
- "@webassemblyjs/leb128" "1.7.11"
- "@webassemblyjs/utf8" "1.7.11"
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/helper-api-error" "1.8.5"
+ "@webassemblyjs/helper-wasm-bytecode" "1.8.5"
+ "@webassemblyjs/ieee754" "1.8.5"
+ "@webassemblyjs/leb128" "1.8.5"
+ "@webassemblyjs/utf8" "1.8.5"
-"@webassemblyjs/wast-parser@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c"
- integrity sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==
+"@webassemblyjs/wast-parser@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c"
+ integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==
dependencies:
- "@webassemblyjs/ast" "1.7.11"
- "@webassemblyjs/floating-point-hex-parser" "1.7.11"
- "@webassemblyjs/helper-api-error" "1.7.11"
- "@webassemblyjs/helper-code-frame" "1.7.11"
- "@webassemblyjs/helper-fsm" "1.7.11"
- "@xtuc/long" "4.2.1"
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/floating-point-hex-parser" "1.8.5"
+ "@webassemblyjs/helper-api-error" "1.8.5"
+ "@webassemblyjs/helper-code-frame" "1.8.5"
+ "@webassemblyjs/helper-fsm" "1.8.5"
+ "@xtuc/long" "4.2.2"
-"@webassemblyjs/wast-printer@1.7.11":
- version "1.7.11"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813"
- integrity sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==
+"@webassemblyjs/wast-printer@1.8.5":
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc"
+ integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==
dependencies:
- "@webassemblyjs/ast" "1.7.11"
- "@webassemblyjs/wast-parser" "1.7.11"
- "@xtuc/long" "4.2.1"
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/wast-parser" "1.8.5"
+ "@xtuc/long" "4.2.2"
"@xtuc/ieee754@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
-"@xtuc/long@4.2.1":
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8"
- integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==
+"@xtuc/long@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
+ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
abbrev@1:
version "1.1.1"
@@ -947,12 +1096,10 @@ accepts@~1.3.4, accepts@~1.3.5:
mime-types "~2.1.18"
negotiator "0.6.1"
-acorn-dynamic-import@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278"
- integrity sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==
- dependencies:
- acorn "^5.0.0"
+acorn-dynamic-import@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948"
+ integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==
acorn-jsx@^4.1.1:
version "4.1.1"
@@ -961,15 +1108,20 @@ acorn-jsx@^4.1.1:
dependencies:
acorn "^5.0.3"
-acorn@^5.0.0, acorn@^5.0.3, acorn@^5.6.0, acorn@^5.6.2:
+acorn@^5.0.3, acorn@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
integrity sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==
-activestorage@^5.2.2-rc1:
- version "5.2.2-rc1"
- resolved "https://registry.yarnpkg.com/activestorage/-/activestorage-5.2.2-rc1.tgz#99c27a08974fd953a66f7c96488cd70f0ecffda5"
- integrity sha512-HO0oiAfCVSGa80MYVGaNBQaecvWEg5/hsMbqHcmKvxsQVkDfS0TbDYT96nJ8l2t0sZ4lVNeVjOYBn15Bf5Eqig==
+acorn@^6.0.5:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
+ integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
+
+activestorage@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/activestorage/-/activestorage-5.2.2.tgz#035c03f247467c13cd659584833502433099f8f4"
+ integrity sha512-mFNTTU21Xf67RhYuBB90uPXKlafPtwy8cxXsKny9roKvkluZkLz6ih3s6VkjK+4cL8+aIGVV39RVIzmy1cfxqw==
dependencies:
spark-md5 "^3.0.0"
@@ -1181,6 +1333,14 @@ array-flatten@^2.1.0:
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296"
integrity sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=
+array-includes@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
+ integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.7.0"
+
array-slice@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
@@ -1269,10 +1429,10 @@ atob@^2.1.1:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a"
integrity sha1-ri1acpR38onWDdf5amMUoi3Wwio=
-autocomplete.js@^0.31.0:
- version "0.31.0"
- resolved "https://registry.yarnpkg.com/autocomplete.js/-/autocomplete.js-0.31.0.tgz#2387c4e9759dbfd03558777705f6f14a66ba446c"
- integrity sha512-eews6qUL2xbGyOjpqL6I5STOGdZtkcXDtPAot+4HQk0T+H8X/c9JKHY5C78ATfLM4fI+lJ00pWvPEOcHRkNRrQ==
+autocomplete.js@^0.36.0:
+ version "0.36.0"
+ resolved "https://registry.yarnpkg.com/autocomplete.js/-/autocomplete.js-0.36.0.tgz#94fe775fe64b6cd42e622d076dc7fd26bedd837b"
+ integrity sha512-jEwUXnVMeCHHutUt10i/8ZiRaCb0Wo+ZyKxeGsYwBDtw6EJHqEeDrq4UwZRD8YBSvp3g6klP678il2eeiVXN2Q==
dependencies:
immediate "^3.2.3"
@@ -1312,16 +1472,41 @@ babel-core@^7.0.0-bridge:
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
-babel-loader@^8.0.0:
- version "8.0.4"
- resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.4.tgz#7bbf20cbe4560629e2e41534147692d3fecbdce6"
- integrity sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==
+babel-eslint@^10.0.1:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz#919681dc099614cd7d31d45c8908695092a1faed"
+ integrity sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==
dependencies:
- find-cache-dir "^1.0.0"
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.0.0"
+ "@babel/traverse" "^7.0.0"
+ "@babel/types" "^7.0.0"
+ eslint-scope "3.7.1"
+ eslint-visitor-keys "^1.0.0"
+
+babel-loader@^8.0.0:
+ version "8.0.5"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33"
+ integrity sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw==
+ dependencies:
+ find-cache-dir "^2.0.0"
loader-utils "^1.0.2"
mkdirp "^0.5.1"
util.promisify "^1.0.0"
+babel-plugin-macros@^2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.5.0.tgz#01f4d3b50ed567a67b80a30b9da066e94f4097b6"
+ integrity sha512-BWw0lD0kVZAXRD3Od1kMrdmfudqzDzYv2qrN3l2ISR1HVp1EgLKfbOrYV9xmY5k3qx3RIu5uPAUZZZHpo0o5Iw==
+ dependencies:
+ cosmiconfig "^5.0.5"
+ resolve "^1.8.1"
+
+babel-plugin-transform-react-remove-prop-types@^0.4.24:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
+ integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
+
balanced-match@^0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
@@ -1362,11 +1547,6 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
-bezier-easing@^2.0.3:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/bezier-easing/-/bezier-easing-2.1.0.tgz#c04dfe8b926d6ecaca1813d69ff179b7c2025d86"
- integrity sha1-wE3+i5JtbsrKGBPWn/F5t8ICXYY=
-
big.js@^3.1.3:
version "3.2.0"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
@@ -1389,11 +1569,6 @@ block-stream@*:
dependencies:
inherits "~2.0.0"
-bluebird@^3.1.1:
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7"
- integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==
-
bluebird@^3.5.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
@@ -1741,20 +1916,25 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844:
+caniuse-lite@^1.0.0:
version "1.0.30000865"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000865.tgz#70026616e8afe6e1442f8bb4e1092987d81a2f25"
integrity sha512-vs79o1mOSKRGv/1pSkp4EXgl4ZviWeYReXw60XfacPU64uQWZwJT6vZNmxRF9O+6zu71sJwMxLK5JXxbzuVrLw==
-caniuse-lite@^1.0.30000864, caniuse-lite@^1.0.30000865, caniuse-lite@^1.0.30000912:
+caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000864, caniuse-lite@^1.0.30000865:
+ version "1.0.30000942"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000942.tgz#454139b28274bce70bfe1d50c30970df7430c6e4"
+ integrity sha512-wLf+IhZUy2rfz48tc40OH7jHjXjnvDFEYqBHluINs/6MgzoNLPf25zhE4NOVzqxLKndf+hau81sAW0RcGHIaBQ==
+
+caniuse-lite@^1.0.30000912:
version "1.0.30000914"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000914.tgz#f802b4667c24d0255f54a95818dcf8e1aa41f624"
integrity sha512-qqj0CL1xANgg6iDOybiPTIxtsmAnfIky9mBC35qgWrnK4WwmhqfpmkDYMYgwXJ8LRZ3/2jXlCntulO8mBaAgSg==
case-sensitive-paths-webpack-plugin@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz#c899b52175763689224571dad778742e133f0192"
- integrity sha512-oEZgAFfEvKtjSRCu6VgYkuGxwrWXMnQzyBmlLPP7r6PWQVtHxP5Z5N6XsuJvtoVax78am/r7lr46bwo3IVEBOg==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e"
+ integrity sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g==
caseless@~0.12.0:
version "0.12.0"
@@ -1781,15 +1961,6 @@ chalk@^2.0, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.0, chalk@^2.4.1:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
-chalk@^2.4.2:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
chardet@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
@@ -1971,7 +2142,14 @@ collection-visit@^1.0.0:
map-visit "^1.0.0"
object-visit "^1.0.0"
-color-convert@^1.8.2, color-convert@^1.9.0, color-convert@^1.9.1:
+color-convert@^1.8.2:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-convert@^1.9.0, color-convert@^1.9.1:
version "1.9.2"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147"
integrity sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==
@@ -1983,12 +2161,20 @@ color-name@1.1.1:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689"
integrity sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=
-color-name@^1.0.0:
+color-name@1.1.3, color-name@^1.0.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-color-string@^1.4.0, color-string@^1.5.2:
+color-string@^1.4.0:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
+ integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
+ dependencies:
+ color-name "^1.0.0"
+ simple-swizzle "^0.2.2"
+
+color-string@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.2.tgz#26e45814bc3c9a7cbd6751648a41434514a773a9"
integrity sha1-JuRYFLw8mny9Z1FkikFDRRSnc6k=
@@ -2049,11 +2235,48 @@ commondir@^1.0.1:
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+component-clone@0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/component-clone/-/component-clone-0.2.2.tgz#c7f5979822880fad8cfb0962ba29186d061ee04f"
+ integrity sha1-x/WXmCKID62M+wliuikYbQYe4E8=
+ dependencies:
+ component-type "*"
+
+component-emitter@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.0.tgz#ccd113a86388d06482d03de3fc7df98526ba8efe"
+ integrity sha1-zNETqGOI0GSC0D3j/H35hSa6jv4=
+
component-emitter@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
+component-raf@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/component-raf/-/component-raf-1.2.0.tgz#b2bc72d43f1b014fde7a4b3c447c764bc73ccbaa"
+ integrity sha1-srxy1D8bAU/eeks8RHx2S8c8y6o=
+
+component-tween@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/component-tween/-/component-tween-1.2.0.tgz#cc39ce5dbab05b52825f41d1947638a0b01b2b8a"
+ integrity sha1-zDnOXbqwW1KCX0HRlHY4oLAbK4o=
+ dependencies:
+ component-clone "0.2.2"
+ component-emitter "1.2.0"
+ component-type "1.1.0"
+ ease-component "1.0.0"
+
+component-type@*:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/component-type/-/component-type-1.2.1.tgz#8a47901700238e4fc32269771230226f24b415a9"
+ integrity sha1-ikeQFwAjjk/DIml3EjAibyS0Fak=
+
+component-type@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/component-type/-/component-type-1.1.0.tgz#95b666aad53e5c8d1f2be135c45b5d499197c0c5"
+ integrity sha1-lbZmqtU+XI0fK+E1xFtdSZGXwMU=
+
compressible@~2.0.13:
version "2.0.14"
resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.14.tgz#326c5f507fbb055f54116782b969a81b67a29da7"
@@ -2117,13 +2340,6 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0:
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
-consolidate@^0.15.1:
- version "0.15.1"
- resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7"
- integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==
- dependencies:
- bluebird "^3.1.1"
-
constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
@@ -2203,6 +2419,17 @@ cosmiconfig@^5.0.0:
js-yaml "^3.9.0"
parse-json "^4.0.0"
+cosmiconfig@^5.0.5:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.1.0.tgz#6c5c35e97f37f985061cdf653f114784231185cf"
+ integrity sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==
+ dependencies:
+ import-fresh "^2.0.0"
+ is-directory "^0.3.1"
+ js-yaml "^3.9.0"
+ lodash.get "^4.4.2"
+ parse-json "^4.0.0"
+
create-ecdh@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
@@ -2334,9 +2561,9 @@ css-select@^2.0.0:
nth-check "^1.0.2"
css-selector-tokenizer@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86"
- integrity sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d"
+ integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==
dependencies:
cssesc "^0.1.0"
fastparse "^1.1.1"
@@ -2497,17 +2724,12 @@ date-now@^0.1.4:
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
-de-indent@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
- integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=
-
debounce@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131"
integrity sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==
-debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8:
+debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -2521,6 +2743,13 @@ debug@^3.1.0:
dependencies:
ms "2.0.0"
+debug@^3.2.5:
+ version "3.2.6"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
+ integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
+ dependencies:
+ ms "^2.1.1"
+
debug@^4.0.1, debug@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87"
@@ -2528,6 +2757,13 @@ debug@^4.0.1, debug@^4.1.0:
dependencies:
ms "^2.1.1"
+debug@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
+ integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
+ dependencies:
+ ms "^2.1.1"
+
decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -2567,12 +2803,12 @@ deep-is@~0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-default-gateway@^2.6.0:
- version "2.7.2"
- resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f"
- integrity sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==
+default-gateway@^4.0.1:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b"
+ integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==
dependencies:
- execa "^0.10.0"
+ execa "^1.0.0"
ip-regex "^2.1.0"
define-properties@^1.1.2:
@@ -2663,15 +2899,20 @@ destroy@~1.0.4:
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+detect-file@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
+ integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
+
detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
-detect-node@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127"
- integrity sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=
+detect-node@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
+ integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==
diffie-hellman@^5.0.0:
version "5.0.3"
@@ -2767,6 +3008,11 @@ duplexify@^3.4.2, duplexify@^3.6.0:
readable-stream "^2.0.0"
stream-shift "^1.0.0"
+ease-component@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/ease-component/-/ease-component-1.0.0.tgz#b375726db0b5b04595b77440396fec7daa5d77c9"
+ integrity sha1-s3VybbC1sEWVt3RAOW/sfapdd8k=
+
ecc-jsbn@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
@@ -2813,9 +3059,9 @@ ee-first@1.1.1:
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
electron-to-chromium@^1.3.47:
- version "1.3.52"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.52.tgz#d2d9f1270ba4a3b967b831c40ef71fb4d9ab5ce0"
- integrity sha1-0tnxJwuko7lnuDHEDvcftNmrXOA=
+ version "1.3.113"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz#b1ccf619df7295aea17bc6951dc689632629e4a9"
+ integrity sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==
electron-to-chromium@^1.3.86:
version "1.3.88"
@@ -2889,6 +3135,18 @@ error-ex@^1.2.0, error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
+es-abstract@^1.11.0, es-abstract@^1.7.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
+ integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
+ dependencies:
+ es-to-primitive "^1.2.0"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ is-callable "^1.1.4"
+ is-regex "^1.0.4"
+ object-keys "^1.0.12"
+
es-abstract@^1.5.1, es-abstract@^1.6.1:
version "1.12.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
@@ -2900,7 +3158,7 @@ es-abstract@^1.5.1, es-abstract@^1.6.1:
is-callable "^1.1.3"
is-regex "^1.0.4"
-es-to-primitive@^1.1.1:
+es-to-primitive@^1.1.1, es-to-primitive@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==
@@ -2933,6 +3191,32 @@ eslint-plugin-prettier@^3.0.0:
dependencies:
prettier-linter-helpers "^1.0.0"
+eslint-plugin-react-hooks@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.5.1.tgz#3c601326914ee0e1fedd709115db4940bdbbed4a"
+ integrity sha512-i3dIrmZ+Ssrm0LrbbtuGcRf7EEpe1FaMuL8XnnpZO0X4tk3dZNzevWxD0/7nMAFa5yZQfNnYkfEP0MmwLvbdHw==
+
+eslint-plugin-react@^7.12.4:
+ version "7.12.4"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c"
+ integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==
+ dependencies:
+ array-includes "^3.0.3"
+ doctrine "^2.1.0"
+ has "^1.0.3"
+ jsx-ast-utils "^2.0.1"
+ object.fromentries "^2.0.0"
+ prop-types "^15.6.2"
+ resolve "^1.9.0"
+
+eslint-scope@3.7.1:
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
+ integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
eslint-scope@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172"
@@ -3027,7 +3311,7 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
-esutils@^2.0.2:
+esutils@^2.0.0, esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
@@ -3047,12 +3331,12 @@ events@^1.0.0:
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
-eventsource@0.1.6:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232"
- integrity sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=
+eventsource@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0"
+ integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==
dependencies:
- original ">=0.0.5"
+ original "^1.0.0"
evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
version "1.0.3"
@@ -3088,6 +3372,19 @@ execa@^0.7.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
+execa@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
+ integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
+ dependencies:
+ cross-spawn "^6.0.0"
+ get-stream "^4.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
expand-brackets@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
@@ -3101,6 +3398,13 @@ expand-brackets@^2.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+expand-tilde@^2.0.0, expand-tilde@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
+ integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
+ dependencies:
+ homedir-polyfill "^1.0.1"
+
express@^4.16.2:
version "4.16.3"
resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53"
@@ -3227,9 +3531,9 @@ fast-levenshtein@~2.0.4:
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
fastparse@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
- integrity sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
+ integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
fault@^1.0.2:
version "1.0.2"
@@ -3245,7 +3549,7 @@ faye-websocket@^0.10.0:
dependencies:
websocket-driver ">=0.5.1"
-faye-websocket@~0.11.0:
+faye-websocket@~0.11.1:
version "0.11.1"
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=
@@ -3348,6 +3652,16 @@ find-up@^3.0.0:
dependencies:
locate-path "^3.0.0"
+findup-sync@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
+ integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=
+ dependencies:
+ detect-file "^1.0.0"
+ is-glob "^3.1.0"
+ micromatch "^3.0.4"
+ resolve-dir "^1.0.1"
+
flat-cache@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
@@ -3552,6 +3866,13 @@ get-stream@3.0.0, get-stream@^3.0.0:
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
+get-stream@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
+ integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
+ dependencies:
+ pump "^3.0.0"
+
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
@@ -3623,10 +3944,25 @@ glob@^7.1.1, glob@^7.1.3:
once "^1.3.0"
path-is-absolute "^1.0.0"
-global-modules-path@^2.3.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.1.tgz#e541f4c800a1a8514a990477b267ac67525b9931"
- integrity sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==
+global-modules@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
+ integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
+ dependencies:
+ global-prefix "^1.0.1"
+ is-windows "^1.0.1"
+ resolve-dir "^1.0.0"
+
+global-prefix@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
+ integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
+ dependencies:
+ expand-tilde "^2.0.2"
+ homedir-polyfill "^1.0.1"
+ ini "^1.3.4"
+ is-windows "^1.0.1"
+ which "^1.2.14"
globals@^11.1.0:
version "11.9.0"
@@ -3764,10 +4100,10 @@ gulp-tap@^1.0.1:
dependencies:
through2 "^2.0.3"
-handle-thing@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4"
- integrity sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=
+handle-thing@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754"
+ integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==
har-schema@^2.0.0:
version "2.0.0"
@@ -3847,7 +4183,7 @@ has-values@^1.0.0:
is-number "^3.0.0"
kind-of "^4.0.0"
-has@^1.0.0, has@^1.0.1:
+has@^1.0.0, has@^1.0.1, has@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
@@ -3862,11 +4198,6 @@ hash-base@^3.0.0:
inherits "^2.0.1"
safe-buffer "^5.0.1"
-hash-sum@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04"
- integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=
-
hash.js@^1.0.0, hash.js@^1.0.3:
version "1.1.5"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812"
@@ -3875,11 +4206,6 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
-he@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
- integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
-
hex-color-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
@@ -3904,6 +4230,13 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
+homedir-polyfill@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
+ integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
+ dependencies:
+ parse-passwd "^1.0.0"
+
hosted-git-info@^2.1.4:
version "2.7.1"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
@@ -3974,17 +4307,17 @@ http-parser-js@>=0.4.0:
resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.13.tgz#3bd6d6fde6e3172c9334c3b33b6c193d80fe1137"
integrity sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=
-http-proxy-middleware@~0.18.0:
- version "0.18.0"
- resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab"
- integrity sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==
+http-proxy-middleware@^0.19.1:
+ version "0.19.1"
+ resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a"
+ integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==
dependencies:
- http-proxy "^1.16.2"
+ http-proxy "^1.17.0"
is-glob "^4.0.0"
- lodash "^4.17.5"
- micromatch "^3.1.9"
+ lodash "^4.17.11"
+ micromatch "^3.1.10"
-http-proxy@^1.16.2:
+http-proxy@^1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a"
integrity sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==
@@ -4007,6 +4340,11 @@ https-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
+humps@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa"
+ integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao=
+
iconv-lite@0.4.19:
version "0.4.19"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
@@ -4149,7 +4487,7 @@ inherits@2.0.1:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
-ini@~1.3.0:
+ini@^1.3.4, ini@~1.3.0:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
@@ -4173,13 +4511,13 @@ inquirer@^6.1.0:
strip-ansi "^4.0.0"
through "^2.3.6"
-internal-ip@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27"
- integrity sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==
+internal-ip@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.2.0.tgz#46e81b638d84c338e5c67e42b1a17db67d0814fa"
+ integrity sha512-ZY8Rk+hlvFeuMmG5uH1MXhhdeMntmIaxaInvAmzMq/SHV8rv4Kh+6GiQNNDQd0wZFrcO+FiTBo8lui/osKOyJw==
dependencies:
- default-gateway "^2.6.0"
- ipaddr.js "^1.5.2"
+ default-gateway "^4.0.1"
+ ipaddr.js "^1.9.0"
interpret@^1.1.0:
version "1.1.0"
@@ -4194,7 +4532,7 @@ into-stream@^3.1.0:
from2 "^2.1.1"
p-is-promise "^1.1.0"
-invariant@^2.2.2:
+invariant@^2.2.2, invariant@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
@@ -4226,10 +4564,10 @@ ipaddr.js@1.6.0:
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b"
integrity sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=
-ipaddr.js@^1.5.2:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz#fa4b79fa47fd3def5e3b159825161c0a519c9427"
- integrity sha1-+kt5+kf9Pe9eOxWYJRYcClGclCc=
+ipaddr.js@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65"
+ integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==
is-absolute-url@^2.0.0:
version "2.1.0"
@@ -4698,6 +5036,13 @@ jsts@1.1.2:
resolved "https://registry.yarnpkg.com/jsts/-/jsts-1.1.2.tgz#d205d2cc8393081d9e484ae36282110695edc230"
integrity sha1-0gXSzIOTCB2eSErjYoIRBpXtwjA=
+jsx-ast-utils@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f"
+ integrity sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=
+ dependencies:
+ array-includes "^3.0.3"
+
junit-report-builder@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/junit-report-builder/-/junit-report-builder-1.3.1.tgz#65923e2587a54762e8fb91505ea5604dba519d55"
@@ -4936,7 +5281,7 @@ loglevel@^1.4.1:
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"
integrity sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=
-loose-envify@^1.0.0:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -4977,7 +5322,7 @@ lru-cache@^4.0.1, lru-cache@^4.1.1:
pseudomap "^1.0.2"
yallist "^2.1.2"
-lru-cache@^4.1.2, lru-cache@^4.1.3:
+lru-cache@^4.1.3:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
@@ -4992,6 +5337,11 @@ make-dir@^1.0.0:
dependencies:
pify "^3.0.0"
+mamacro@^0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4"
+ integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==
+
map-age-cleaner@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz#098fb15538fd3dbe461f12745b0ca8568d4e3f74"
@@ -5058,7 +5408,7 @@ mem@^4.0.0:
mimic-fn "^1.0.0"
p-is-promise "^1.1.0"
-memory-fs@^0.4.0, memory-fs@~0.4.1:
+memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
@@ -5087,19 +5437,12 @@ merge-descriptors@1.0.1:
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
-merge-source-map@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
- integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
- dependencies:
- source-map "^0.6.1"
-
methods@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
-micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9:
+micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
@@ -5458,9 +5801,9 @@ node-releases@^1.0.5:
semver "^5.3.0"
node-sass@^4.9.3:
- version "4.10.0"
- resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.10.0.tgz#dcc2b364c0913630945ccbf7a2bbf1f926effca4"
- integrity sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q==
+ version "4.11.0"
+ resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.11.0.tgz#183faec398e9cbe93ba43362e2768ca988a6369a"
+ integrity sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==
dependencies:
async-foreach "^0.1.3"
chalk "^1.1.1"
@@ -5592,7 +5935,7 @@ oauth-sign@~0.9.0:
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-object-assign@^4.0.1, object-assign@^4.1.0:
+object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
@@ -5611,6 +5954,11 @@ object-keys@^1.0.11, object-keys@^1.0.8:
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2"
integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==
+object-keys@^1.0.12:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.0.tgz#11bd22348dd2e096a045ab06f6c85bcc340fa032"
+ integrity sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==
+
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
@@ -5628,6 +5976,16 @@ object.assign@^4.0.4:
has-symbols "^1.0.0"
object-keys "^1.0.11"
+object.fromentries@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab"
+ integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.11.0"
+ function-bind "^1.1.1"
+ has "^1.0.1"
+
object.getownpropertydescriptors@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
@@ -5653,7 +6011,7 @@ object.values@^1.0.4:
function-bind "^1.1.0"
has "^1.0.1"
-obuf@^1.0.0, obuf@^1.1.1:
+obuf@^1.0.0, obuf@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
@@ -5718,12 +6076,12 @@ ordered-read-streams@^1.0.0:
dependencies:
readable-stream "^2.0.1"
-original@>=0.0.5:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190"
- integrity sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==
+original@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
+ integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==
dependencies:
- url-parse "~1.4.0"
+ url-parse "^1.4.3"
os-browserify@^0.3.0:
version "0.3.0"
@@ -5883,6 +6241,11 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
+parse-passwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
+ integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
+
parseurl@~1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
@@ -5940,6 +6303,11 @@ path-parse@^1.0.5:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
integrity sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=
+path-parse@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
+ integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
@@ -6354,9 +6722,9 @@ postcss-minify-selectors@^4.0.1:
postcss-selector-parser "^3.0.0"
postcss-modules-extract-imports@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85"
- integrity sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a"
+ integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==
dependencies:
postcss "^6.0.1"
@@ -6611,15 +6979,6 @@ postcss-selector-parser@^4.0.0:
indexes-of "^1.0.1"
uniq "^1.0.1"
-postcss-selector-parser@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c"
- integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==
- dependencies:
- cssesc "^2.0.0"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
-
postcss-selector-parser@^5.0.0-rc.4:
version "5.0.0-rc.4"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0-rc.4.tgz#ca5e77238bf152966378c13e91ad6d611568ea87"
@@ -6685,15 +7044,6 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.5:
source-map "^0.6.1"
supports-color "^5.5.0"
-postcss@^7.0.7:
- version "7.0.8"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.8.tgz#2a3c5f2bdd00240cd0d0901fd998347c93d36696"
- integrity sha512-WudsIzuTKRw9IInRTPBgVXJ7DKR26HT09Rxp0g3w0Fqh3TUtYICcUmvC0xURj04o3vdcDtnjCAUCECg/p341iQ==
- dependencies:
- chalk "^2.4.2"
- source-map "^0.6.1"
- supports-color "^6.0.0"
-
prelude-ls@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -6711,11 +7061,6 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
-prettier@1.13.7:
- version "1.13.7"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.7.tgz#850f3b8af784a49a6ea2d2eaa7ed1428a34b7281"
- integrity sha512-KIU72UmYPGk4MujZGYMFwinB7lOf2LsDNGSOC8ufevsrPLISrZbNJlWstRi3m0AMuszbH+EFSQ/r6w56RSPK6w==
-
prettier@^1.15.3:
version "1.15.3"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.3.tgz#1feaac5bdd181237b54dbe65d874e02a1472786a"
@@ -6746,6 +7091,15 @@ promise-inflight@^1.0.1:
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
+prop-types@^15.5.10, prop-types@^15.5.7, prop-types@^15.6.2, prop-types@^15.7.2:
+ version "15.7.2"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
+ integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
+ dependencies:
+ loose-envify "^1.4.0"
+ object-assign "^4.1.1"
+ react-is "^16.8.1"
+
proxy-addr@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341"
@@ -6859,10 +7213,10 @@ querystringify@^2.0.0:
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755"
integrity sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==
-rails-ujs@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/rails-ujs/-/rails-ujs-5.2.1.tgz#2869c6d54fdfefac3aaa257f4efe211d8f5a7169"
- integrity sha512-kOsSdmBATcilfMzBCYgbefQ+5eUG6BAr9rDy+GC09Cvqx0017XBVp1Xu/Ksvwr6r7fHzgNkEUpKnQoOflpNz+A==
+rails-ujs@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/rails-ujs/-/rails-ujs-5.2.2.tgz#ab01dd087a323975637b50e93e7afcc0f9068568"
+ integrity sha512-tJl7MdysGrQEKmwF7BJkz5XwUOkdnI9E7SvSbT39yO7pdFc96D4hWKm6Sb15pU4n5mt4rLPb/6kkyTQujP1k7Q==
ramda@^0.25.0:
version "0.25.0"
@@ -6909,6 +7263,52 @@ rc@^1.2.7:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
+react-dom@^16.8.4:
+ version "16.8.4"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.4.tgz#1061a8e01a2b3b0c8160037441c3bf00a0e3bc48"
+ integrity sha512-Ob2wK7XG2tUDt7ps7LtLzGYYB6DXMCLj0G5fO6WeEICtT4/HdpOi7W/xLzZnR6RCG1tYza60nMdqtxzA8FaPJQ==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ prop-types "^15.6.2"
+ scheduler "^0.13.4"
+
+react-is@^16.8.1:
+ version "16.8.4"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.4.tgz#90f336a68c3a29a096a3d648ab80e87ec61482a2"
+ integrity sha512-PVadd+WaUDOAciICm/J1waJaSvgq+4rHE/K70j0PFqKhkTBsPv/82UGQJNXAngz1fOQLLxI6z1sEDmJDQhCTAA==
+
+react-scroll-to-component@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/react-scroll-to-component/-/react-scroll-to-component-1.0.2.tgz#f260dc936c62a53e772786d7832fe0884e195354"
+ integrity sha1-8mDck2xipT53J4bXgy/giE4ZU1Q=
+ dependencies:
+ scroll-to "0.0.2"
+
+react-sortable-hoc@^1.7.1:
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/react-sortable-hoc/-/react-sortable-hoc-1.7.1.tgz#2d61c6003f22523ab3adfe37e69774c5d73c1ac6"
+ integrity sha512-I8X6T7n6jIc+gL65Xr56zauDvmM7mFDEyM3cuDMYWh/ZrLszm2jTxqJ+0tgmM++vh3dfXAbDd6cBfg4id5cHGQ==
+ dependencies:
+ "@babel/runtime" "^7.2.0"
+ invariant "^2.2.4"
+ prop-types "^15.5.7"
+
+react@^16.8.4:
+ version "16.8.4"
+ resolved "https://registry.yarnpkg.com/react/-/react-16.8.4.tgz#fdf7bd9ae53f03a9c4cd1a371432c206be1c4768"
+ integrity sha512-0GQ6gFXfUH7aZcjGVymlPOASTuSjlQL4ZtVC5YKH+3JL6bBLCVO21DknzmaPlI90LN253ojj02nsapy+j7wIjg==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ prop-types "^15.6.2"
+ scheduler "^0.13.4"
+
+react_ujs@^2.4.4:
+ version "2.4.4"
+ resolved "https://registry.yarnpkg.com/react_ujs/-/react_ujs-2.4.4.tgz#49bac535d24024a96b0a35d7514d18188aea42bc"
+ integrity sha512-RON6mgV+I3s6KkmvxTQi+WGuoLbhZ+TzRat06EE/RHFvzU+Na1Eom6XnesQeOP7WCrTZGOdcZEPP0P7QrJrHfg==
+
read-cache@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
@@ -6933,7 +7333,7 @@ read-pkg@^1.0.0:
normalize-package-data "^2.3.2"
path-type "^1.0.0"
-"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6:
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
@@ -6946,6 +7346,15 @@ read-pkg@^1.0.0:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
+readable-stream@^3.0.6:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.2.0.tgz#de17f229864c120a9f56945756e4f32c4045245d"
+ integrity sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
readdirp@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
@@ -6976,20 +7385,15 @@ regenerate@^1.2.1, regenerate@^1.4.0:
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
-regenerator-runtime@^0.11.1:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
- integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-
regenerator-runtime@^0.12.0:
version "0.12.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de"
integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==
-regenerator-transform@^0.13.3:
- version "0.13.3"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb"
- integrity sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==
+regenerator-transform@^0.13.4:
+ version "0.13.4"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.4.tgz#18f6763cf1382c69c36df76c6ce122cc694284fb"
+ integrity sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==
dependencies:
private "^0.1.6"
@@ -7001,6 +7405,11 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
+regexp-tree@^0.1.0:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.5.tgz#7cd71fca17198d04b4176efd79713f2998009397"
+ integrity sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ==
+
regexpp@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
@@ -7156,6 +7565,14 @@ resolve-cwd@^2.0.0:
dependencies:
resolve-from "^3.0.0"
+resolve-dir@^1.0.0, resolve-dir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
+ integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
+ dependencies:
+ expand-tilde "^2.0.0"
+ global-modules "^1.0.0"
+
resolve-from@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
@@ -7185,6 +7602,13 @@ resolve@^1.1.7, resolve@^1.3.2, resolve@^1.8.1:
dependencies:
path-parse "^1.0.5"
+resolve@^1.9.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
+ integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==
+ dependencies:
+ path-parse "^1.0.6"
+
responselike@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
@@ -7300,10 +7724,18 @@ sax@^1.2.4, sax@~1.2.4:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-schema-utils@^0.4.4, schema-utils@^0.4.5:
- version "0.4.5"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e"
- integrity sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==
+scheduler@^0.13.4:
+ version "0.13.4"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.4.tgz#8fef05e7a3580c76c0364d2df5e550e4c9140298"
+ integrity sha512-cvSOlRPxOHs5dAhP9yiS/6IDmVAVxmk33f0CtTJRkmUWcb1Us+t7b1wqdzoC0REw2muC9V5f1L/w5R5uKGaepA==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
+schema-utils@^0.4.5:
+ version "0.4.7"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187"
+ integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==
dependencies:
ajv "^6.1.0"
ajv-keywords "^3.1.0"
@@ -7317,6 +7749,14 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
+scroll-to@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/scroll-to/-/scroll-to-0.0.2.tgz#936d398a9133660a2492145c2c0081dfcb0728f3"
+ integrity sha1-k205ipEzZgokkhRcLACB38sHKPM=
+ dependencies:
+ component-raf "1.2.0"
+ component-tween "1.2.0"
+
scss-tokenizer@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
@@ -7355,6 +7795,11 @@ semver@^5.4.1, semver@^5.5.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477"
integrity sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==
+semver@^5.6.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
+ integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
+
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@@ -7544,17 +7989,17 @@ snapdragon@^0.8.1:
source-map-resolve "^0.5.0"
use "^3.1.0"
-sockjs-client@1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.5.tgz#1bb7c0f7222c40f42adf14f4442cbd1269771a83"
- integrity sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=
+sockjs-client@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177"
+ integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==
dependencies:
- debug "^2.6.6"
- eventsource "0.1.6"
- faye-websocket "~0.11.0"
- inherits "^2.0.1"
+ debug "^3.2.5"
+ eventsource "^1.0.7"
+ faye-websocket "~0.11.1"
+ inherits "^2.0.3"
json3 "^3.3.2"
- url-parse "^1.1.8"
+ url-parse "^1.4.3"
sockjs@0.3.19:
version "0.3.19"
@@ -7571,11 +8016,6 @@ sort-keys@^2.0.0:
dependencies:
is-plain-obj "^1.0.0"
-sortablejs@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/sortablejs/-/sortablejs-1.7.0.tgz#80a2b2370abd568e1cec8c271131ef30a904fa28"
- integrity sha1-gKKyNwq9Vo4c7IwnETHvMKkE+ig=
-
source-list-map@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085"
@@ -7622,11 +8062,6 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-source-map@^0.7.3:
- version "0.7.3"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
- integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
-
spark-md5@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.0.tgz#3722227c54e2faf24b1dc6d933cc144e6f71bfef"
@@ -7658,30 +8093,28 @@ spdx-license-ids@^3.0.0:
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87"
integrity sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==
-spdy-transport@^2.0.18:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.0.tgz#4bbb15aaffed0beefdd56ad61dbdc8ba3e2cb7a1"
- integrity sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==
+spdy-transport@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
+ integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==
dependencies:
- debug "^2.6.8"
- detect-node "^2.0.3"
+ debug "^4.1.0"
+ detect-node "^2.0.4"
hpack.js "^2.1.6"
- obuf "^1.1.1"
- readable-stream "^2.2.9"
- safe-buffer "^5.0.1"
- wbuf "^1.7.2"
+ obuf "^1.1.2"
+ readable-stream "^3.0.6"
+ wbuf "^1.7.3"
-spdy@^3.4.1:
- version "3.4.7"
- resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc"
- integrity sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=
+spdy@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52"
+ integrity sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==
dependencies:
- debug "^2.6.8"
- handle-thing "^1.2.5"
+ debug "^4.1.0"
+ handle-thing "^2.0.0"
http-deceiver "^1.2.7"
- safe-buffer "^5.0.1"
select-hose "^2.0.0"
- spdy-transport "^2.0.18"
+ spdy-transport "^3.0.0"
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
@@ -7823,6 +8256,13 @@ string_decoder@^1.0.0, string_decoder@~1.1.1:
dependencies:
safe-buffer "~5.1.0"
+string_decoder@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
+ integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==
+ dependencies:
+ safe-buffer "~5.1.0"
+
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
@@ -7883,24 +8323,24 @@ supports-color@^2.0.0:
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
-supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0:
+supports-color@^5.3.0:
version "5.4.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==
dependencies:
has-flag "^3.0.0"
-supports-color@^5.5.0:
+supports-color@^5.4.0, supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
dependencies:
has-flag "^3.0.0"
-supports-color@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a"
- integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==
+supports-color@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
+ integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
dependencies:
has-flag "^3.0.0"
@@ -8336,10 +8776,10 @@ url-parse-lax@^3.0.0:
dependencies:
prepend-http "^2.0.0"
-url-parse@^1.1.8, url-parse@~1.4.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.1.tgz#4dec9dad3dc8585f862fed461d2e19bbf623df30"
- integrity sha512-x95Td74QcvICAA0+qERaVkRpTGKyBHHYdwL2LXZm5t/gBtCB9KQSO/0zQgSTYEV1p0WcvSg79TLNPSvd5IDJMQ==
+url-parse@^1.4.3:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8"
+ integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==
dependencies:
querystringify "^2.0.0"
requires-port "^1.0.0"
@@ -8364,7 +8804,7 @@ use@^3.1.0:
dependencies:
kind-of "^6.0.2"
-util-deprecate@~1.0.1:
+util-deprecate@^1.0.1, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
@@ -8493,62 +8933,6 @@ vm-browserify@0.0.4:
dependencies:
indexof "0.0.1"
-vue-hot-reload-api@^2.3.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.1.tgz#b2d3d95402a811602380783ea4f566eb875569a2"
- integrity sha512-AA86yKZ5uOKz87/q1UpngEXhbRkaYg1b7HMMVRobNV1IVKqZe8oLIzo6iMocVwZXnYitlGwf2k4ZRLOZlS8oPQ==
-
-vue-loader@^15.5.1:
- version "15.5.1"
- resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.5.1.tgz#e005d5fc2481a55a19910f0dcf434206d68acc2a"
- integrity sha512-gsTA9xRzu9jGBzkcrAB8my14RkHMzdr5rY/mCFmxgY2tOVsd2Z1MaYCDXHu5nX6PyHAsVK2/hXmarPln/2MiIw==
- dependencies:
- "@vue/component-compiler-utils" "^2.4.0"
- hash-sum "^1.0.2"
- loader-utils "^1.1.0"
- vue-hot-reload-api "^2.3.0"
- vue-style-loader "^4.1.0"
-
-vue-scrollto@^2.13.0:
- version "2.13.0"
- resolved "https://registry.yarnpkg.com/vue-scrollto/-/vue-scrollto-2.13.0.tgz#fe23c9e5d684271c48154e8d504370cd40a8d6fd"
- integrity sha512-ZjvWhY2LbEGqbtvDrBBm04AvgNfYGySJnakyHXxgv4UNlM0hRpkN1UKjKqB8J8U96YOEra+WjxmhujrBGeshbA==
- dependencies:
- bezier-easing "^2.0.3"
-
-vue-style-loader@^4.1.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8"
- integrity sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==
- dependencies:
- hash-sum "^1.0.2"
- loader-utils "^1.0.2"
-
-vue-template-compiler@^2.5.21:
- version "2.5.21"
- resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.5.21.tgz#a57ceb903177e8f643560a8d639a0f8db647054a"
- integrity sha512-Vmk5Cv7UcmI99B9nXJEkaK262IQNnHp5rJYo+EwYpe2epTAXqcVyExhV6pk8jTkxQK2vRc8v8KmZBAwdmUZvvw==
- dependencies:
- de-indent "^1.0.2"
- he "^1.1.0"
-
-vue-template-es2015-compiler@^1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz#dc42697133302ce3017524356a6c61b7b69b4a18"
- integrity sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg==
-
-vue@^2.5.21:
- version "2.5.21"
- resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.21.tgz#3d33dcd03bb813912ce894a8303ab553699c4a85"
- integrity sha512-Aejvyyfhn0zjVeLvXd70h4hrE4zZDx1wfZqia6ekkobLmUZ+vNFQer53B4fu0EjWBSiqApxPejzkO1Znt3joxQ==
-
-vuedraggable@^2.16.0:
- version "2.17.0"
- resolved "https://registry.yarnpkg.com/vuedraggable/-/vuedraggable-2.17.0.tgz#489c16c9bcb9eb06f441944d3c52e5f2bb7060f9"
- integrity sha512-TAC5tJTSbHSINQCSB59qHnuzT0Ad+E3IgvSWuA1e9UaebD8DxKaY1tCdvL3XvuLoaM3wc1dhpP/NbjpdxYsrng==
- dependencies:
- sortablejs "^1.7.0"
-
watchpack@^1.5.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
@@ -8558,7 +8942,7 @@ watchpack@^1.5.0:
graceful-fs "^4.1.2"
neo-async "^2.5.0"
-wbuf@^1.1.0, wbuf@^1.7.2:
+wbuf@^1.1.0, wbuf@^1.7.3:
version "1.7.3"
resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df"
integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==
@@ -8579,48 +8963,49 @@ webpack-assets-manifest@^3.0.2:
webpack-sources "^1.0.0"
webpack-cli@^3.1.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.1.2.tgz#17d7e01b77f89f884a2bbf9db545f0f6a648e746"
- integrity sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.2.3.tgz#13653549adfd8ccd920ad7be1ef868bacc22e346"
+ integrity sha512-Ik3SjV6uJtWIAN5jp5ZuBMWEAaP5E4V78XJ2nI+paFPh8v4HPSwo/myN0r29Xc/6ZKnd2IdrAlpSgNOu2CDQ6Q==
dependencies:
chalk "^2.4.1"
cross-spawn "^6.0.5"
enhanced-resolve "^4.1.0"
- global-modules-path "^2.3.0"
+ findup-sync "^2.0.0"
+ global-modules "^1.0.0"
import-local "^2.0.0"
interpret "^1.1.0"
loader-utils "^1.1.0"
supports-color "^5.5.0"
v8-compile-cache "^2.0.2"
- yargs "^12.0.2"
+ yargs "^12.0.4"
-webpack-dev-middleware@3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz#1132fecc9026fd90f0ecedac5cbff75d1fb45890"
- integrity sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==
+webpack-dev-middleware@^3.5.1:
+ version "3.6.1"
+ resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.6.1.tgz#91f2531218a633a99189f7de36045a331a4b9cd4"
+ integrity sha512-XQmemun8QJexMEvNFbD2BIg4eSKrmSIMrTfnl2nql2Sc6OGAYFyb8rwuYrCjl/IiEYYuyTEiimMscu7EXji/Dw==
dependencies:
- memory-fs "~0.4.1"
+ memory-fs "^0.4.1"
mime "^2.3.1"
range-parser "^1.0.3"
webpack-log "^2.0.0"
webpack-dev-server@^3.1.9:
- version "3.1.9"
- resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.9.tgz#8b32167624d2faff40dcedc2cbce17ed1f34d3e0"
- integrity sha512-fqPkuNalLuc/hRC2QMkVYJkgNmRvxZQo7ykA2e1XRg/tMJm3qY7ZaD6d89/Fqjxtj9bOrn5wZzLD2n84lJdvWg==
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e"
+ integrity sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw==
dependencies:
ansi-html "0.0.7"
bonjour "^3.5.0"
chokidar "^2.0.0"
compression "^1.5.2"
connect-history-api-fallback "^1.3.0"
- debug "^3.1.0"
+ debug "^4.1.1"
del "^3.0.0"
express "^4.16.2"
html-entities "^1.2.0"
- http-proxy-middleware "~0.18.0"
+ http-proxy-middleware "^0.19.1"
import-local "^2.0.0"
- internal-ip "^3.0.1"
+ internal-ip "^4.2.0"
ip "^1.1.5"
killable "^1.0.0"
loglevel "^1.4.1"
@@ -8628,13 +9013,15 @@ webpack-dev-server@^3.1.9:
portfinder "^1.0.9"
schema-utils "^1.0.0"
selfsigned "^1.9.1"
+ semver "^5.6.0"
serve-index "^1.7.2"
sockjs "0.3.19"
- sockjs-client "1.1.5"
- spdy "^3.4.1"
+ sockjs-client "1.3.0"
+ spdy "^4.0.0"
strip-ansi "^3.0.0"
- supports-color "^5.1.0"
- webpack-dev-middleware "3.4.0"
+ supports-color "^6.1.0"
+ url "^0.11.0"
+ webpack-dev-middleware "^3.5.1"
webpack-log "^2.0.0"
yargs "12.0.2"
@@ -8663,16 +9050,16 @@ webpack-sources@^1.0.1, webpack-sources@^1.1.0:
source-map "~0.6.1"
webpack@^4.17.1:
- version "4.27.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.27.0.tgz#1db66f03f0239bf797827f0580f53a41abd4067c"
- integrity sha512-y77EQNIlsB9fUGgpLv/ZzmH+Yd9DgyIF9omX9RFavR5ZFM6HxFm6sqkbBXYxpjbKej9K6hD+Y8qEVg2rWdI2gg==
+ version "4.29.6"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.6.tgz#66bf0ec8beee4d469f8b598d3988ff9d8d90e955"
+ integrity sha512-MwBwpiE1BQpMDkbnUUaW6K8RFZjljJHArC6tWQJoFm0oQtfoSebtg4Y7/QHnJ/SddtjYLHaKGX64CFjG5rehJw==
dependencies:
- "@webassemblyjs/ast" "1.7.11"
- "@webassemblyjs/helper-module-context" "1.7.11"
- "@webassemblyjs/wasm-edit" "1.7.11"
- "@webassemblyjs/wasm-parser" "1.7.11"
- acorn "^5.6.2"
- acorn-dynamic-import "^3.0.0"
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/helper-module-context" "1.8.5"
+ "@webassemblyjs/wasm-edit" "1.8.5"
+ "@webassemblyjs/wasm-parser" "1.8.5"
+ acorn "^6.0.5"
+ acorn-dynamic-import "^4.0.0"
ajv "^6.1.0"
ajv-keywords "^3.1.0"
chrome-trace-event "^1.0.0"
@@ -8686,7 +9073,7 @@ webpack@^4.17.1:
mkdirp "~0.5.0"
neo-async "^2.5.0"
node-libs-browser "^2.0.0"
- schema-utils "^0.4.4"
+ schema-utils "^1.0.0"
tapable "^1.1.0"
terser-webpack-plugin "^1.1.0"
watchpack "^1.5.0"
@@ -8715,7 +9102,7 @@ which-module@^2.0.0:
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-which@1, which@^1.2.9:
+which@1, which@^1.2.14, which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
@@ -8841,7 +9228,7 @@ yargs@12.0.2, yargs@^12.0.1:
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^10.1.0"
-yargs@^12.0.2:
+yargs@^12.0.4:
version "12.0.5"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"
integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==