", "\n");
- textNarrative = textNarrative.replace("
", "\n");
- textNarrative = textNarrative.replace(" ", "\s\s\s\s");
- // then crudely remove all other HTML open/close tags, or things that look like them
- textNarrative = textNarrative.replaceAll("\\<.*?\\>", "");
- }
- else
- textNarrative = "";
-
- return textNarrative;
- }
-}
diff --git a/snd/api-src/org/labkey/api/snd/Project.java b/snd/api-src/org/labkey/api/snd/Project.java
deleted file mode 100644
index fe9a1b259..000000000
--- a/snd/api-src/org/labkey/api/snd/Project.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.labkey.api.snd;
-
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.labkey.api.collections.ArrayListMap;
-import org.labkey.api.data.Container;
-import org.labkey.api.gwt.client.model.GWTPropertyDescriptor;
-import org.labkey.api.security.User;
-import org.labkey.api.util.DateUtil;
-import org.labkey.api.util.GUID;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-/**
- * Class for project data and related methods. Used when saving, updating, deleting and getting a project
- */
-
-public class Project
-{
- private int _projectId = -1;
- private int _revisionNum;
- private String _objectId;
- private Date _startDate;
- private Date _endDate;
- private String _description;
- private boolean _active;
- private int _referenceId;
- private boolean _hasEvent;
- private boolean _copyRevisedPkgs;
- private Date _endDateRevised;
- private List
_projectItems = new ArrayList<>();
- private Map _extraFields = new HashMap<>();
-
- private String _container;
- private String _revisedObjectId;
- private Integer _revisedRevNum;
-
- public static final String PROJECT_ID = "projectId";
- public static final String PROJECT_DESCRIPTION = "description";
- public static final String PROJECT_ACTIVE = "active";
- public static final String PROJECT_STARTDATE = "startDate";
- public static final String PROJECT_ENDDATE = "endDate";
- public static final String PROJECT_OBJECTID = "objectId";
- public static final String PROJECT_CONTAINER = "container";
- public static final String PROJECT_REVNUM = "revisionNum";
- public static final String PROJECT_REFID = "referenceId";
- public static final String PROJECT_ITEMS = "projectItems";
-
- public static final String PROJECT_HASEVENT = "hasEvent";
-
- public Project (int id, @Nullable Integer revNum, boolean edit, boolean revision, @NotNull Container c)
- {
- _projectId = ((edit || revision) ? id : SNDSequencer.PROJECTID.ensureId(c, id));
- _objectId = ((edit || revision) ? null : GUID.makeGUID());
- _revisionNum = ((edit || revision) ? revNum : 0);
-
- if (revision)
- {
- _revisedObjectId = GUID.makeGUID();
- _revisedRevNum = ++revNum;
- }
- }
-
- public Project () {}
-
- public int getProjectId()
- {
- return _projectId;
- }
-
- public void setProjectId(int projectId)
- {
- _projectId = projectId;
- }
-
- public int getReferenceId()
- {
- return _referenceId;
- }
-
- public void setReferenceId(int refId)
- {
- _referenceId = refId;
- }
-
- @Nullable
- public String getContainer()
- {
- return _container;
- }
-
- public void setContainer(String container)
- {
- _container = container;
- }
-
- public int getRevisionNum()
- {
- return _revisionNum;
- }
-
- public void setRevisionNum(int revisionNum)
- {
- _revisionNum = revisionNum;
- }
-
- @Nullable
- public String getObjectId()
- {
- return _objectId;
- }
-
- public void setObjectId(String objectId)
- {
- _objectId = objectId;
- }
-
- public void updateObjectId(String objectId)
- {
- setObjectId(objectId);
- for (ProjectItem projectItem : _projectItems)
- {
- projectItem.setParentObjectId(objectId);
- }
- }
-
- @Nullable
- public String getRevisedObjectId()
- {
- return _revisedObjectId;
- }
-
- public void setRevisedObjectId(String revisedObjectId)
- {
- _revisedObjectId = revisedObjectId;
- }
-
- @Nullable
- public Integer getRevisedRevNum()
- {
- return _revisedRevNum;
- }
-
- public void setRevisedRevNum(Integer revisedRevNum)
- {
- _revisedRevNum = revisedRevNum;
- }
-
- @Nullable
- public Date getStartDate()
- {
- return _startDate;
- }
-
- @Nullable
- public String startDateToString()
- {
- return DateUtil.formatIsoDate(getStartDate());
- }
-
- public void setStartDate(Date startDate)
- {
- _startDate = startDate;
- }
-
- @Nullable
- public Date getEndDate()
- {
- return _endDate;
- }
-
- @Nullable
- public String endDateToString()
- {
- return DateUtil.formatIsoDate(getEndDate());
- }
-
- public void setEndDate(Date endDate)
- {
- _endDate = endDate;
- }
-
- @Nullable
- public String getDescription()
- {
- return _description;
- }
-
- public void setDescription(String description)
- {
- _description = description;
- }
-
- public boolean isActive()
- {
- return _active;
- }
-
- public void setActive(boolean active)
- {
- _active = active;
- }
-
- public boolean hasEvent()
- {
- return _hasEvent;
- }
-
- public void setHasEvent(boolean hasEvent)
- {
- _hasEvent = hasEvent;
- }
-
- public boolean isCopyRevisedPkgs()
- {
- return _copyRevisedPkgs;
- }
-
- public void setCopyRevisedPkgs(boolean copyRevisedPkgs)
- {
- _copyRevisedPkgs = copyRevisedPkgs;
- }
-
- @Nullable
- public Date getEndDateRevised()
- {
- return _endDateRevised;
- }
-
- public void setEndDateRevised(Date endDateRevised)
- {
- _endDateRevised = endDateRevised;
- }
-
- @NotNull
- public List getProjectItems()
- {
- return _projectItems;
- }
-
- public void setProjectItems(@NotNull List subpackages)
- {
- _projectItems = subpackages;
- }
-
- @NotNull
- public Map getExtraFields()
- {
- return _extraFields;
- }
-
- public void setExtraFields(@NotNull Map extraFields)
- {
- _extraFields = extraFields;
- }
-
- @NotNull
- public Map getProjectRow(Container c)
- {
- Map projectValues = new ArrayListMap<>();
- projectValues.put(PROJECT_ID, getProjectId());
- projectValues.put(PROJECT_OBJECTID, getObjectId());
- projectValues.put(PROJECT_REVNUM, getRevisionNum());
- projectValues.put(PROJECT_DESCRIPTION, getDescription());
- projectValues.put(PROJECT_ACTIVE, isActive());
- projectValues.put(PROJECT_STARTDATE, getStartDate());
- projectValues.put(PROJECT_ENDDATE, getEndDate());
- projectValues.put(PROJECT_REFID, getReferenceId());
- projectValues.put(PROJECT_CONTAINER, c);
-
- Map extras = getExtraFields();
- for (GWTPropertyDescriptor gpd : extras.keySet())
- {
- projectValues.put(gpd.getName(), extras.get(gpd));
- }
-
- return projectValues;
- }
-
- @NotNull
- public List> getProjectItemRows(Container c)
- {
- List> rows = new ArrayList<>();
-
- for (ProjectItem projectItem : getProjectItems())
- {
- rows.add(projectItem.getRow(c));
- }
-
- return rows;
- }
-
- @NotNull
- public JSONObject toJSON(Container c, User u)
- {
- JSONObject json = new JSONObject();
- json.put(PROJECT_ID, getProjectId());
- json.put(PROJECT_DESCRIPTION, getDescription());
- json.put(PROJECT_ACTIVE, isActive());
- json.put(PROJECT_STARTDATE, startDateToString());
- json.put(PROJECT_REVNUM, getRevisionNum());
- json.put(PROJECT_REFID, getReferenceId());
- json.put(PROJECT_HASEVENT, hasEvent());
- if (getEndDate() != null)
- json.put(PROJECT_ENDDATE, endDateToString());
-
- if (!getProjectItems().isEmpty())
- {
- JSONArray jsonProjectItems = new JSONArray();
- for (ProjectItem projectItem : getProjectItems())
- {
- jsonProjectItems.put(projectItem.toJSON(c, u));
- }
- json.put(PROJECT_ITEMS, jsonProjectItems);
- }
-
- JSONArray extras = new JSONArray();
- Map extraFields = getExtraFields();
- if (!extraFields.isEmpty())
- {
- JSONObject jsonExtra;
- Set keys = new TreeSet<>(
- Comparator.comparing(GWTPropertyDescriptor::getName)
- );
- keys.addAll(extraFields.keySet());
- for (GWTPropertyDescriptor extraPd : keys)
- {
- jsonExtra = SNDService.get().convertPropertyDescriptorToJson(c, u, extraPd, true);
- jsonExtra.put("value", extraFields.get(extraPd));
- extras.put(jsonExtra);
- }
-
- json.put("extraFields", extras);
- }
-
- return json;
- }
-
- @NotNull
- public Map toShallowMap(Container c, User u)
- {
- Map map = new ArrayListMap<>();
-
- map.put(PROJECT_ID, getProjectId());
- map.put(PROJECT_DESCRIPTION, getDescription());
- map.put(PROJECT_ACTIVE, isActive());
- map.put(PROJECT_STARTDATE, startDateToString());
- map.put(PROJECT_REVNUM, getRevisionNum());
- map.put(PROJECT_REFID, getReferenceId());
- map.put(PROJECT_HASEVENT, hasEvent());
- if (getEndDate() != null)
- map.put(PROJECT_ENDDATE, endDateToString());
- map.put(PROJECT_OBJECTID, getObjectId());
-
- return map;
- }
-}
diff --git a/snd/api-src/org/labkey/api/snd/ProjectItem.java b/snd/api-src/org/labkey/api/snd/ProjectItem.java
deleted file mode 100644
index c1af1e081..000000000
--- a/snd/api-src/org/labkey/api/snd/ProjectItem.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.labkey.api.snd;
-
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-import org.json.JSONObject;
-import org.labkey.api.collections.ArrayListMap;
-import org.labkey.api.data.Container;
-import org.labkey.api.security.User;
-
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * Created by marty on 8/4/2017.
- *
- * Class for project item data and related methods. Used in project class.
- */
-public class ProjectItem
-{
- boolean _active;
- int _projectItemId;
- int _superPkgId;
- String _parentObjectId;
- String _container;
- SuperPackage _superPackage;
-
- public static final String PROJECTITEM_ID = "projectItemId";
- public static final String PROJECTITEM_PARENTOBJECTID = "parentObjectId";
- public static final String PROJECTITEM_ACTIVE = "active";
- public static final String PROJECTITEM_CONTAINER = "container";
- public static final String PROJECTITEM_SUPERPKGID = "superPkgId";
- public static final String PROJECTITEM_SUPERPKG = "superPkg";
-
- public int getProjectItemId()
- {
- return _projectItemId;
- }
-
- public void setProjectItemId(int projectItemId)
- {
- _projectItemId = projectItemId;
- }
-
- public boolean isActive()
- {
- return _active;
- }
-
- public void setActive(boolean active)
- {
- _active = active;
- }
-
- public int getSuperPkgId()
- {
- return _superPkgId;
- }
-
- public void setSuperPkgId(int superPkgId)
- {
- _superPkgId = superPkgId;
- }
-
- @Nullable
- public String getParentObjectId()
- {
- return _parentObjectId;
- }
-
- public void setParentObjectId(String parentObjectId)
- {
- _parentObjectId = parentObjectId;
- }
-
- @Nullable
- public String getContainer()
- {
- return _container;
- }
-
- public void setContainer(String container)
- {
- _container = container;
- }
-
- @Nullable
- public SuperPackage getSuperPackage()
- {
- return _superPackage;
- }
-
- public void setSuperPackage(SuperPackage superPackage)
- {
- _superPackage = superPackage;
- }
-
- @NotNull
- public Map getRow(Container c)
- {
- Map projectItemValues = new ArrayListMap<>();
- projectItemValues.put(PROJECTITEM_ID, getProjectItemId());
- projectItemValues.put(PROJECTITEM_PARENTOBJECTID, getParentObjectId());
- projectItemValues.put(PROJECTITEM_SUPERPKGID, getSuperPkgId());
- projectItemValues.put(PROJECTITEM_ACTIVE, isActive());
- projectItemValues.put(PROJECTITEM_CONTAINER, c);
-
- return projectItemValues;
- }
-
- @NotNull
- public JSONObject toJSON(Container c, User u)
- {
- JSONObject json = new JSONObject();
- json.put(PROJECTITEM_ID, getProjectItemId());
- json.put(PROJECTITEM_ACTIVE, isActive());
- json.put(PROJECTITEM_SUPERPKG, getSuperPackage().toJSON(c, u));
-
- return json;
- }
-
- @Override
- public boolean equals(Object o)
- {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- ProjectItem that = (ProjectItem) o;
- return _active == that._active &&
- _projectItemId == that._projectItemId &&
- _superPkgId == that._superPkgId &&
- Objects.equals(_parentObjectId, that._parentObjectId) &&
- Objects.equals(_container, that._container);
- }
-
- @Override
- public int hashCode()
- {
- return Objects.hash(_active, _projectItemId, _superPkgId, _parentObjectId, _container);
- }
-}
diff --git a/snd/api-src/org/labkey/api/snd/QCStateEnum.java b/snd/api-src/org/labkey/api/snd/QCStateEnum.java
deleted file mode 100644
index 2aa98205b..000000000
--- a/snd/api-src/org/labkey/api/snd/QCStateEnum.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.labkey.api.snd;
-
-import org.jetbrains.annotations.Nullable;
-
-public enum QCStateEnum
-{
- COMPLETED("Completed", "Record has been completed and is public", true),
- REJECTED("Rejected", "Record has been reviewed and rejected", false),
- REVIEW_REQUIRED("Review Required", "Review is required prior to public release", false),
- IN_PROGRESS("In Progress", "Draft Record, not public", false);
-
- private String _name;
- private String _description;
- private boolean _publicData;
-
- QCStateEnum(String name, String description, boolean publicData)
- {
- _name = name;
- _description = description;
- _publicData = publicData;
- }
-
- public String getName()
- {
- return _name;
- }
-
- public void setName(String name)
- {
- _name = name;
- }
-
- public String getDescription()
- {
- return _description;
- }
-
- public void setDescription(String description)
- {
- _description = description;
- }
-
- public boolean isPublicData()
- {
- return _publicData;
- }
-
- public void setPublicData(boolean publicData)
- {
- _publicData = publicData;
- }
-
- @Nullable
- public static QCStateEnum getByName(String name)
- {
- for (QCStateEnum qcStateEnum : QCStateEnum.values())
- {
- if (qcStateEnum.getName().equals(name))
- {
- return qcStateEnum;
- }
- }
-
- return null;
- }
-}
diff --git a/snd/api-src/org/labkey/api/snd/SNDDomainKind.java b/snd/api-src/org/labkey/api/snd/SNDDomainKind.java
deleted file mode 100644
index 6df4027f9..000000000
--- a/snd/api-src/org/labkey/api/snd/SNDDomainKind.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.labkey.api.snd;
-
-import org.labkey.api.data.CompareType;
-import org.labkey.api.data.Container;
-import org.labkey.api.data.SQLFragment;
-import org.labkey.api.exp.property.Domain;
-import org.labkey.api.gwt.client.model.GWTPropertyDescriptor;
-import org.labkey.api.query.ExtendedTableDomainKind;
-import org.labkey.api.security.User;
-import org.labkey.api.security.permissions.AdminPermission;
-import org.labkey.api.settings.AppProps;
-import org.labkey.data.xml.domainTemplate.DomainTemplateType;
-import org.labkey.data.xml.domainTemplate.SNDTemplateType;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Created by marty on 7/11/2017.
- */
-public class SNDDomainKind extends ExtendedTableDomainKind
-{
- private final String NAMESPACE_PREFIX = "snd";
- private final String SCHEMA_NAME = "snd";
- private final String KIND_NAME = "SND";
-
-
- @Override
- public boolean canCreateDefinition(User user, Container container)
- {
- return container.hasPermission("SNDDomainKind.canCreateDefinition", user, AdminPermission.class);
- }
-
- @Override
- protected String getSchemaName()
- {
- return SCHEMA_NAME;
- }
-
- @Override
- protected String getNamespacePrefix()
- {
- return NAMESPACE_PREFIX;
- }
-
- @Override
- public String getKindName()
- {
- return KIND_NAME;
- }
-
- @Override
- public boolean ensurePropertyLookup()
- {
- return true;
- }
-
- @Override
- public Set getReservedPropertyNames(Domain domain, User user)
- {
- Set result = new HashSet<>();
- result.add("Description");
- result.add("Active");
- result.add("ObjectId");
- result.add("QcState");
- result.add("Container");
- result.add("CreatedBy");
- result.add("Created");
- result.add("ModifiedBy");
- result.add("Modified");
- return result;
- }
-
- @Override
- public boolean matchesTemplateXML(String templateName, DomainTemplateType template, List properties)
- {
- return template instanceof SNDTemplateType;
- }
-
-
- public static String formatSndDomainURI(int containerRowId, int packageId)
- {
- return String.format("urn:lsid:%s:package-snd.Folder-%d:Package-%d",
- AppProps.getInstance().getDefaultLsidAuthority(),
- containerRowId,
- packageId);
- }
-
- public static SQLFragment likeSndDomainURI(Integer containerRowId, Integer packageId)
- {
- String pattern = String.format("urn:lsid:%s:package-snd.Folder-%s:Package-%s",
- CompareType.escapeLikePattern(AppProps.getInstance().getDefaultLsidAuthority(), '!'),
- null==containerRowId ? "%" : Integer.toString(containerRowId),
- null==packageId ? "%" : Integer.toString(packageId)
- );
- return new SQLFragment("LIKE ").appendValue(pattern).append(" ESCAPE '!'");
- }
-}
diff --git a/snd/api-src/org/labkey/api/snd/SNDSequencer.java b/snd/api-src/org/labkey/api/snd/SNDSequencer.java
deleted file mode 100644
index 699c57af5..000000000
--- a/snd/api-src/org/labkey/api/snd/SNDSequencer.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2017-2019 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.labkey.api.snd;
-
-import org.labkey.api.data.Container;
-import org.labkey.api.data.DbSequence;
-import org.labkey.api.data.DbSequenceManager;
-
-public enum SNDSequencer
-{
- PKGID ("org.labkey.snd.api.Package", 10000),
- SUPERPKGID ("org.labkey.snd.api.SuperPackage", 10000),
- CATEGORYID ("org.labkey.snd.api.Categories", 100),
- PROJECTID ("org.labkey.snd.api.Project", 10000),
- PROJECTITEMID ("org.labkey.snd.api.ProjectItem", 30000),
- EVENTID ("org.labkey.snd.api.Event", 2000000),
- EVENTDATAID ("org.labkey.snd.api.EventData", 5000000);
-
- private final String sequenceName;
- private final int minId;
-
- SNDSequencer(String name, int id)
- {
- sequenceName = name;
- minId = id;
- }
-
- private int generateId(Container c)
- {
- DbSequence sequence = DbSequenceManager.get(c, sequenceName);
- sequence.ensureMinimum(minId);
- return Math.toIntExact(sequence.next());
- }
-
- public Integer ensureId(Container container, Integer id)
- {
- if (id == null || id >= minId || id < 0)
- {
- return generateId(container);
- }
-
- return id;
- }
-}
diff --git a/snd/api-src/org/labkey/api/snd/SNDService.java b/snd/api-src/org/labkey/api/snd/SNDService.java
deleted file mode 100644
index c601108fc..000000000
--- a/snd/api-src/org/labkey/api/snd/SNDService.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2017-2019 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.labkey.api.snd;
-
-import org.apache.logging.log4j.Logger;
-import org.jetbrains.annotations.Nullable;
-import org.json.JSONObject;
-import org.labkey.api.data.Container;
-import org.labkey.api.data.SimpleFilter;
-import org.labkey.api.dataiterator.DataIteratorBuilder;
-import org.labkey.api.dataiterator.DataIteratorContext;
-import org.labkey.api.gwt.client.model.GWTPropertyDescriptor;
-import org.labkey.api.module.Module;
-import org.labkey.api.security.User;
-import org.labkey.api.services.ServiceRegistry;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.locks.Lock;
-
-/**
- * Created by marty on 8/4/2017.
- */
-public interface SNDService
-{
- @Nullable
- static SNDService get()
- {
- return ServiceRegistry.get(SNDService.class);
- }
-
- void savePackage(Container c, User u, Package pkg);
- void savePackage(Container c, User u, Package pkg, SuperPackage superPkg, boolean cloneFlag);
- void savePackage(Container c, User u, Package pkg, SuperPackage superPkg, boolean cloneFlag, boolean isPipelineJob);
- void saveSuperPackages(Container c, User u, List superPkgs);
- List getPackages(Container c, User u, List pkgIds, boolean includeExtraFields, boolean includeLookups, boolean includeFullSubpackages);
- void registerAttributeLookup(Container c, User u, String schema, @Nullable String table);
- Map getAttributeLookups(Container c, User u);
- Object getDefaultLookupDisplayValue(User u, Container c, String schema, String table, Object key);
- void saveProject(Container c, User u, Project project, boolean isRevision);
- Project getProject(Container c, User u, int projectId, int revNum);
- Event saveEvent(Container c, User u, Event event, boolean validateOnly);
- Event getEvent(Container c, User u, int eventId, @Nullable Set narrativeOptions);
- JSONObject convertPropertyDescriptorToJson(Container c, User u, GWTPropertyDescriptor pd, boolean resolveLookupValues);
- Object normalizeLookupValue(User u, Container c, String schema, String table, Object display);
- void registerEventTriggerFactory(Module module, EventTriggerFactory factory);
- void unregisterEventTriggerFactory(Module module);
- Lock getWriteLock();
- List> getMutableData(DataIteratorBuilder rows, DataIteratorContext dataIteratorContext) throws IOException;
- void fillInNarrativeCache(Container c, User u, Logger logger);
- void clearNarrativeCache(Container c, User u);
- void deleteNarrativeCacheRows(Container c, User u, List> eventIds);
- void populateNarrativeCache(Container c, User u, List eventIds, Logger logger, boolean isFullReload);
- Map getAllCategories(Container c, User u);
- Integer getQCStateId(Container c, User u, QCStateEnum qcState);
- QCStateEnum getQCState(Container c, User u, int qcStateId);
- List> getActiveProjects(Container c, User u, ArrayList filters, Boolean activeProjectItemsOnly, Date eventDate);
- List> getActiveProjects(Container c, User u, ArrayList filters, Boolean activeProjectItemsOnly);
- List> getActiveProjects(Container c, User u, ArrayList filters);
-}
diff --git a/snd/api-src/org/labkey/api/snd/SuperPackage.java b/snd/api-src/org/labkey/api/snd/SuperPackage.java
deleted file mode 100644
index 0d24c1daf..000000000
--- a/snd/api-src/org/labkey/api/snd/SuperPackage.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.labkey.api.snd;
-
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.labkey.api.collections.ArrayListMap;
-import org.labkey.api.data.Container;
-import org.labkey.api.security.User;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import static org.labkey.api.snd.Package.PKG_ATTRIBUTES;
-
-/**
- * Created by marty on 8/14/2017.
- *
- * Class for holding super package data and methods. Used when saving, updating, getting and deleting super packages
- */
-public class SuperPackage
-{
- private Integer _superPkgId;
- private List _childPackages;
- private Integer _pkgId;
- private Package _pkg;
- private String _superPkgPath;
- private String _treePath;
- private Integer _parentSuperPkgId;
- private Integer _topLevelPkgId;
- private String _description; // From referenced package
- private String _narrative; // From referenced package
- private Integer _sortOrder;
- private Boolean _repeatable;
- private boolean _required;
- // NOTE: if you add a variable here, add it to the copy constructor, getSuperPackageRow(), and toJson() too!
-
- public static final String SUPERPKG_ID = "superPkgId";
- public static final String SUPERPKG_PARENTID = "parentSuperPkgId";
- public static final String SUPERPKG_TOP_LEVEL_PKGID = "topLevelPkgId";
- public static final String SUPERPKG_PKGID = "pkgId";
- public static final String SUPERPKG_DESCRIPTION = "description";
- public static final String SUPERPKG_NARRATIVE = "narrative";
- public static final String SUPERPKG_ORDER = "sortOrder";
- public static final String SUPERPKG_REPEATABLE = "repeatable";
- public static final String SUPERPKG_PATH = "superPkgPath";
- public static final String SUPERPKG_TREEPATH = "treePath";
- public static final String SUPERPKG_REQUIRED = "required";
- public static final String SUPERPKG_PKGID_CSS_CLASS = "snd-superpkg-pkg-id";
-
- public SuperPackage()
- {
-
- }
-
- // copy constructor
- public SuperPackage(SuperPackage _superPackage)
- {
- _superPkgId = _superPackage.getSuperPkgId(); // Integers are immutable
- _childPackages = new ArrayList<>();
- List childPackages = _superPackage.getChildPackages();
- if (childPackages != null)
- {
- for (SuperPackage childPackage : _superPackage.getChildPackages())
- _childPackages.add(new SuperPackage(childPackage));
- }
- _pkgId = _superPackage.getPkgId();
- _superPkgId = _superPackage.getSuperPkgId(); // Strings are also immutable
- _parentSuperPkgId = _superPackage.getParentSuperPkgId();
- _description = _superPackage.getDescription();
- _narrative = _superPackage.getNarrative();
- _sortOrder = _superPackage.getSortOrder();
- _repeatable = _superPackage.getRepeatable();
- _required = _superPackage.getRequired();
- }
-
- @Nullable
- public Integer getParentSuperPkgId()
- {
- return _parentSuperPkgId;
- }
-
- public void setParentSuperPkgId(Integer parentSuperPkgId)
- {
- _parentSuperPkgId = parentSuperPkgId;
- }
-
- @Nullable
- public Integer getTopLevelPkgId() { return _topLevelPkgId; }
-
- public void setTopLevelPkgId(Integer topLevelPkgId) { _topLevelPkgId = topLevelPkgId; }
-
- @Nullable
- public List getChildPackages()
- {
- return _childPackages;
- }
-
- @Nullable
- public Integer getSortOrder()
- {
- return _sortOrder;
- }
-
- public void setSortOrder(Integer sortOrder)
- {
- _sortOrder = sortOrder;
- }
-
- @Nullable
- public String getDescription()
- {
- return _description;
- }
-
- public void setDescription(String description)
- {
- _description = description;
- }
-
- @Nullable
- public Boolean getRepeatable() { return _repeatable; }
-
- public void setRepeatable(Boolean repeatable) { _repeatable = repeatable; }
-
- @Nullable
- public String getNarrative()
- {
- return _narrative;
- }
-
- public void setNarrative(String narrative)
- {
- _narrative = narrative;
- }
-
- public void setChildPackages(List childPackages)
- {
- _childPackages = childPackages;
- }
-
- @Nullable
- public String getSuperPkgPath()
- {
- return _superPkgPath;
- }
-
- public void setSuperPkgPath(String superPkgPath)
- {
- _superPkgPath = superPkgPath;
- }
-
- @Nullable
- public String getTreePath() { return _treePath; }
-
- public void setTreePath(String treePath) { _treePath = treePath; }
-
- @Nullable
- public Integer getSuperPkgId()
- {
- return _superPkgId;
- }
-
- public void setSuperPkgId(Integer superPkgId)
- {
- _superPkgId = superPkgId;
- }
-
- @Nullable
- public Integer getPkgId()
- {
- return _pkgId;
- }
-
- public void setPkgId(Integer pkgId)
- {
- _pkgId = pkgId;
- }
-
- @Nullable
- public Package getPkg()
- {
- return _pkg;
- }
-
- public void setPkg(Package pkg)
- {
- _pkg = pkg;
- }
-
- public boolean getRequired()
- {
- return _required;
- }
-
- public void setRequired(boolean required)
- {
- _required = required;
- }
-
- @NotNull
- public Map getSuperPackageRow(Container c)
- {
- Map superPkgValues = new ArrayListMap<>();
- superPkgValues.put(SUPERPKG_ID, getSuperPkgId());
- superPkgValues.put(SUPERPKG_PARENTID, getParentSuperPkgId());
- superPkgValues.put(SUPERPKG_PKGID, getPkgId());
- superPkgValues.put(SUPERPKG_ORDER, getSortOrder());
- superPkgValues.put(SUPERPKG_REPEATABLE, getRepeatable());
- superPkgValues.put("container", c);
- superPkgValues.put(SUPERPKG_PATH, getSuperPkgPath());
- superPkgValues.put(SUPERPKG_REQUIRED, getRequired());
- superPkgValues.put(SUPERPKG_TREEPATH, getTreePath());
- superPkgValues.put(SUPERPKG_TOP_LEVEL_PKGID, getTopLevelPkgId());
-
- return superPkgValues;
- }
-
- @NotNull
- public JSONObject toJSON(Container c, User u)
- {
- JSONObject json = new JSONObject();
- json.put(SUPERPKG_ID, getSuperPkgId());
- json.put(SUPERPKG_PKGID, getPkgId());
- json.put(SUPERPKG_DESCRIPTION, getDescription());
- json.put(SUPERPKG_NARRATIVE, getNarrative());
- json.put(SUPERPKG_ORDER, getSortOrder());
- json.put(SUPERPKG_REPEATABLE, getRepeatable());
- json.put(SUPERPKG_REQUIRED, getRequired());
- if (getPkg() != null)
- {
- json.put(PKG_ATTRIBUTES, getPkg().attributesToJson(c, u));
- }
-
- JSONArray subPackages = new JSONArray();
- if (getChildPackages() != null)
- {
- for (SuperPackage subPackage : getChildPackages())
- {
- subPackages.put(subPackage.toJSON(c, u));
- }
- }
-
- json.put("subPackages", subPackages);
- return json;
- }
-}
diff --git a/snd/api-src/org/labkey/api/snd/TriggerAction.java b/snd/api-src/org/labkey/api/snd/TriggerAction.java
deleted file mode 100644
index b5a8c7446..000000000
--- a/snd/api-src/org/labkey/api/snd/TriggerAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.labkey.api.snd;
-
-
-import org.jetbrains.annotations.NotNull;
-
-import java.util.Map;
-
-public class TriggerAction
-{
- EventTrigger _trigger;
- Event _event;
- EventData _eventData;
- Map _topLevelSuperPkgs; // Maps EventDataId to SuperPackage
- SuperPackage _superPackage;
-
- public TriggerAction(@NotNull EventTrigger trigger, @NotNull Event event, @NotNull EventData eventData,
- @NotNull SuperPackage superPackage, @NotNull Map topLevelPkgs)
- {
- _trigger = trigger;
- _event = event;
- _eventData = eventData;
- _topLevelSuperPkgs = topLevelPkgs;
- _superPackage = superPackage;
- }
-
- public EventTrigger getTrigger()
- {
- return _trigger;
- }
-
- public void setTrigger(EventTrigger trigger)
- {
- _trigger = trigger;
- }
-
- public Event getEvent()
- {
- return _event;
- }
-
- public void setEvent(Event event)
- {
- _event = event;
- }
-
- public EventData getEventData()
- {
- return _eventData;
- }
-
- public void setEventData(EventData eventData)
- {
- _eventData = eventData;
- }
-
- public Map getTopLevelSuperPkgs()
- {
- return _topLevelSuperPkgs;
- }
-
- public void setTopLevelSuperPkgs(Map topLevelSuperPkgsPkgs)
- {
- _topLevelSuperPkgs = topLevelSuperPkgsPkgs;
- }
-
- public SuperPackage getSuperPackage()
- {
- return _superPackage;
- }
-
- public void setSuperPackage(SuperPackage superPackage)
- {
- _superPackage = superPackage;
- }
-}
\ No newline at end of file
diff --git a/snd/build.gradle b/snd/build.gradle
deleted file mode 100644
index dbd9d7c43..000000000
--- a/snd/build.gradle
+++ /dev/null
@@ -1,9 +0,0 @@
-import org.labkey.gradle.util.BuildUtils;
-
-plugins {
- id 'org.labkey.build.module'
-}
-
-dependencies {
- BuildUtils.addLabKeyDependency(project: project, config: "modules", depProjectPath: BuildUtils.getPlatformModuleProjectPath(project.gradle, "experiment"), depProjectConfig: "published", depExtension: "module")
-}
diff --git a/snd/module.properties b/snd/module.properties
deleted file mode 100644
index 35cf9cb92..000000000
--- a/snd/module.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-ModuleClass: org.labkey.snd.SNDModule
-Label: Structured Narrative Datasets
-Description: Dynamically defined hierarchical datasets.
-License: Apache 2.0
-LicenseURL: http://www.apache.org/licenses/LICENSE-2.0
-SupportedDatabases: mssql, pgsql
-ManageVersion: true
diff --git a/snd/package-lock.json b/snd/package-lock.json
deleted file mode 100644
index 9aa306356..000000000
--- a/snd/package-lock.json
+++ /dev/null
@@ -1,8016 +0,0 @@
-{
- "name": "SND",
- "version": "1.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "SND",
- "version": "1.0.0",
- "license": "ISC",
- "dependencies": {
- "@types/react": "15.6.0",
- "@types/react-bootstrap": "0.0.52",
- "@types/react-dom": "15.5.1",
- "@types/react-redux": "4.4.47",
- "@types/react-router": "4.0.14",
- "@types/react-router-dom": "4.0.7",
- "@types/react-router-redux": "5.0.4",
- "@types/redux-actions": "1.2.7",
- "@types/redux-form": "6.6.2",
- "babel-polyfill": "6.26.0",
- "history": "4.6.3",
- "merge": "1.2.1",
- "prop-types": "15.5.10",
- "react": "16.8.6",
- "react-bootstrap": "0.31.1",
- "react-dom": "16.8.6",
- "react-redux": "5.0.5",
- "react-router": "4.1.2",
- "react-router-dom": "4.1.2",
- "react-router-redux": "5.0.0-alpha.6",
- "redux": "3.7.2",
- "redux-actions": "2.2.1",
- "redux-form": "6.8.0",
- "redux-thunk": "2.2.0"
- },
- "devDependencies": {
- "@types/enzyme": "2.8.4",
- "@types/react-test-renderer": "15.5.2",
- "@types/redux-mock-store": "0.0.9",
- "babel-core": "6.25.0",
- "babel-loader": "7.1.1",
- "babel-plugin-react-transform": "2.0.2",
- "babel-plugin-transform-es2015-modules-commonjs": "6.24.1",
- "babel-preset-env": "1.7.0",
- "babel-preset-react": "6.24.1",
- "babel-preset-react-hmre": "1.1.1",
- "better-npm-run": "0.0.15",
- "cors": "2.8.4",
- "css-loader": "2.1.1",
- "enzyme": "2.9.1",
- "express": "4.16.4",
- "express-http-proxy": "1.0.6",
- "extract-text-webpack-plugin": "3.0.0",
- "react-test-renderer": "15.6.1",
- "react-transform-hmr": "1.0.4",
- "redux-devtools-extension": "2.13.2",
- "redux-mock-store": "1.2.3",
- "rimraf": "2.6.1",
- "style-loader": "0.18.2",
- "ts-loader": "2.3.2",
- "typescript": "2.4.2",
- "webpack": "3.4.1",
- "webpack-dev-middleware": "2.0.6",
- "webpack-hot-middleware": "2.18.2"
- }
- },
- "node_modules/@types/cheerio": {
- "version": "0.22.8",
- "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.8.tgz",
- "integrity": "sha512-LzF540VOFabhS2TR2yYFz2Mu/fTfkA+5AwYddtJbOJGwnYrr2e7fHadT7/Z3jNGJJdCRlO3ySxmW26NgRdwhNA==",
- "dev": true
- },
- "node_modules/@types/enzyme": {
- "version": "2.8.4",
- "resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-2.8.4.tgz",
- "integrity": "sha512-VGvanTriOBYsVvuO47ABam3FatkNeQrNbYdkXSzK7F5AJkRwpH3lVM5ChS0Zp6SclC05tBoas0wYJmfA3t7vsA==",
- "dev": true,
- "dependencies": {
- "@types/cheerio": "*",
- "@types/react": "*"
- }
- },
- "node_modules/@types/history": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/@types/history/-/history-4.6.2.tgz",
- "integrity": "sha512-eVAb52MJ4lfPLiO9VvTgv8KaZDEIqCwhv+lXOMLlt4C1YHTShgmMULEg0RrCbnqfYd6QKfHsMp0MiX0vWISpSw=="
- },
- "node_modules/@types/react": {
- "version": "15.6.0",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-15.6.0.tgz",
- "integrity": "sha512-cj0xPUuKS+5K9UWeHMeRUc32i7qrDZNKTrW92crNphx8hMy1gVmuJVune7E7NXpFVPn6O7VazXuXeDiCvNXDhg=="
- },
- "node_modules/@types/react-bootstrap": {
- "version": "0.0.52",
- "resolved": "https://registry.npmjs.org/@types/react-bootstrap/-/react-bootstrap-0.0.52.tgz",
- "integrity": "sha512-ygCxAjoRp5cHUOc5K2nWVf31Pd92bmYVxswHQKveFR3quYawnNVs8pR3YkxbbsMBCCET7km08+EgbAZToe2/og==",
- "dependencies": {
- "@types/react": "*"
- }
- },
- "node_modules/@types/react-dom": {
- "version": "15.5.1",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-15.5.1.tgz",
- "integrity": "sha512-4c+e/QPfvSa48YhgGOcQWoHishTo6BuJqka0Bh8qeLdnK1jS+1Nz8W/w1G17AIjtLxONYFUqmi8qyt+8p/yMFA==",
- "dependencies": {
- "@types/react": "*"
- }
- },
- "node_modules/@types/react-redux": {
- "version": "4.4.47",
- "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-4.4.47.tgz",
- "integrity": "sha512-wyFTmLtEymHCjOmVVvsbNqJaGM9Q0x6sZTQfz4XkDj06P8Xe+ys9wKSQHx2Jt9J5Mi7HZnGcJaMFktn60sXluw==",
- "dependencies": {
- "@types/react": "*",
- "redux": "^3.6.0"
- }
- },
- "node_modules/@types/react-router": {
- "version": "4.0.14",
- "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-4.0.14.tgz",
- "integrity": "sha512-wbcqBGFv2KcBo0fIief2MJeE5e1Ph9Z35FzWPmadNMzd5dwpFGLVxyDQiLc30u3ehNrgG7JlQcFYLe5YJnToyA==",
- "dependencies": {
- "@types/history": "*",
- "@types/react": "*"
- }
- },
- "node_modules/@types/react-router-dom": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-4.0.7.tgz",
- "integrity": "sha512-U0MRf2YP/Bf23jKc+9rh9Ugn2JuAGUFfgMGnaHlL5iX7m8VvE5Mt+vuHikR10nysduEUg1Etc8xwBcLEh7E3rw==",
- "dependencies": {
- "@types/history": "*",
- "@types/react": "*",
- "@types/react-router": "*"
- }
- },
- "node_modules/@types/react-router-redux": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/@types/react-router-redux/-/react-router-redux-5.0.4.tgz",
- "integrity": "sha512-xX5elU0hUeggBqReX8b0PnUkNtoDX4tH+z4CIXWAAoMnqAH5MUKUEH8L8myQptE8uSKep0wr09MNV9DqdUD+JQ==",
- "dependencies": {
- "@types/history": "*",
- "@types/react": "*",
- "redux": "^3.7.2"
- }
- },
- "node_modules/@types/react-test-renderer": {
- "version": "15.5.2",
- "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-15.5.2.tgz",
- "integrity": "sha512-qlyf4F+iQIVD8/0AmkNqMa3u/hZi956ZPnm8i/LeqvGkuP9jqM8R2QYph6Plvy4SI185Idyl02SYBTF5RDAdVA==",
- "dev": true,
- "dependencies": {
- "@types/react": "*"
- }
- },
- "node_modules/@types/redux-actions": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@types/redux-actions/-/redux-actions-1.2.7.tgz",
- "integrity": "sha512-V/uwJjkC90gSj613aPF2kqJVFgdfgq1fxDjBSTuTSuMpc7kGRpyylKacWeMOlZlpGPhgrMsfjqrzvlGZI1RioQ=="
- },
- "node_modules/@types/redux-form": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/@types/redux-form/-/redux-form-6.6.2.tgz",
- "integrity": "sha1-8zhARqs2CVeMwo2vbFAjHCWGCgY=",
- "dependencies": {
- "@types/react": "*",
- "redux": "^3.6.0"
- }
- },
- "node_modules/@types/redux-mock-store": {
- "version": "0.0.9",
- "resolved": "https://registry.npmjs.org/@types/redux-mock-store/-/redux-mock-store-0.0.9.tgz",
- "integrity": "sha512-Azxv7Yx8qN8K/YkYjB9OUJZXZ3vkoSEk7VqvgKl9h2FuGwzyakGdRUQxZfOdTbC1cUB9vJRWZcFQrhR3kIEITA==",
- "dev": true,
- "dependencies": {
- "redux": "^3.6.0",
- "redux-mock-store": "^1.2.3"
- }
- },
- "node_modules/accepts": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
- "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
- "dev": true,
- "dependencies": {
- "mime-types": "~2.1.18",
- "negotiator": "0.6.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/acorn": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
- "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-dynamic-import": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
- "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
- "deprecated": "This is probably built in to whatever tool you're using. If you still need it... idk",
- "dev": true,
- "dependencies": {
- "acorn": "^4.0.3"
- }
- },
- "node_modules/ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true,
- "dependencies": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
- }
- },
- "node_modules/ajv-errors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
- "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
- "dev": true,
- "peerDependencies": {
- "ajv": ">=5.0.0"
- }
- },
- "node_modules/ajv-keywords": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
- "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
- "dev": true,
- "peerDependencies": {
- "ajv": "^5.0.0"
- }
- },
- "node_modules/align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/align-text/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ansi-html": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
- "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
- "dev": true,
- "engines": [
- "node >= 0.8.0"
- ],
- "bin": {
- "ansi-html": "bin/ansi-html"
- }
- },
- "node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
- "dev": true
- },
- "node_modules/array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
- },
- "node_modules/asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
- "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "node_modules/assert": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
- "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
- "dev": true,
- "dependencies": {
- "util": "0.10.3"
- }
- },
- "node_modules/assert/node_modules/inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
- "dev": true
- },
- "node_modules/assert/node_modules/util": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
- "dev": true,
- "dependencies": {
- "inherits": "2.0.1"
- }
- },
- "node_modules/assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
- "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.10"
- }
- },
- "node_modules/async-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
- "dev": true
- },
- "node_modules/atob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
- "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
- "dev": true,
- "bin": {
- "atob": "bin/atob.js"
- },
- "engines": {
- "node": ">= 4.5.0"
- }
- },
- "node_modules/babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "dev": true,
- "dependencies": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
- }
- },
- "node_modules/babel-code-frame/node_modules/js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
- "dev": true
- },
- "node_modules/babel-core": {
- "version": "6.25.0",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz",
- "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=",
- "dev": true,
- "dependencies": {
- "babel-code-frame": "^6.22.0",
- "babel-generator": "^6.25.0",
- "babel-helpers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-register": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.25.0",
- "babel-traverse": "^6.25.0",
- "babel-types": "^6.25.0",
- "babylon": "^6.17.2",
- "convert-source-map": "^1.1.0",
- "debug": "^2.1.1",
- "json5": "^0.5.0",
- "lodash": "^4.2.0",
- "minimatch": "^3.0.2",
- "path-is-absolute": "^1.0.0",
- "private": "^0.1.6",
- "slash": "^1.0.0",
- "source-map": "^0.5.0"
- }
- },
- "node_modules/babel-generator": {
- "version": "6.26.1",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
- "dev": true,
- "dependencies": {
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "detect-indent": "^4.0.0",
- "jsesc": "^1.3.0",
- "lodash": "^4.17.4",
- "source-map": "^0.5.7",
- "trim-right": "^1.0.1"
- }
- },
- "node_modules/babel-helper-builder-binary-assignment-operator-visitor": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
- "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
- "dev": true,
- "dependencies": {
- "babel-helper-explode-assignable-expression": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-builder-react-jsx": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
- "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "esutils": "^2.0.2"
- }
- },
- "node_modules/babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
- "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "dev": true,
- "dependencies": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-define-map": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
- "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "dev": true,
- "dependencies": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "node_modules/babel-helper-explode-assignable-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
- "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "dev": true,
- "dependencies": {
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-regex": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
- "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "node_modules/babel-helper-remap-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
- "dev": true,
- "dependencies": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "dev": true,
- "dependencies": {
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helpers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "node_modules/babel-loader": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.1.tgz",
- "integrity": "sha1-uHE0yLEuPkwqlOBUYIW8aAorhIg=",
- "dev": true,
- "dependencies": {
- "find-cache-dir": "^1.0.0",
- "loader-utils": "^1.0.2",
- "mkdirp": "^0.5.1"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "babel-core": "6 || 7 || ^7.0.0-alpha || ^7.0.0-beta || ^7.0.0-rc",
- "webpack": "2 || 3"
- }
- },
- "node_modules/babel-messages": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-react-transform": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz",
- "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=",
- "dev": true,
- "dependencies": {
- "lodash": "^4.6.1"
- }
- },
- "node_modules/babel-plugin-syntax-async-functions": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
- "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
- "dev": true
- },
- "node_modules/babel-plugin-syntax-exponentiation-operator": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
- "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
- "dev": true
- },
- "node_modules/babel-plugin-syntax-flow": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
- "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
- "dev": true
- },
- "node_modules/babel-plugin-syntax-jsx": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
- "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
- "dev": true
- },
- "node_modules/babel-plugin-syntax-trailing-function-commas": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
- "dev": true
- },
- "node_modules/babel-plugin-transform-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
- "dev": true,
- "dependencies": {
- "babel-helper-remap-async-to-generator": "^6.24.1",
- "babel-plugin-syntax-async-functions": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-block-scoping": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "node_modules/babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "dev": true,
- "dependencies": {
- "babel-helper-define-map": "^6.24.1",
- "babel-helper-function-name": "^6.24.1",
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-helper-replace-supers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "dev": true,
- "dependencies": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-modules-amd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "dev": true,
- "dependencies": {
- "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz",
- "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=",
- "dev": true,
- "dependencies": {
- "babel-plugin-transform-strict-mode": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-modules-systemjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "dev": true,
- "dependencies": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-modules-umd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "dev": true,
- "dependencies": {
- "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "dev": true,
- "dependencies": {
- "babel-helper-replace-supers": "^6.24.1",
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "dev": true,
- "dependencies": {
- "babel-helper-call-delegate": "^6.24.1",
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "dev": true,
- "dependencies": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "dev": true,
- "dependencies": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "regexpu-core": "^2.0.0"
- }
- },
- "node_modules/babel-plugin-transform-exponentiation-operator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
- "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
- "dev": true,
- "dependencies": {
- "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
- "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-flow-strip-types": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
- "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
- "dev": true,
- "dependencies": {
- "babel-plugin-syntax-flow": "^6.18.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-react-display-name": {
- "version": "6.25.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
- "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-react-jsx": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
- "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
- "dev": true,
- "dependencies": {
- "babel-helper-builder-react-jsx": "^6.24.1",
- "babel-plugin-syntax-jsx": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-react-jsx-self": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
- "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
- "dev": true,
- "dependencies": {
- "babel-plugin-syntax-jsx": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-react-jsx-source": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
- "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
- "dev": true,
- "dependencies": {
- "babel-plugin-syntax-jsx": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-regenerator": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
- "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
- "dev": true,
- "dependencies": {
- "regenerator-transform": "^0.10.0"
- }
- },
- "node_modules/babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-polyfill": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
- "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "core-js": "^2.5.0",
- "regenerator-runtime": "^0.10.5"
- }
- },
- "node_modules/babel-preset-env": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz",
- "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==",
- "dev": true,
- "dependencies": {
- "babel-plugin-check-es2015-constants": "^6.22.0",
- "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
- "babel-plugin-transform-async-to-generator": "^6.22.0",
- "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
- "babel-plugin-transform-es2015-classes": "^6.23.0",
- "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
- "babel-plugin-transform-es2015-destructuring": "^6.23.0",
- "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
- "babel-plugin-transform-es2015-for-of": "^6.23.0",
- "babel-plugin-transform-es2015-function-name": "^6.22.0",
- "babel-plugin-transform-es2015-literals": "^6.22.0",
- "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
- "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
- "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
- "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
- "babel-plugin-transform-es2015-object-super": "^6.22.0",
- "babel-plugin-transform-es2015-parameters": "^6.23.0",
- "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
- "babel-plugin-transform-es2015-spread": "^6.22.0",
- "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
- "babel-plugin-transform-es2015-template-literals": "^6.22.0",
- "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
- "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
- "babel-plugin-transform-exponentiation-operator": "^6.22.0",
- "babel-plugin-transform-regenerator": "^6.22.0",
- "browserslist": "^3.2.6",
- "invariant": "^2.2.2",
- "semver": "^5.3.0"
- }
- },
- "node_modules/babel-preset-env/node_modules/browserslist": {
- "version": "3.2.8",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz",
- "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==",
- "dev": true,
- "dependencies": {
- "caniuse-lite": "^1.0.30000844",
- "electron-to-chromium": "^1.3.47"
- },
- "bin": {
- "browserslist": "cli.js"
- }
- },
- "node_modules/babel-preset-flow": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
- "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
- "dev": true,
- "dependencies": {
- "babel-plugin-transform-flow-strip-types": "^6.22.0"
- }
- },
- "node_modules/babel-preset-react": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
- "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
- "dev": true,
- "dependencies": {
- "babel-plugin-syntax-jsx": "^6.3.13",
- "babel-plugin-transform-react-display-name": "^6.23.0",
- "babel-plugin-transform-react-jsx": "^6.24.1",
- "babel-plugin-transform-react-jsx-self": "^6.22.0",
- "babel-plugin-transform-react-jsx-source": "^6.22.0",
- "babel-preset-flow": "^6.23.0"
- }
- },
- "node_modules/babel-preset-react-hmre": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/babel-preset-react-hmre/-/babel-preset-react-hmre-1.1.1.tgz",
- "integrity": "sha1-0hbmDLW41Mhz4Z7Q9U6v8UN7xJI=",
- "dev": true,
- "dependencies": {
- "babel-plugin-react-transform": "^2.0.2",
- "react-transform-catch-errors": "^1.0.2",
- "react-transform-hmr": "^1.0.3",
- "redbox-react": "^1.2.2"
- }
- },
- "node_modules/babel-register": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
- "dev": true,
- "dependencies": {
- "babel-core": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "core-js": "^2.5.0",
- "home-or-tmp": "^2.0.0",
- "lodash": "^4.17.4",
- "mkdirp": "^0.5.1",
- "source-map-support": "^0.4.15"
- }
- },
- "node_modules/babel-register/node_modules/babel-core": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
- "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
- "dev": true,
- "dependencies": {
- "babel-code-frame": "^6.26.0",
- "babel-generator": "^6.26.0",
- "babel-helpers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-register": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "convert-source-map": "^1.5.0",
- "debug": "^2.6.8",
- "json5": "^0.5.1",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.4",
- "path-is-absolute": "^1.0.1",
- "private": "^0.1.7",
- "slash": "^1.0.0",
- "source-map": "^0.5.6"
- }
- },
- "node_modules/babel-runtime": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "dependencies": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.11.0"
- }
- },
- "node_modules/babel-runtime/node_modules/regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
- },
- "node_modules/babel-template": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "lodash": "^4.17.4"
- }
- },
- "node_modules/babel-traverse": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
- "dev": true,
- "dependencies": {
- "babel-code-frame": "^6.26.0",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "debug": "^2.6.8",
- "globals": "^9.18.0",
- "invariant": "^2.2.2",
- "lodash": "^4.17.4"
- }
- },
- "node_modules/babel-types": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "esutils": "^2.0.2",
- "lodash": "^4.17.4",
- "to-fast-properties": "^1.0.3"
- }
- },
- "node_modules/babylon": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
- "dev": true,
- "bin": {
- "babylon": "bin/babylon.js"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "node_modules/base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "dev": true,
- "dependencies": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/base/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/base/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "deprecated": "Please upgrade to v1.0.1",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/base/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "deprecated": "Please upgrade to v1.0.1",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/base/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/base64-js": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
- "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
- "dev": true
- },
- "node_modules/better-npm-run": {
- "version": "0.0.15",
- "resolved": "https://registry.npmjs.org/better-npm-run/-/better-npm-run-0.0.15.tgz",
- "integrity": "sha1-EADtFLT3fIU95aUUiAX35093HPA=",
- "dev": true,
- "dependencies": {
- "commander": "^2.9.0",
- "dotenv": "^2.0.0",
- "object-assign": "^4.0.1"
- },
- "bin": {
- "better-npm-run": "index.js",
- "bnr": "index.js"
- }
- },
- "node_modules/big.js": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/binary-extensions": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
- "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/bn.js": {
- "version": "4.11.8",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
- "dev": true
- },
- "node_modules/body-parser": {
- "version": "1.18.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
- "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
- "dev": true,
- "dependencies": {
- "bytes": "3.0.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "~1.6.3",
- "iconv-lite": "0.4.23",
- "on-finished": "~2.3.0",
- "qs": "6.5.2",
- "raw-body": "2.3.3",
- "type-is": "~1.6.16"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
- "dev": true
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "dependencies": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/braces/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
- "dev": true
- },
- "node_modules/browserify-aes": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "dev": true,
- "dependencies": {
- "buffer-xor": "^1.0.3",
- "cipher-base": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.3",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/browserify-cipher": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "dev": true,
- "dependencies": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
- }
- },
- "node_modules/browserify-des": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
- "dev": true,
- "dependencies": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/browserify-rsa": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
- "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "randombytes": "^2.0.1"
- }
- },
- "node_modules/browserify-sign": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
- "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.1",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.2",
- "elliptic": "^6.0.0",
- "inherits": "^2.0.1",
- "parse-asn1": "^5.0.0"
- }
- },
- "node_modules/browserify-zlib": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
- "dev": true,
- "dependencies": {
- "pako": "~1.0.5"
- }
- },
- "node_modules/buffer": {
- "version": "4.9.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
- "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
- "deprecated": "This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer",
- "dev": true,
- "dependencies": {
- "base64-js": "^1.0.2",
- "ieee754": "^1.1.4",
- "isarray": "^1.0.0"
- }
- },
- "node_modules/buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
- "dev": true
- },
- "node_modules/buffer/node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "node_modules/builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
- "dev": true
- },
- "node_modules/bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
- "dependencies": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30000865",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000865.tgz",
- "integrity": "sha512-vs79o1mOSKRGv/1pSkp4EXgl4ZviWeYReXw60XfacPU64uQWZwJT6vZNmxRF9O+6zu71sJwMxLK5JXxbzuVrLw==",
- "dev": true
- },
- "node_modules/center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "dev": true,
- "dependencies": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/cheerio": {
- "version": "0.22.0",
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz",
- "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=",
- "dev": true,
- "dependencies": {
- "css-select": "~1.2.0",
- "dom-serializer": "~0.1.0",
- "entities": "~1.1.1",
- "htmlparser2": "^3.9.1",
- "lodash.assignin": "^4.0.9",
- "lodash.bind": "^4.1.4",
- "lodash.defaults": "^4.0.1",
- "lodash.filter": "^4.4.0",
- "lodash.flatten": "^4.2.0",
- "lodash.foreach": "^4.3.0",
- "lodash.map": "^4.4.0",
- "lodash.merge": "^4.4.0",
- "lodash.pick": "^4.2.1",
- "lodash.reduce": "^4.4.0",
- "lodash.reject": "^4.4.0",
- "lodash.some": "^4.4.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/chokidar": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
- "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
- "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
- "dev": true,
- "dependencies": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.0",
- "braces": "^2.3.0",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.1",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "lodash.debounce": "^4.0.8",
- "normalize-path": "^2.1.1",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.0.0",
- "upath": "^1.0.5"
- },
- "optionalDependencies": {
- "fsevents": "^1.2.2"
- }
- },
- "node_modules/chokidar/node_modules/anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
- "dev": true,
- "dependencies": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "dev": true,
- "dependencies": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent/node_modules/is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/chokidar/node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/chokidar/node_modules/is-glob": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
- "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "dev": true,
- "dependencies": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/class-utils/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/classnames": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
- "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
- },
- "node_modules/cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "dependencies": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
- }
- },
- "node_modules/cliui/node_modules/wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
- "dev": true,
- "engines": {
- "iojs": ">= 1.0.0",
- "node": ">= 0.12.0"
- }
- },
- "node_modules/code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
- "dependencies": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/color-convert": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
- "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.1"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
- "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=",
- "dev": true
- },
- "node_modules/commander": {
- "version": "2.16.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
- "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==",
- "dev": true
- },
- "node_modules/commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
- "dev": true
- },
- "node_modules/component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
- "dev": true
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "node_modules/console-browserify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
- "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
- "dev": true,
- "dependencies": {
- "date-now": "^0.1.4"
- }
- },
- "node_modules/constants-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
- "dev": true
- },
- "node_modules/content-disposition": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
- "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/convert-source-map": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
- "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
- "dev": true
- },
- "node_modules/cookie": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
- "dev": true
- },
- "node_modules/copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/core-js": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
- "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==",
- "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js."
- },
- "node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "node_modules/cors": {
- "version": "2.8.4",
- "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz",
- "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=",
- "dev": true,
- "dependencies": {
- "object-assign": "^4",
- "vary": "^1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/create-ecdh": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
- "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.0.0"
- }
- },
- "node_modules/create-hash": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "dev": true,
- "dependencies": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
- }
- },
- "node_modules/create-hmac": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "dev": true,
- "dependencies": {
- "cipher-base": "^1.0.3",
- "create-hash": "^1.1.0",
- "inherits": "^2.0.1",
- "ripemd160": "^2.0.0",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "node_modules/create-react-class": {
- "version": "15.6.3",
- "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz",
- "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==",
- "dependencies": {
- "fbjs": "^0.8.9",
- "loose-envify": "^1.3.1",
- "object-assign": "^4.1.1"
- }
- },
- "node_modules/cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "dependencies": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "node_modules/crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "dev": true,
- "dependencies": {
- "browserify-cipher": "^1.0.0",
- "browserify-sign": "^4.0.0",
- "create-ecdh": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.0",
- "diffie-hellman": "^5.0.0",
- "inherits": "^2.0.1",
- "pbkdf2": "^3.0.3",
- "public-encrypt": "^4.0.0",
- "randombytes": "^2.0.0",
- "randomfill": "^1.0.3"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/css-loader": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz",
- "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.2.0",
- "icss-utils": "^4.1.0",
- "loader-utils": "^1.2.3",
- "normalize-path": "^3.0.0",
- "postcss": "^7.0.14",
- "postcss-modules-extract-imports": "^2.0.0",
- "postcss-modules-local-by-default": "^2.0.6",
- "postcss-modules-scope": "^2.1.0",
- "postcss-modules-values": "^2.0.0",
- "postcss-value-parser": "^3.3.0",
- "schema-utils": "^1.0.0"
- },
- "engines": {
- "node": ">= 6.9.0"
- },
- "peerDependencies": {
- "webpack": "^4.0.0"
- }
- },
- "node_modules/css-loader/node_modules/ajv": {
- "version": "6.10.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
- "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "node_modules/css-loader/node_modules/ajv-keywords": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz",
- "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==",
- "dev": true,
- "peerDependencies": {
- "ajv": "^6.9.1"
- }
- },
- "node_modules/css-loader/node_modules/big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/css-loader/node_modules/camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/css-loader/node_modules/fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
- "dev": true
- },
- "node_modules/css-loader/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/css-loader/node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/css-loader/node_modules/loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
- "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
- "dev": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/css-loader/node_modules/minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- },
- "node_modules/css-loader/node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/css-loader/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "dev": true,
- "dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- },
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/css-select": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
- "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
- "dev": true,
- "dependencies": {
- "boolbase": "~1.0.0",
- "css-what": "2.1",
- "domutils": "1.5.1",
- "nth-check": "~1.0.1"
- }
- },
- "node_modules/css-what": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz",
- "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true,
- "dependencies": {
- "array-find-index": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/d": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
- "dev": true,
- "dependencies": {
- "es5-ext": "^0.10.9"
- }
- },
- "node_modules/date-now": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
- "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
- "dev": true
- },
- "node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true,
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/deep-equal": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
- "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
- },
- "node_modules/define-properties": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
- "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
- "dev": true,
- "dependencies": {
- "foreach": "^2.0.5",
- "object-keys": "^1.0.8"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-property/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "deprecated": "Please upgrade to v1.0.1",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-property/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "deprecated": "Please upgrade to v1.0.1",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-property/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/des.js": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
- "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "node_modules/destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
- "dev": true
- },
- "node_modules/detect-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
- "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
- "dev": true,
- "dependencies": {
- "repeating": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/diffie-hellman": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
- }
- },
- "node_modules/dom-helpers": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz",
- "integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg=="
- },
- "node_modules/dom-serializer": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
- "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
- "dev": true,
- "dependencies": {
- "domelementtype": "~1.1.1",
- "entities": "~1.1.1"
- }
- },
- "node_modules/dom-serializer/node_modules/domelementtype": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
- "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
- "dev": true
- },
- "node_modules/dom-walk": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
- "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=",
- "dev": true
- },
- "node_modules/domain-browser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
- "dev": true,
- "engines": {
- "node": ">=0.4",
- "npm": ">=1.2"
- }
- },
- "node_modules/domelementtype": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
- "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
- "deprecated": "update to domelementtype@1.3.1",
- "dev": true
- },
- "node_modules/domhandler": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
- "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
- "dev": true,
- "dependencies": {
- "domelementtype": "1"
- }
- },
- "node_modules/domutils": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
- "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
- "dev": true,
- "dependencies": {
- "dom-serializer": "0",
- "domelementtype": "1"
- }
- },
- "node_modules/dotenv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-2.0.0.tgz",
- "integrity": "sha1-vXWcNXqqcDZeAclrewvsCKbg2Uk=",
- "dev": true
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
- "dev": true
- },
- "node_modules/electron-to-chromium": {
- "version": "1.3.52",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.52.tgz",
- "integrity": "sha1-0tnxJwuko7lnuDHEDvcftNmrXOA=",
- "dev": true
- },
- "node_modules/elliptic": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
- "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.4.0",
- "brorand": "^1.0.1",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.0"
- }
- },
- "node_modules/emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/encoding": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
- "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
- "dependencies": {
- "iconv-lite": "~0.4.13"
- }
- },
- "node_modules/enhanced-resolve": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
- "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.4.0",
- "object-assign": "^4.0.1",
- "tapable": "^0.2.7"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
- "node_modules/entities": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
- "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
- "dev": true
- },
- "node_modules/enzyme": {
- "version": "2.9.1",
- "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-2.9.1.tgz",
- "integrity": "sha1-B9XOaRJBJA+4F78sSxjW5TAkDfY=",
- "dev": true,
- "dependencies": {
- "cheerio": "^0.22.0",
- "function.prototype.name": "^1.0.0",
- "is-subset": "^0.1.1",
- "lodash": "^4.17.4",
- "object-is": "^1.0.1",
- "object.assign": "^4.0.4",
- "object.entries": "^1.0.4",
- "object.values": "^1.0.4",
- "prop-types": "^15.5.10",
- "uuid": "^3.0.1"
- },
- "peerDependencies": {
- "react": "0.13.x || 0.14.x || ^15.0.0-0 || 15.x"
- }
- },
- "node_modules/errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
- "dependencies": {
- "prr": "~1.0.1"
- },
- "bin": {
- "errno": "cli.js"
- }
- },
- "node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
- "node_modules/error-stack-parser": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz",
- "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=",
- "dev": true,
- "dependencies": {
- "stackframe": "^0.3.1"
- }
- },
- "node_modules/es-abstract": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
- "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
- "dev": true,
- "dependencies": {
- "es-to-primitive": "^1.1.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.1",
- "is-callable": "^1.1.3",
- "is-regex": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-to-primitive": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
- "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.1",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es5-ext": {
- "version": "0.10.45",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz",
- "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==",
- "dev": true,
- "dependencies": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.1",
- "next-tick": "1"
- }
- },
- "node_modules/es6-error": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
- "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="
- },
- "node_modules/es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "dev": true,
- "dependencies": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "node_modules/es6-map": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
- "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
- "dev": true,
- "dependencies": {
- "d": "1",
- "es5-ext": "~0.10.14",
- "es6-iterator": "~2.0.1",
- "es6-set": "~0.1.5",
- "es6-symbol": "~3.1.1",
- "event-emitter": "~0.3.5"
- }
- },
- "node_modules/es6-promise": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
- "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=",
- "dev": true
- },
- "node_modules/es6-set": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
- "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
- "dev": true,
- "dependencies": {
- "d": "1",
- "es5-ext": "~0.10.14",
- "es6-iterator": "~2.0.1",
- "es6-symbol": "3.1.1",
- "event-emitter": "~0.3.5"
- }
- },
- "node_modules/es6-symbol": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
- "dev": true,
- "dependencies": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
- "node_modules/es6-weak-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
- "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
- "dev": true,
- "dependencies": {
- "d": "1",
- "es5-ext": "^0.10.14",
- "es6-iterator": "^2.0.1",
- "es6-symbol": "^3.1.1"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
- "dev": true
- },
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/escope": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
- "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
- "dev": true,
- "dependencies": {
- "es6-map": "^0.1.3",
- "es6-weak-map": "^2.0.1",
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
- "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
- "dev": true,
- "dependencies": {
- "estraverse": "^4.1.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "dev": true,
- "dependencies": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
- "node_modules/events": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
- "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
- "dev": true,
- "engines": {
- "node": ">=0.4.x"
- }
- },
- "node_modules/evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "dev": true,
- "dependencies": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
- "node_modules/execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.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"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "dependencies": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/express": {
- "version": "4.16.4",
- "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
- "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
- "dev": true,
- "dependencies": {
- "accepts": "~1.3.5",
- "array-flatten": "1.1.1",
- "body-parser": "1.18.3",
- "content-disposition": "0.5.2",
- "content-type": "~1.0.4",
- "cookie": "0.3.1",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.1.1",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.2",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.4",
- "qs": "6.5.2",
- "range-parser": "~1.2.0",
- "safe-buffer": "5.1.2",
- "send": "0.16.2",
- "serve-static": "1.13.2",
- "setprototypeof": "1.1.0",
- "statuses": "~1.4.0",
- "type-is": "~1.6.16",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/express-http-proxy": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/express-http-proxy/-/express-http-proxy-1.0.6.tgz",
- "integrity": "sha1-KTDoKHDnSlMapEP6yfBlIu5cHqI=",
- "dev": true,
- "dependencies": {
- "debug": "^2.6.4",
- "es6-promise": "^3.3.1",
- "raw-body": "^2.2.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/express/node_modules/path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
- "dev": true
- },
- "node_modules/extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "dependencies": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extend-shallow/node_modules/is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "dependencies": {
- "is-plain-object": "^2.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "dependencies": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "deprecated": "Please upgrade to v1.0.1",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "deprecated": "Please upgrade to v1.0.1",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extract-text-webpack-plugin": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.0.tgz",
- "integrity": "sha1-kMqnkHvESfM1AF46x1MrQbAN5hI=",
- "deprecated": "Deprecated. Please use https://github.com/webpack-contrib/mini-css-extract-plugin",
- "dev": true,
- "dependencies": {
- "async": "^2.4.1",
- "loader-utils": "^1.1.0",
- "schema-utils": "^0.3.0",
- "webpack-sources": "^1.0.1"
- },
- "engines": {
- "node": ">= 4.3 < 5.0.0 || >= 5.10"
- },
- "peerDependencies": {
- "webpack": "^3.1.0"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
- "dev": true
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
- "dev": true
- },
- "node_modules/fbjs": {
- "version": "0.8.17",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
- "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
- "dependencies": {
- "core-js": "^1.0.0",
- "isomorphic-fetch": "^2.1.1",
- "loose-envify": "^1.0.0",
- "object-assign": "^4.1.0",
- "promise": "^7.1.1",
- "setimmediate": "^1.0.5",
- "ua-parser-js": "^0.7.18"
- }
- },
- "node_modules/fbjs/node_modules/core-js": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
- "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
- "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js."
- },
- "node_modules/fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fill-range/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/finalhandler": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
- "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
- "dev": true,
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.2",
- "statuses": "~1.4.0",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/find-cache-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
- "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
- "dev": true,
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^1.0.0",
- "pkg-dir": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "dependencies": {
- "locate-path": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/foreach": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
- "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
- "dev": true
- },
- "node_modules/forwarded": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "dependencies": {
- "map-cache": "^0.2.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
- "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
- "bundleDependencies": [
- "node-pre-gyp"
- ],
- "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "dependencies": {
- "nan": "^2.9.2",
- "node-pre-gyp": "^0.10.0"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/fsevents/node_modules/abbrev": {
- "version": "1.1.1",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/ansi-regex": {
- "version": "2.1.1",
- "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/aproba": {
- "version": "1.2.0",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/are-we-there-yet": {
- "version": "1.1.4",
- "integrity": "sha512-QbMPI8teYlZBIBqDgmIWfDKO149dGtQV2ium8WniCaARFFRd1e+IES1LA4sSGcVTFdVL628+163WUbxev7R/aQ==",
- "deprecated": "This package is no longer supported.",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "node_modules/fsevents/node_modules/balanced-match": {
- "version": "1.0.0",
- "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/brace-expansion": {
- "version": "1.1.11",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/fsevents/node_modules/chownr": {
- "version": "1.0.1",
- "integrity": "sha512-cKnqUJAC8G6cuN1DiRRTifu+s1BlAQNtalzGphFEV0pl0p46dsxJD4l1AOlyKJeLZOFzo3c34R7F3djxaCu8Kw==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/code-point-at": {
- "version": "1.1.0",
- "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/concat-map": {
- "version": "0.0.1",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/console-control-strings": {
- "version": "1.1.0",
- "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/core-util-is": {
- "version": "1.0.2",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/debug": {
- "version": "2.6.9",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/fsevents/node_modules/deep-extend": {
- "version": "0.5.1",
- "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/delegates": {
- "version": "1.0.0",
- "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/detect-libc": {
- "version": "1.0.3",
- "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "bin": {
- "detect-libc": "bin/detect-libc.js"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/fsevents/node_modules/fs-minipass": {
- "version": "1.2.5",
- "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "minipass": "^2.2.1"
- }
- },
- "node_modules/fsevents/node_modules/fs.realpath": {
- "version": "1.0.0",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/gauge": {
- "version": "2.7.4",
- "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==",
- "deprecated": "This package is no longer supported.",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "node_modules/fsevents/node_modules/glob": {
- "version": "7.1.2",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/fsevents/node_modules/has-unicode": {
- "version": "2.0.1",
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/iconv-lite": {
- "version": "0.4.21",
- "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "safer-buffer": "^2.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/ignore-walk": {
- "version": "3.0.1",
- "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "minimatch": "^3.0.4"
- }
- },
- "node_modules/fsevents/node_modules/inflight": {
- "version": "1.0.6",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/fsevents/node_modules/inherits": {
- "version": "2.0.3",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/ini": {
- "version": "1.3.5",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
- "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/fsevents/node_modules/is-fullwidth-code-point": {
- "version": "1.0.0",
- "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "number-is-nan": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/isarray": {
- "version": "1.0.0",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/minimatch": {
- "version": "3.0.4",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/fsevents/node_modules/minimist": {
- "version": "0.0.8",
- "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/minipass": {
- "version": "2.2.4",
- "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "safe-buffer": "^5.1.1",
- "yallist": "^3.0.0"
- }
- },
- "node_modules/fsevents/node_modules/minizlib": {
- "version": "1.1.0",
- "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "minipass": "^2.2.1"
- }
- },
- "node_modules/fsevents/node_modules/mkdirp": {
- "version": "0.5.1",
- "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==",
- "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "minimist": "0.0.8"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/fsevents/node_modules/ms": {
- "version": "2.0.0",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/needle": {
- "version": "2.2.0",
- "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "debug": "^2.1.2",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- },
- "bin": {
- "needle": "bin/needle"
- },
- "engines": {
- "node": ">= 0.10.x"
- }
- },
- "node_modules/fsevents/node_modules/node-pre-gyp": {
- "version": "0.10.0",
- "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==",
- "deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.0",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.1.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- },
- "bin": {
- "node-pre-gyp": "bin/node-pre-gyp"
- }
- },
- "node_modules/fsevents/node_modules/nopt": {
- "version": "4.0.1",
- "integrity": "sha512-+5XZFpQZEY0cg5JaxLwGxDlKNKYxuXwGt8/Oi3UXm5/4ymrJve9d2CURituxv3rSrVCGZj4m1U1JlHTdcKt2Ng==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- }
- },
- "node_modules/fsevents/node_modules/npm-bundled": {
- "version": "1.0.3",
- "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/npm-packlist": {
- "version": "1.1.10",
- "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
- }
- },
- "node_modules/fsevents/node_modules/npmlog": {
- "version": "4.1.2",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
- "deprecated": "This package is no longer supported.",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "node_modules/fsevents/node_modules/number-is-nan": {
- "version": "1.0.1",
- "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/object-assign": {
- "version": "4.1.1",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/once": {
- "version": "1.4.0",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/fsevents/node_modules/os-homedir": {
- "version": "1.0.2",
- "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/os-tmpdir": {
- "version": "1.0.2",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/osenv": {
- "version": "0.1.5",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "deprecated": "This package is no longer supported.",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "node_modules/fsevents/node_modules/path-is-absolute": {
- "version": "1.0.1",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/process-nextick-args": {
- "version": "2.0.0",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/rc": {
- "version": "1.2.7",
- "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "deep-extend": "^0.5.1",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "bin": {
- "rc": "cli.js"
- }
- },
- "node_modules/fsevents/node_modules/rc/node_modules/minimist": {
- "version": "1.2.0",
- "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/readable-stream": {
- "version": "2.3.6",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/fsevents/node_modules/rimraf": {
- "version": "2.6.2",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "glob": "^7.0.5"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/fsevents/node_modules/safe-buffer": {
- "version": "5.1.1",
- "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/safer-buffer": {
- "version": "2.1.2",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/sax": {
- "version": "1.2.4",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/semver": {
- "version": "5.5.0",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/fsevents/node_modules/set-blocking": {
- "version": "2.0.0",
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/signal-exit": {
- "version": "3.0.2",
- "integrity": "sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/string_decoder": {
- "version": "1.1.1",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/fsevents/node_modules/string-width": {
- "version": "1.0.2",
- "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/strip-ansi": {
- "version": "3.0.1",
- "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/strip-json-comments": {
- "version": "2.0.1",
- "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fsevents/node_modules/tar": {
- "version": "4.4.1",
- "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "chownr": "^1.0.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.2.4",
- "minizlib": "^1.1.0",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.1",
- "yallist": "^3.0.2"
- },
- "engines": {
- "node": ">=4.5"
- }
- },
- "node_modules/fsevents/node_modules/util-deprecate": {
- "version": "1.0.2",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/wide-align": {
- "version": "1.1.2",
- "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
- "dev": true,
- "inBundle": true,
- "optional": true,
- "dependencies": {
- "string-width": "^1.0.2"
- }
- },
- "node_modules/fsevents/node_modules/wrappy": {
- "version": "1.0.2",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/fsevents/node_modules/yallist": {
- "version": "3.0.2",
- "integrity": "sha512-U+iKQ8rDYMRmvEpvDUIWZ3CtM9/imlAc+c1yJ7YV0vu+HNtP82sAkXzuDXPLkIPoLZohnXFSs9wf2E17xk5yZA==",
- "dev": true,
- "inBundle": true,
- "optional": true
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/function.prototype.name": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.0.tgz",
- "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "is-callable": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
- "dev": true
- },
- "node_modules/get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/global": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
- "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
- "dev": true,
- "dependencies": {
- "min-document": "^2.19.0",
- "process": "~0.5.1"
- }
- },
- "node_modules/globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "dependencies": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
- "dependencies": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-values/node_modules/kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/hash-base": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
- "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/hash.js": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
- "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
- "node_modules/history": {
- "version": "4.6.3",
- "resolved": "https://registry.npmjs.org/history/-/history-4.6.3.tgz",
- "integrity": "sha1-bXI6hxLFgda+836MJvSu3G64aWc=",
- "dependencies": {
- "invariant": "^2.2.1",
- "loose-envify": "^1.2.0",
- "resolve-pathname": "^2.0.0",
- "value-equal": "^0.2.0",
- "warning": "^3.0.0"
- }
- },
- "node_modules/hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "dev": true,
- "dependencies": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "node_modules/hoist-non-react-statics": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
- "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs="
- },
- "node_modules/home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
- "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "dev": true,
- "dependencies": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/hosted-git-info": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
- "dev": true
- },
- "node_modules/html-entities": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
- "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
- "dev": true,
- "engines": [
- "node >= 0.4.0"
- ]
- },
- "node_modules/htmlparser2": {
- "version": "3.9.2",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
- "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
- "dev": true,
- "dependencies": {
- "domelementtype": "^1.3.0",
- "domhandler": "^2.3.0",
- "domutils": "^1.5.1",
- "entities": "^1.1.1",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.2"
- }
- },
- "node_modules/http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "dev": true,
- "dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/http-errors/node_modules/setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
- },
- "node_modules/http-errors/node_modules/statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
- "dev": true
- },
- "node_modules/iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/icss-replace-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
- "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
- "dev": true
- },
- "node_modules/icss-utils": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
- "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
- "dev": true,
- "dependencies": {
- "postcss": "^7.0.14"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/ieee754": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
- "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
- "dev": true
- },
- "node_modules/indexes-of": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
- "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
- "dev": true
- },
- "node_modules/indexof": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
- "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
- "dev": true
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
- "node_modules/interpret": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
- "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
- "dev": true
- },
- "node_modules/invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "dependencies": {
- "loose-envify": "^1.0.0"
- }
- },
- "node_modules/invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ipaddr.js": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
- "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "deprecated": "Please upgrade to v0.1.7",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-accessor-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
- },
- "node_modules/is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
- "dev": true,
- "dependencies": {
- "binary-extensions": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "node_modules/is-builtin-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "dev": true,
- "dependencies": {
- "builtin-modules": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "deprecated": "Please upgrade to v0.1.5",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-data-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-descriptor/node_modules/kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true,
- "dependencies": {
- "number-is-nan": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "dependencies": {
- "number-is-nan": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
- },
- "node_modules/is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
- "dev": true,
- "dependencies": {
- "has": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-subset": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
- "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=",
- "dev": true
- },
- "node_modules/is-symbol": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
- "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "node_modules/isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/isomorphic-fetch": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
- "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
- "dependencies": {
- "node-fetch": "^1.0.1",
- "whatwg-fetch": ">=0.10.0"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "node_modules/jsesc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- }
- },
- "node_modules/json-loader": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
- "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==",
- "dev": true
- },
- "node_modules/json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
- "dev": true
- },
- "node_modules/json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
- "dev": true,
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/keycode": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz",
- "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ="
- },
- "node_modules/kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
- "dependencies": {
- "invert-kv": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/loader-runner": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz",
- "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=",
- "dev": true,
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
- "node_modules/loader-utils": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
- "dev": true,
- "dependencies": {
- "big.js": "^3.1.3",
- "emojis-list": "^2.0.0",
- "json5": "^0.5.0"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
- "dependencies": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
- },
- "node_modules/lodash-es": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz",
- "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ=="
- },
- "node_modules/lodash.assignin": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz",
- "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=",
- "dev": true
- },
- "node_modules/lodash.bind": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz",
- "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=",
- "dev": true
- },
- "node_modules/lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
- "dev": true
- },
- "node_modules/lodash.defaults": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
- "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
- "dev": true
- },
- "node_modules/lodash.filter": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz",
- "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=",
- "dev": true
- },
- "node_modules/lodash.flatten": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
- "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
- "dev": true
- },
- "node_modules/lodash.foreach": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
- "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=",
- "dev": true
- },
- "node_modules/lodash.map": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz",
- "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=",
- "dev": true
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "node_modules/lodash.pick": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
- "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
- "dev": true
- },
- "node_modules/lodash.reduce": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz",
- "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=",
- "dev": true
- },
- "node_modules/lodash.reject": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz",
- "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=",
- "dev": true
- },
- "node_modules/lodash.some": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz",
- "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=",
- "dev": true
- },
- "node_modules/log-symbols": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/log-symbols/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/log-symbols/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/log-symbols/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/log-symbols/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/loglevelnext": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz",
- "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==",
- "dev": true,
- "dependencies": {
- "es6-symbol": "^3.1.1",
- "object.assign": "^4.1.0"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
- }
- },
- "node_modules/loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true,
- "dependencies": {
- "currently-unhandled": "^0.4.1",
- "signal-exit": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/lru-cache": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
- "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
- "dev": true,
- "dependencies": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "node_modules/make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "dev": true,
- "dependencies": {
- "pify": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/make-dir/node_modules/pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true,
- "dependencies": {
- "object-visit": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/md5.js": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
- "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
- "dev": true,
- "dependencies": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mem": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
- "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
- "dev": true,
- "dependencies": {
- "mimic-fn": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "dev": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
- "node_modules/merge": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
- "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ=="
- },
- "node_modules/merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
- "dev": true
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
- },
- "bin": {
- "miller-rabin": "bin/miller-rabin"
- }
- },
- "node_modules/mime": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz",
- "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==",
- "dev": true,
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/mime-db": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
- "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.18",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
- "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
- "dev": true,
- "dependencies": {
- "mime-db": "~1.33.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/min-document": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
- "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
- "dev": true,
- "dependencies": {
- "dom-walk": "^0.1.0"
- }
- },
- "node_modules/minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
- "dev": true
- },
- "node_modules/minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
- "dev": true
- },
- "node_modules/minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- },
- "node_modules/mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
- "dev": true,
- "dependencies": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mixin-deep/node_modules/is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "dependencies": {
- "is-plain-object": "^2.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
- "dev": true,
- "dependencies": {
- "minimist": "0.0.8"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "node_modules/nan": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
- "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
- "dev": true,
- "optional": true
- },
- "node_modules/nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
- "dev": true,
- "dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/negotiator": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
- "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/neo-async": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz",
- "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==",
- "dev": true
- },
- "node_modules/next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
- "dev": true
- },
- "node_modules/node-fetch": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
- "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
- "dependencies": {
- "encoding": "^0.1.11",
- "is-stream": "^1.0.1"
- }
- },
- "node_modules/node-libs-browser": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
- "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
- "dev": true,
- "dependencies": {
- "assert": "^1.1.1",
- "browserify-zlib": "^0.2.0",
- "buffer": "^4.3.0",
- "console-browserify": "^1.1.0",
- "constants-browserify": "^1.0.0",
- "crypto-browserify": "^3.11.0",
- "domain-browser": "^1.1.1",
- "events": "^1.0.0",
- "https-browserify": "^1.0.0",
- "os-browserify": "^0.3.0",
- "path-browserify": "0.0.0",
- "process": "^0.11.10",
- "punycode": "^1.2.4",
- "querystring-es3": "^0.2.0",
- "readable-stream": "^2.3.3",
- "stream-browserify": "^2.0.1",
- "stream-http": "^2.7.2",
- "string_decoder": "^1.0.0",
- "timers-browserify": "^2.0.4",
- "tty-browserify": "0.0.0",
- "url": "^0.11.0",
- "util": "^0.10.3",
- "vm-browserify": "0.0.4"
- }
- },
- "node_modules/node-libs-browser/node_modules/process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
- "dev": true,
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/normalize-package-data": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
- "dev": true,
- "dependencies": {
- "hosted-git-info": "^2.1.4",
- "is-builtin-module": "^1.0.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "node_modules/normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "dev": true,
- "dependencies": {
- "remove-trailing-separator": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "dependencies": {
- "path-key": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/nth-check": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
- "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
- "dev": true,
- "dependencies": {
- "boolbase": "~1.0.0"
- }
- },
- "node_modules/number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
- "dev": true,
- "dependencies": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-copy/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-copy/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-is": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
- "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object-keys": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
- "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.entries": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz",
- "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.6.1",
- "function-bind": "^1.1.0",
- "has": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object.values": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz",
- "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.6.1",
- "function-bind": "^1.1.0",
- "has": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "dev": true,
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
- "dev": true
- },
- "node_modules/os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
- "dev": true,
- "dependencies": {
- "p-try": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
- "dependencies": {
- "p-limit": "^1.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/pako": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
- "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
- "dev": true
- },
- "node_modules/parse-asn1": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
- "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
- "dev": true,
- "dependencies": {
- "asn1.js": "^4.0.0",
- "browserify-aes": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3"
- }
- },
- "node_modules/parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "dependencies": {
- "error-ex": "^1.2.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/parseurl": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
- "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
- "dev": true
- },
- "node_modules/path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
- "dev": true
- },
- "node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-to-regexp": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
- "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
- "dependencies": {
- "isarray": "0.0.1"
- }
- },
- "node_modules/pbkdf2": {
- "version": "3.0.16",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz",
- "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==",
- "dev": true,
- "dependencies": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- },
- "engines": {
- "node": ">=0.12"
- }
- },
- "node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/pkg-dir": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
- "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
- "dev": true,
- "dependencies": {
- "find-up": "^2.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/postcss": {
- "version": "7.0.17",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.17.tgz",
- "integrity": "sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/postcss-modules-extract-imports": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
- "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
- "dev": true,
- "dependencies": {
- "postcss": "^7.0.5"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/postcss-modules-local-by-default": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz",
- "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==",
- "dev": true,
- "dependencies": {
- "postcss": "^7.0.6",
- "postcss-selector-parser": "^6.0.0",
- "postcss-value-parser": "^3.3.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/postcss-modules-scope": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz",
- "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==",
- "dev": true,
- "dependencies": {
- "postcss": "^7.0.6",
- "postcss-selector-parser": "^6.0.0"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/postcss-modules-values": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz",
- "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==",
- "dev": true,
- "dependencies": {
- "icss-replace-symbols": "^1.1.0",
- "postcss": "^7.0.6"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
- "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
- "dev": true,
- "dependencies": {
- "cssesc": "^3.0.0",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
- "node_modules/postcss/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss/node_modules/chalk/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/postcss/node_modules/supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/private": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/process": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
- "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=",
- "dev": true,
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "node_modules/promise": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
- "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
- "dependencies": {
- "asap": "~2.0.3"
- }
- },
- "node_modules/prop-types": {
- "version": "15.5.10",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz",
- "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=",
- "dependencies": {
- "fbjs": "^0.8.9",
- "loose-envify": "^1.3.1"
- }
- },
- "node_modules/prop-types-extra": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.0.tgz",
- "integrity": "sha512-QFyuDxvMipmIVKD2TwxLVPzMnO4e5oOf1vr3tJIomL8E7d0lr6phTHd5nkPhFIzTD1idBLLEPeylL9g+rrTzRg==",
- "dependencies": {
- "react-is": "^16.3.2",
- "warning": "^3.0.0"
- },
- "peerDependencies": {
- "react": ">=0.14.0"
- }
- },
- "node_modules/proxy-addr": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
- "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
- "dev": true,
- "dependencies": {
- "forwarded": "~0.1.2",
- "ipaddr.js": "1.8.0"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
- },
- "node_modules/pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
- },
- "node_modules/public-encrypt": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
- "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
- "dev": true,
- "dependencies": {
- "bn.js": "^4.1.0",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1"
- }
- },
- "node_modules/punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- },
- "node_modules/qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
- "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
- "dev": true,
- "engines": {
- "node": ">=0.4.x"
- }
- },
- "node_modules/querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
- "dev": true,
- "engines": {
- "node": ">=0.4.x"
- }
- },
- "node_modules/randombytes": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
- "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.1.0"
- }
- },
- "node_modules/randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
- "dev": true,
- "dependencies": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
- }
- },
- "node_modules/range-parser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
- "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
- "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
- "dev": true,
- "dependencies": {
- "bytes": "3.0.0",
- "http-errors": "1.6.3",
- "iconv-lite": "0.4.23",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/react": {
- "version": "16.8.6",
- "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz",
- "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "prop-types": "^15.6.2",
- "scheduler": "^0.13.6"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/react-bootstrap": {
- "version": "0.31.1",
- "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-0.31.1.tgz",
- "integrity": "sha512-hV1684IGmYok4jMT9agTFXBMJrGVYzixiMq6ad9yDgHR4Pj3uH7EBVg+Teo2Qz0VGtOFrPCbKUjdJ0kpCPMPBQ==",
- "dependencies": {
- "babel-runtime": "^6.11.6",
- "classnames": "^2.2.5",
- "dom-helpers": "^3.2.0",
- "invariant": "^2.2.1",
- "keycode": "^2.1.2",
- "prop-types": "^15.5.10",
- "prop-types-extra": "^1.0.1",
- "react-overlays": "^0.7.0",
- "react-prop-types": "^0.4.0",
- "uncontrollable": "^4.1.0",
- "warning": "^3.0.0"
- },
- "peerDependencies": {
- "react": "^0.14.9 || >=15.3.0",
- "react-dom": "^0.14.9 || >=15.3.0"
- }
- },
- "node_modules/react-deep-force-update": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz",
- "integrity": "sha1-vNMUeAJ7ZLMznxCJIatSC0MT3Cw=",
- "dev": true
- },
- "node_modules/react-dom": {
- "version": "16.8.6",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz",
- "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "prop-types": "^15.6.2",
- "scheduler": "^0.13.6"
- },
- "peerDependencies": {
- "react": "^16.0.0"
- }
- },
- "node_modules/react-dom/node_modules/prop-types": {
- "version": "15.7.2",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
- "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
- "dependencies": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.8.1"
- }
- },
- "node_modules/react-dom/node_modules/react-is": {
- "version": "16.8.6",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
- "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA=="
- },
- "node_modules/react-is": {
- "version": "16.4.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.4.1.tgz",
- "integrity": "sha512-xpb0PpALlFWNw/q13A+1aHeyJyLYCg0/cCHPUA43zYluZuIPHaHL3k8OBsTgQtxqW0FhyDEMvi8fZ/+7+r4OSQ=="
- },
- "node_modules/react-overlays": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-0.7.4.tgz",
- "integrity": "sha512-7vsooMx3siLAuEfTs8FYeP/lAORWWFXTO8PON3KgX0Htq1Oa+po6ioSjGyO0/GO5CVSMNhpWt6V2opeexHgBuQ==",
- "dependencies": {
- "classnames": "^2.2.5",
- "dom-helpers": "^3.2.1",
- "prop-types": "^15.5.10",
- "prop-types-extra": "^1.0.1",
- "warning": "^3.0.0"
- },
- "peerDependencies": {
- "react": "^0.14.9 || >=15.3.0",
- "react-dom": "^0.14.9 || >=15.3.0"
- }
- },
- "node_modules/react-prop-types": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/react-prop-types/-/react-prop-types-0.4.0.tgz",
- "integrity": "sha1-+ZsL+0AGkpya8gUefBQUpcdbk9A=",
- "dependencies": {
- "warning": "^3.0.0"
- },
- "peerDependencies": {
- "react": ">=0.14.0"
- }
- },
- "node_modules/react-proxy": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz",
- "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=",
- "dev": true,
- "dependencies": {
- "lodash": "^4.6.1",
- "react-deep-force-update": "^1.0.0"
- }
- },
- "node_modules/react-redux": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.5.tgz",
- "integrity": "sha1-+OjHsjlCJXblLWt9sGQ5RpvphGo=",
- "dependencies": {
- "create-react-class": "^15.5.3",
- "hoist-non-react-statics": "^1.0.3",
- "invariant": "^2.0.0",
- "lodash": "^4.2.0",
- "lodash-es": "^4.2.0",
- "loose-envify": "^1.1.0",
- "prop-types": "^15.5.10"
- },
- "peerDependencies": {
- "react": "^0.14.0 || ^15.0.0-0 || ^16.0.0-0",
- "redux": "^2.0.0 || ^3.0.0"
- }
- },
- "node_modules/react-router": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.1.2.tgz",
- "integrity": "sha512-VyM87OP+GkijVkkOXJw39A9fKtFelLoZYYDxtELhpZefjYatxI2SUxZcImo/9Tv52rR9UnNJBPSBpVRQMdvi8A==",
- "dependencies": {
- "history": "^4.6.0",
- "hoist-non-react-statics": "^1.2.0",
- "invariant": "^2.2.2",
- "loose-envify": "^1.3.1",
- "path-to-regexp": "^1.5.3",
- "prop-types": "^15.5.4",
- "warning": "^3.0.0"
- },
- "peerDependencies": {
- "react": "^15"
- }
- },
- "node_modules/react-router-dom": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.1.2.tgz",
- "integrity": "sha512-CU6pFlpfvIj/xi36rZAbUiN0x39241q+d5bAfJJLtlEqlM62F3zgyv5aERH9zesmKqyDBBp2kd85rkq9Mo/iNQ==",
- "dependencies": {
- "history": "^4.5.1",
- "loose-envify": "^1.3.1",
- "prop-types": "^15.5.4",
- "react-router": "^4.1.1"
- },
- "peerDependencies": {
- "react": "^15"
- }
- },
- "node_modules/react-router-redux": {
- "version": "5.0.0-alpha.6",
- "resolved": "https://registry.npmjs.org/react-router-redux/-/react-router-redux-5.0.0-alpha.6.tgz",
- "integrity": "sha1-dBhmPC7NPFG+hW/PKPPR3uzBpXY=",
- "dependencies": {
- "history": "^4.5.1",
- "prop-types": "^15.5.4",
- "react-router": "^4.1.1"
- },
- "peerDependencies": {
- "react": "^15"
- }
- },
- "node_modules/react-test-renderer": {
- "version": "15.6.1",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-15.6.1.tgz",
- "integrity": "sha1-Am9KW7VVJmH9LMS7zQ1LyKNev34=",
- "dev": true,
- "dependencies": {
- "fbjs": "^0.8.9",
- "object-assign": "^4.1.0"
- },
- "peerDependencies": {
- "react": "^15.6.1"
- }
- },
- "node_modules/react-transform-catch-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/react-transform-catch-errors/-/react-transform-catch-errors-1.0.2.tgz",
- "integrity": "sha1-G01KdulycYlvwW/jCGx5PsiKnus=",
- "dev": true
- },
- "node_modules/react-transform-hmr": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz",
- "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=",
- "dev": true,
- "dependencies": {
- "global": "^4.3.0",
- "react-proxy": "^1.1.7"
- }
- },
- "node_modules/react/node_modules/prop-types": {
- "version": "15.7.2",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
- "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
- "dependencies": {
- "loose-envify": "^1.4.0",
- "object-assign": "^4.1.1",
- "react-is": "^16.8.1"
- }
- },
- "node_modules/react/node_modules/react-is": {
- "version": "16.8.6",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
- "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA=="
- },
- "node_modules/readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/readable-stream/node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "node_modules/readdirp": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
- "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "minimatch": "^3.0.2",
- "readable-stream": "^2.0.2",
- "set-immediate-shim": "^1.0.1"
- },
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/redbox-react": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.6.0.tgz",
- "integrity": "sha512-mLjM5eYR41yOp5YKHpd3syFeGq6B4Wj5vZr64nbLvTZW5ZLff4LYk7VE4ITpVxkZpCY6OZuqh0HiP3A3uEaCpg==",
- "dev": true,
- "dependencies": {
- "error-stack-parser": "^1.3.6",
- "object-assign": "^4.0.1",
- "prop-types": "^15.5.4",
- "sourcemapped-stacktrace": "^1.1.6"
- },
- "peerDependencies": {
- "react": "^0.14.0 || ^15.0.0 || ^16.0.0-beta || ^16.0.0",
- "react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0-beta || ^16.0.0"
- }
- },
- "node_modules/reduce-reducers": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/reduce-reducers/-/reduce-reducers-0.1.5.tgz",
- "integrity": "sha512-uoVmQnZQ+BtKKDKpBdbBri5SLNyIK9ULZGOA504++VbHcwouWE+fJDIo8AuESPF9/EYSkI0v05LDEQK6stCbTA=="
- },
- "node_modules/redux": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz",
- "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==",
- "dependencies": {
- "lodash": "^4.2.1",
- "lodash-es": "^4.2.1",
- "loose-envify": "^1.1.0",
- "symbol-observable": "^1.0.3"
- }
- },
- "node_modules/redux-actions": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/redux-actions/-/redux-actions-2.2.1.tgz",
- "integrity": "sha1-1kGGslZJoTwFR4VH1811N7iSQQ0=",
- "dependencies": {
- "invariant": "^2.2.1",
- "lodash": "^4.13.1",
- "lodash-es": "^4.17.4",
- "reduce-reducers": "^0.1.0"
- }
- },
- "node_modules/redux-devtools-extension": {
- "version": "2.13.2",
- "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.2.tgz",
- "integrity": "sha1-4Pmo6N/KfBe+kscSSVijuU6ykR0=",
- "deprecated": "Package moved to @redux-devtools/extension.",
- "dev": true,
- "peerDependencies": {
- "redux": "^3.1.0"
- }
- },
- "node_modules/redux-form": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-6.8.0.tgz",
- "integrity": "sha512-rISN+EERGB8nAS/LDnOSQaTf0f+QreXEq+7pRVvBFzmH5vIsYRwVpBtYA8UsibGzO+0BL1bl5L5bxdrNwxI+sA==",
- "dependencies": {
- "deep-equal": "^1.0.1",
- "es6-error": "^4.0.0",
- "hoist-non-react-statics": "^1.2.0",
- "invariant": "^2.2.2",
- "is-promise": "^2.1.0",
- "lodash": "^4.17.3",
- "lodash-es": "^4.17.3",
- "prop-types": "^15.5.9"
- },
- "peerDependencies": {
- "react": "^15.0.0",
- "react-redux": "^4.3.0 || ^5.0.0",
- "redux": "^3.0.0"
- }
- },
- "node_modules/redux-mock-store": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.2.3.tgz",
- "integrity": "sha1-GzrSmdqRy0G6MNaOO28CRHX7nhs=",
- "dev": true
- },
- "node_modules/redux-thunk": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.2.0.tgz",
- "integrity": "sha1-5hWhbha0ehmlFXZhM9Hj6Zt4UuU="
- },
- "node_modules/regenerate": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
- "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
- "dev": true
- },
- "node_modules/regenerator-runtime": {
- "version": "0.10.5",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
- "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
- },
- "node_modules/regenerator-transform": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
- "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.18.0",
- "babel-types": "^6.19.0",
- "private": "^0.1.6"
- }
- },
- "node_modules/regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/regexpu-core": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
- "dev": true,
- "dependencies": {
- "regenerate": "^1.2.1",
- "regjsgen": "^0.2.0",
- "regjsparser": "^0.1.4"
- }
- },
- "node_modules/regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
- "dev": true
- },
- "node_modules/regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
- "dev": true,
- "dependencies": {
- "jsesc": "~0.5.0"
- },
- "bin": {
- "regjsparser": "bin/parser"
- }
- },
- "node_modules/regjsparser/node_modules/jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- }
- },
- "node_modules/remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
- "dev": true
- },
- "node_modules/repeat-element": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
- "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
- "dev": true,
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "dev": true,
- "dependencies": {
- "is-finite": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
- },
- "node_modules/resolve-pathname": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz",
- "integrity": "sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg=="
- },
- "node_modules/resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "deprecated": "https://github.com/lydell/resolve-url#deprecated",
- "dev": true
- },
- "node_modules/ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
- "dev": true,
- "engines": {
- "node": ">=0.12"
- }
- },
- "node_modules/right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
- "dev": true,
- "dependencies": {
- "align-text": "^0.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
- "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "dependencies": {
- "glob": "^7.0.5"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "dev": true,
- "dependencies": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "dev": true,
- "dependencies": {
- "ret": "~0.1.10"
- }
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "node_modules/scheduler": {
- "version": "0.13.6",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz",
- "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==",
- "dependencies": {
- "loose-envify": "^1.1.0",
- "object-assign": "^4.1.1"
- }
- },
- "node_modules/schema-utils": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
- "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
- "dev": true,
- "dependencies": {
- "ajv": "^5.0.0"
- },
- "engines": {
- "node": ">= 4.3 < 5.0.0 || >= 5.10"
- }
- },
- "node_modules/semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/send": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
- "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
- "dev": true,
- "dependencies": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.6.2",
- "mime": "1.4.1",
- "ms": "2.0.0",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.0",
- "statuses": "~1.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/send/node_modules/mime": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
- "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
- "dev": true,
- "bin": {
- "mime": "cli.js"
- }
- },
- "node_modules/serve-static": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
- "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
- "dev": true,
- "dependencies": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.2",
- "send": "0.16.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
- },
- "node_modules/set-immediate-shim": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
- "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/set-value": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
- "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
- "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/set-value/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
- },
- "node_modules/setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true
- },
- "node_modules/sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- },
- "bin": {
- "sha.js": "bin.js"
- }
- },
- "node_modules/shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
- },
- "node_modules/slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "dev": true,
- "dependencies": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "dev": true,
- "dependencies": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-node/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "deprecated": "Please upgrade to v1.0.1",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-node/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "deprecated": "Please upgrade to v1.0.1",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-node/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.2.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-util/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-list-map": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz",
- "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==",
- "dev": true
- },
- "node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
- "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
- "dev": true,
- "dependencies": {
- "atob": "^2.1.1",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
- "dev": true,
- "dependencies": {
- "source-map": "^0.5.6"
- }
- },
- "node_modules/source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
- "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
- "dev": true
- },
- "node_modules/sourcemapped-stacktrace": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.8.tgz",
- "integrity": "sha512-OkVoI7GQOLl/laR1qsSo1c87tS8kF2VXhQq2SrQCDdXufBAcm8FgXogWso96ciMYoDtTw1Dn70CVdwYzoYs6Pg==",
- "dev": true,
- "dependencies": {
- "source-map": "0.5.6"
- }
- },
- "node_modules/sourcemapped-stacktrace/node_modules/source-map": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
- "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/spdx-correct": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
- "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
- "dev": true,
- "dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-exceptions": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
- "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
- "dev": true
- },
- "node_modules/spdx-expression-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
- "dev": true,
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-license-ids": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
- "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
- "dev": true
- },
- "node_modules/split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/stackframe": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz",
- "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=",
- "dev": true
- },
- "node_modules/static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
- "dev": true,
- "dependencies": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/static-extend/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/stream-browserify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
- "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
- "dev": true,
- "dependencies": {
- "inherits": "~2.0.1",
- "readable-stream": "^2.0.2"
- }
- },
- "node_modules/stream-http": {
- "version": "2.8.3",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
- "dev": true,
- "dependencies": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.3.6",
- "to-arraybuffer": "^1.0.0",
- "xtend": "^4.0.0"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/style-loader": {
- "version": "0.18.2",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz",
- "integrity": "sha512-WPpJPZGUxWYHWIUMNNOYqql7zh85zGmr84FdTVWq52WTIkqlW9xSxD3QYWi/T31cqn9UNSsietVEgGn2aaSCzw==",
- "dev": true,
- "dependencies": {
- "loader-utils": "^1.0.2",
- "schema-utils": "^0.3.0"
- },
- "engines": {
- "node": ">= 0.12.0"
- }
- },
- "node_modules/supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/symbol-observable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
- "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/tapable": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
- "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/timers-browserify": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
- "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
- "dev": true,
- "dependencies": {
- "setimmediate": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6.0"
- }
- },
- "node_modules/to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
- "dev": true
- },
- "node_modules/to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/to-object-path/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "dev": true,
- "dependencies": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "dev": true,
- "dependencies": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/trim-right": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ts-loader": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-2.3.2.tgz",
- "integrity": "sha512-KcQvWwla5nviCMX1511iKVsLfrx97Hbah6l5awE1HNL6eiyAzb3gSO8b5yasB6fK/qGukLpu9czWcd/AGGFy/g==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.0.1",
- "enhanced-resolve": "^3.0.0",
- "loader-utils": "^1.0.2",
- "semver": "^5.0.1"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
- "node_modules/ts-loader/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ts-loader/node_modules/chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ts-loader/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ts-loader/node_modules/supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
- "dev": true
- },
- "node_modules/type-is": {
- "version": "1.6.16",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
- "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
- "dev": true,
- "dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.18"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/typescript": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz",
- "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=",
- "dev": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/ua-parser-js": {
- "version": "0.7.18",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz",
- "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
- "dev": true,
- "dependencies": {
- "source-map": "~0.5.1",
- "yargs": "~3.10.0"
- },
- "bin": {
- "uglifyjs": "bin/uglifyjs"
- },
- "engines": {
- "node": ">=0.8.0"
- },
- "optionalDependencies": {
- "uglify-to-browserify": "~1.0.0"
- }
- },
- "node_modules/uglify-js/node_modules/yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true,
- "dependencies": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- }
- },
- "node_modules/uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "dev": true,
- "optional": true
- },
- "node_modules/uglifyjs-webpack-plugin": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
- "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "source-map": "^0.5.6",
- "uglify-js": "^2.8.29",
- "webpack-sources": "^1.0.1"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- },
- "peerDependencies": {
- "webpack": "^1.9 || ^2 || ^2.1.0-beta || ^2.2.0-rc || ^3.0.0"
- }
- },
- "node_modules/uncontrollable": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-4.1.0.tgz",
- "integrity": "sha1-4DWCkSUuGGUiLZCTmxny9J+Bwak=",
- "dependencies": {
- "invariant": "^2.1.0"
- },
- "peerDependencies": {
- "react": ">=0.11.0"
- }
- },
- "node_modules/union-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
- "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
- "dev": true,
- "dependencies": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^0.4.3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/union-value/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/union-value/node_modules/set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "deprecated": "Critical bug fixed in v3.0.1, please upgrade to the latest version.",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.1",
- "to-object-path": "^0.3.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/uniq": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
- "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
- "dev": true
- },
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
- "dev": true,
- "dependencies": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/unset-value/node_modules/has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
- "dependencies": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "dependencies": {
- "isarray": "1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/unset-value/node_modules/has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/unset-value/node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "node_modules/upath": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
- "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/uri-js/node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "deprecated": "Please see https://github.com/lydell/urix#deprecated",
- "dev": true
- },
- "node_modules/url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
- "dev": true,
- "dependencies": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
- }
- },
- "node_modules/url-join": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
- "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=",
- "dev": true
- },
- "node_modules/url/node_modules/punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
- "dev": true
- },
- "node_modules/use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/util": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
- "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
- "dev": true,
- "dependencies": {
- "inherits": "2.0.3"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
- "dev": true,
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
- "dev": true,
- "bin": {
- "uuid": "bin/uuid"
- }
- },
- "node_modules/validate-npm-package-license": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
- "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
- "dev": true,
- "dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "node_modules/value-equal": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.2.1.tgz",
- "integrity": "sha1-wiCjBDYfzmmU277ao8fhobiVhx0="
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
- "dev": true,
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/vm-browserify": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
- "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
- "dev": true,
- "dependencies": {
- "indexof": "0.0.1"
- }
- },
- "node_modules/warning": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
- "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
- "dependencies": {
- "loose-envify": "^1.0.0"
- }
- },
- "node_modules/watchpack": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
- "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
- "dev": true,
- "dependencies": {
- "chokidar": "^2.0.2",
- "graceful-fs": "^4.1.2",
- "neo-async": "^2.5.0"
- }
- },
- "node_modules/webpack": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.4.1.tgz",
- "integrity": "sha1-TD9PP7MYFVpNsMtqNv8FxWl0GPQ=",
- "dev": true,
- "dependencies": {
- "acorn": "^5.0.0",
- "acorn-dynamic-import": "^2.0.0",
- "ajv": "^5.1.5",
- "ajv-keywords": "^2.0.0",
- "async": "^2.1.2",
- "enhanced-resolve": "^3.4.0",
- "escope": "^3.6.0",
- "interpret": "^1.0.0",
- "json-loader": "^0.5.4",
- "json5": "^0.5.1",
- "loader-runner": "^2.3.0",
- "loader-utils": "^1.1.0",
- "memory-fs": "~0.4.1",
- "mkdirp": "~0.5.0",
- "node-libs-browser": "^2.0.0",
- "source-map": "^0.5.3",
- "supports-color": "^4.2.1",
- "tapable": "^0.2.7",
- "uglifyjs-webpack-plugin": "^0.4.6",
- "watchpack": "^1.4.0",
- "webpack-sources": "^1.0.1",
- "yargs": "^8.0.2"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
- "node_modules/webpack-dev-middleware": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz",
- "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==",
- "dev": true,
- "dependencies": {
- "loud-rejection": "^1.6.0",
- "memory-fs": "~0.4.1",
- "mime": "^2.1.0",
- "path-is-absolute": "^1.0.0",
- "range-parser": "^1.0.3",
- "url-join": "^2.0.2",
- "webpack-log": "^1.0.1"
- },
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "webpack": "^2.2.0 || ^3.0.0 || ^4.0.0-alpha || ^4.0.0-beta || ^4.0.0"
- }
- },
- "node_modules/webpack-hot-middleware": {
- "version": "2.18.2",
- "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.18.2.tgz",
- "integrity": "sha512-dB7uOnUWsojZIAC6Nwi5v3tuaQNd2i7p4vF5LsJRyoTOgr2fRYQdMKQxRZIZZaz0cTPBX8rvcWU1A6/n7JTITg==",
- "dev": true,
- "dependencies": {
- "ansi-html": "0.0.7",
- "html-entities": "^1.2.0",
- "querystring": "^0.2.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "node_modules/webpack-log": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz",
- "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.1.0",
- "log-symbols": "^2.1.0",
- "loglevelnext": "^1.0.1",
- "uuid": "^3.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/webpack-log/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack-log/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack-log/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack-log/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack-sources": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz",
- "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==",
- "dev": true,
- "dependencies": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
- }
- },
- "node_modules/webpack-sources/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/webpack/node_modules/acorn": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
- "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/webpack/node_modules/ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
- "dependencies": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- }
- },
- "node_modules/webpack/node_modules/cliui/node_modules/string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/webpack/node_modules/has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/webpack/node_modules/load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "strip-bom": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/os-locale": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
- "dev": true,
- "dependencies": {
- "execa": "^0.7.0",
- "lcid": "^1.0.0",
- "mem": "^1.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "dependencies": {
- "pify": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true,
- "dependencies": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true,
- "dependencies": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "dependencies": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/string-width/node_modules/is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/string-width/node_modules/strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "dependencies": {
- "has-flag": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/webpack/node_modules/which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
- "node_modules/webpack/node_modules/yargs": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
- "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
- "dev": true,
- "dependencies": {
- "camelcase": "^4.1.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^2.0.0",
- "read-pkg-up": "^2.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^7.0.0"
- }
- },
- "node_modules/webpack/node_modules/yargs-parser": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
- "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
- "dev": true,
- "dependencies": {
- "camelcase": "^4.1.0"
- }
- },
- "node_modules/whatwg-fetch": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
- "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng=="
- },
- "node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "node_modules/window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "dependencies": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "node_modules/xtend": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
- "dev": true,
- "engines": {
- "node": ">=0.4"
- }
- },
- "node_modules/y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "dev": true
- },
- "node_modules/yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
- }
- }
-}
diff --git a/snd/package.json b/snd/package.json
deleted file mode 100644
index df5e1f834..000000000
--- a/snd/package.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "name": "SND",
- "version": "1.0.0",
- "description": "Structured Narrative Datasets",
- "scripts": {
- "build": "better-npm-run build:prod",
- "build-prod": "npm run build",
- "build-style": "npm run build:style",
- "clean": "better-npm-run clean",
- "setup": "npm install",
- "start": "better-npm-run build:style && better-npm-run build:watch"
- },
- "betterScripts": {
- "build:prod": {
- "command": "webpack --config webpack/prod.config.js",
- "env": {
- "NODE_ENV": "production"
- }
- },
- "build:style": {
- "command": "webpack --config webpack/dev-style.config.js",
- "env": {
- "NODE_ENV": "development"
- }
- },
- "build:watch": {
- "command": "node webpack/dev-server.js",
- "env": {
- "NODE_ENV": "development"
- }
- },
- "clean": {
- "command": "rimraf resources/web/snd/gen && rimraf resources/web/snd/app"
- }
- },
- "repository": {
- "type": "svn",
- "url": "https://github.com/LabKey"
- },
- "author": "joshd@labkey.com",
- "license": "ISC",
- "bugs": {},
- "homepage": "https://github.com/LabKey",
- "dependencies": {
- "@types/react": "15.6.0",
- "@types/react-bootstrap": "0.0.52",
- "@types/react-dom": "15.5.1",
- "@types/react-redux": "4.4.47",
- "@types/react-router": "4.0.14",
- "@types/react-router-dom": "4.0.7",
- "@types/react-router-redux": "5.0.4",
- "@types/redux-actions": "1.2.7",
- "@types/redux-form": "6.6.2",
- "babel-polyfill": "6.26.0",
- "history": "4.6.3",
- "merge": "1.2.1",
- "prop-types": "15.5.10",
- "react": "16.8.6",
- "react-bootstrap": "0.31.1",
- "react-dom": "16.8.6",
- "react-redux": "5.0.5",
- "react-router": "4.1.2",
- "react-router-dom": "4.1.2",
- "react-router-redux": "5.0.0-alpha.6",
- "redux": "3.7.2",
- "redux-actions": "2.2.1",
- "redux-form": "6.8.0",
- "redux-thunk": "2.2.0"
- },
- "devDependencies": {
- "@types/enzyme": "2.8.4",
- "@types/react-test-renderer": "15.5.2",
- "@types/redux-mock-store": "0.0.9",
- "babel-core": "6.25.0",
- "babel-loader": "7.1.1",
- "babel-plugin-react-transform": "2.0.2",
- "babel-plugin-transform-es2015-modules-commonjs": "6.24.1",
- "babel-preset-env": "1.7.0",
- "babel-preset-react": "6.24.1",
- "babel-preset-react-hmre": "1.1.1",
- "better-npm-run": "0.0.15",
- "cors": "2.8.4",
- "css-loader": "2.1.1",
- "enzyme": "2.9.1",
- "express": "4.16.4",
- "express-http-proxy": "1.0.6",
- "extract-text-webpack-plugin": "3.0.0",
- "react-test-renderer": "15.6.1",
- "react-transform-hmr": "1.0.4",
- "redux-devtools-extension": "2.13.2",
- "redux-mock-store": "1.2.3",
- "rimraf": "2.6.1",
- "style-loader": "0.18.2",
- "ts-loader": "2.3.2",
- "typescript": "2.4.2",
- "webpack": "3.4.1",
- "webpack-dev-middleware": "2.0.6",
- "webpack-hot-middleware": "2.18.2"
- }
-}
diff --git a/snd/resources/domain-templates/test.template.xml b/snd/resources/domain-templates/test.template.xml
deleted file mode 100644
index a293ce2ec..000000000
--- a/snd/resources/domain-templates/test.template.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
- string
-
-
- string
-
-
- string
-
-
- string
-
-
- string
-
-
-
-
-
-
-
-
- int
-
-
- int
-
-
- int
-
-
- int
-
-
- int
-
-
- int
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/auditLog/NarrativeAuditEvent.query.xml b/snd/resources/queries/auditLog/NarrativeAuditEvent.query.xml
deleted file mode 100644
index cd2ab91bf..000000000
--- a/snd/resources/queries/auditLog/NarrativeAuditEvent.query.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
- core
- QCState
- RowId
- Label
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/DeletedLookupSets.sql b/snd/resources/queries/snd/DeletedLookupSets.sql
deleted file mode 100644
index b6de93f93..000000000
--- a/snd/resources/queries/snd/DeletedLookupSets.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-select
- substring(qae.oldrecordmap, charindex('objectid=',qae.oldrecordmap, 0) + len('objectid='), 36) as objectid,
- qae.date as modified
-
-from auditLog.QueryUpdateAuditEvent as qae
-
-WHERE qae.comment = 'A row was deleted.'
- and qae.QueryName = 'LookupSets'
- and qae.SchemaName = 'snd'
\ No newline at end of file
diff --git a/snd/resources/queries/snd/DeletedLookups.sql b/snd/resources/queries/snd/DeletedLookups.sql
deleted file mode 100644
index b5cb96f87..000000000
--- a/snd/resources/queries/snd/DeletedLookups.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-select
- substring(qae.oldrecordmap, charindex('objectid=',qae.oldrecordmap, 0) + len('objectid='), 36) as objectid,
- qae.date as modified
-
-from auditLog.QueryUpdateAuditEvent as qae
-
-WHERE qae.comment = 'A row was deleted.'
- and qae.QueryName = 'Lookups'
- and qae.SchemaName = 'snd'
\ No newline at end of file
diff --git a/snd/resources/queries/snd/Events.query.xml b/snd/resources/queries/snd/Events.query.xml
deleted file mode 100644
index 069ed1db2..000000000
--- a/snd/resources/queries/snd/Events.query.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/EventsCache.query.xml b/snd/resources/queries/snd/EventsCache.query.xml
deleted file mode 100644
index 3195efcd2..000000000
--- a/snd/resources/queries/snd/EventsCache.query.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
- Event ID
-
-
- HTML Narrative
-
-
-
-
-
-
diff --git a/snd/resources/queries/snd/LookupSets.js b/snd/resources/queries/snd/LookupSets.js
deleted file mode 100644
index 62d102f83..000000000
--- a/snd/resources/queries/snd/LookupSets.js
+++ /dev/null
@@ -1,39 +0,0 @@
-var console = require("console");
-var LABKEY = require("labkey");
-
-function init(event){
-
- if (event === 'truncate') {
- throw "Not allowed to truncate snd.LookupSets. Truncating this table can orphan lookup values in snd data.";
- }
-}
-
-function beforeInsert(row, errors) {
- row.objectId = row.objectId || LABKEY.Utils.generateUUID().toUpperCase();
-}
-
-function beforeDelete(row, errors) {
-
- if (row.LookupSetId !== undefined) {
- LABKEY.Query.selectRows({
- schemaName: 'snd',
- queryName: 'Lookups',
- columns: 'LookupSetId',
- scope: this,
- filterArray: [
- LABKEY.Filter.create('LookupSetId', row.LookupSetId, LABKEY.Filter.Types.EQUAL),
-
- ],
- success: function (data) {
- if (data.rows && data.rows.length) {
- errors._form = 'LookupSet is in use and cannot be deleted'
- return;
- }
- },
- failure: function (error) {
- console.log('Select rows error');
- console.log(error);
- }
- });
- }
-}
\ No newline at end of file
diff --git a/snd/resources/queries/snd/LookupSets.query.xml b/snd/resources/queries/snd/LookupSets.query.xml
deleted file mode 100644
index 65b07f1a3..000000000
--- a/snd/resources/queries/snd/LookupSets.query.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- SetName
-
-
- true
-
-
- true
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/LookupSets/.qview.xml b/snd/resources/queries/snd/LookupSets/.qview.xml
deleted file mode 100644
index 02898e378..000000000
--- a/snd/resources/queries/snd/LookupSets/.qview.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/Lookups.js b/snd/resources/queries/snd/Lookups.js
deleted file mode 100644
index 177cebbb2..000000000
--- a/snd/resources/queries/snd/Lookups.js
+++ /dev/null
@@ -1,99 +0,0 @@
-var console = require("console");
-var LABKEY = require("labkey");
-
-function init(event){
-
- if (event === 'truncate') {
- throw "Not allowed to truncate snd.Lookups. Truncating this table can orphan lookup values in snd data.";
- }
-}
-
-function onUpsert(row, errors) {
- // reuse LookupSetId if the SetName already exists. This primarily happens during ETLs
- if (row.LookupSetId === undefined || row.LookupSetId == 'undefined') {
- LABKEY.Query.selectRows({
- schemaName: 'snd',
- queryName: 'LookupSets',
- columns: 'LookupSetId',
- scope: this,
- filterArray: [
- LABKEY.Filter.create('SetName', row.SetName, LABKEY.Filter.Types.EQUAL),
-
- ],
- success: function (data) {
- if (data.rows && data.rows.length) {
- row.LookupSetId = data.rows[0].LookupSetId;
-
- // console.log('caching ' + cacheKey + ': ' + row.GroupId);
- }
- },
- failure: function (error) {
- console.log('Select rows error');
- console.log(error);
- }
- });
- }
-}
-
-function beforeInsert(row, errors) {
- row.objectId = row.objectId || LABKEY.Utils.generateUUID().toUpperCase();
- onUpsert(row, errors);
-}
-
-function beforeUpdate(row, errors) {
- onUpsert(row, errors);
-}
-
-function beforeDelete(row, errors) {
- if (row.LookupSetId !== undefined) {
-
- let lookupQuery
-
- LABKEY.Query.selectRows({
- schemaName: 'snd',
- queryName: 'LookupSets',
- columns: 'SetName',
- scope: this,
- filterArray: [
- LABKEY.Filter.create('LookupSetId', row.LookupSetId, LABKEY.Filter.Types.EQUAL)
- ],
- success: function (data) {
- if (data.rows && data.rows.length) {
- lookupQuery = data.rows[0].SetName
- }
- else {
- errors._form = 'LookupSet not found - shouldn\'t happen'
- return
- }
-
- },
- failure: function (error) {
- console.log('Select rows error');
- console.log(error);
- }
- });
-
-
- LABKEY.Query.selectRows({
- schemaName: 'snd',
- queryName: 'Lookups',
- columns: 'IsInUse',
- scope: this,
- filterArray: [
- LABKEY.Filter.create('LookupId', row["LookupId"], LABKEY.Filter.Types.EQUAL),
- LABKEY.Filter.create('IsInUse', 'true', LABKEY.Filter.Types.EQUAL)
-
- ],
- success: function (data) {
- if (data.rows && data.rows.length) {
- errors._form = 'Lookup item cannot be deleted - Lookup is in use.'
- }
- },
- failure: function (error) {
- console.log('Select rows error');
- console.log(error);
- }
- });
- }
-}
-
diff --git a/snd/resources/queries/snd/Lookups.query.xml b/snd/resources/queries/snd/Lookups.query.xml
deleted file mode 100644
index c4b5d0b15..000000000
--- a/snd/resources/queries/snd/Lookups.query.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- Value
-
-
- true
-
-
- true
-
-
- true
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/Lookups/.qview.xml b/snd/resources/queries/snd/Lookups/.qview.xml
deleted file mode 100644
index 6dec6876a..000000000
--- a/snd/resources/queries/snd/Lookups/.qview.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/PkgCategories.query.xml b/snd/resources/queries/snd/PkgCategories.query.xml
deleted file mode 100644
index 24b0ff7ee..000000000
--- a/snd/resources/queries/snd/PkgCategories.query.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/PkgCategories/.qview.xml b/snd/resources/queries/snd/PkgCategories/.qview.xml
deleted file mode 100644
index 6804f7d6f..000000000
--- a/snd/resources/queries/snd/PkgCategories/.qview.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/Pkgs.query.xml b/snd/resources/queries/snd/Pkgs.query.xml
deleted file mode 100644
index 44baa19ed..000000000
--- a/snd/resources/queries/snd/Pkgs.query.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/Pkgs/.qview.xml b/snd/resources/queries/snd/Pkgs/.qview.xml
deleted file mode 100644
index 42ef0d5ae..000000000
--- a/snd/resources/queries/snd/Pkgs/.qview.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/Projects/.qview.xml b/snd/resources/queries/snd/Projects/.qview.xml
deleted file mode 100644
index 79d7298ae..000000000
--- a/snd/resources/queries/snd/Projects/.qview.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/queries/snd/TopLevelSuperPkgs.sql b/snd/resources/queries/snd/TopLevelSuperPkgs.sql
deleted file mode 100644
index 352846ce8..000000000
--- a/snd/resources/queries/snd/TopLevelSuperPkgs.sql
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-SELECT SuperPkgId,
-PkgId,
-PkgId.Description AS Description,
-PkgId.Narrative AS Narrative,
-PkgId.Repeatable AS Repeatable,
-IsPrimitive
-FROM SuperPkgs
-WHERE ParentSuperPkgId IS NULL
\ No newline at end of file
diff --git a/snd/resources/queries/snd/TopLevelSuperPkgs/.qview.xml b/snd/resources/queries/snd/TopLevelSuperPkgs/.qview.xml
deleted file mode 100644
index 0cbda0557..000000000
--- a/snd/resources/queries/snd/TopLevelSuperPkgs/.qview.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/schemas/dbscripts/postgresql/snd-0.000-25.000.sql b/snd/resources/schemas/dbscripts/postgresql/snd-0.000-25.000.sql
deleted file mode 100644
index 9575a5ed3..000000000
--- a/snd/resources/schemas/dbscripts/postgresql/snd-0.000-25.000.sql
+++ /dev/null
@@ -1,538 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-CREATE SCHEMA snd;
-
-/*==============================================================*/
-/* Table: Pkgs */
-/*==============================================================*/
-CREATE TABLE snd.Pkgs (
- PkgId INTEGER NOT NULL,
- Description VARCHAR(4000) NOT NULL,
- Narrative TEXT NULL,
- Active BOOLEAN,
- Repeatable BOOLEAN,
- QcState INTEGER,
- ObjectId ENTITYID NOT NULL DEFAULT gen_random_uuid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created TIMESTAMP,
- ModifiedBy USERID,
- Modified TIMESTAMP,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_PKGS PRIMARY KEY (PkgId),
- CONSTRAINT FK_SND_PKGS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_PKGS_QCSTATE FOREIGN KEY (QcState) REFERENCES core.DataStates (RowId)
-);
-
-CREATE INDEX IDX_SND_PKGS_CONTAINER ON snd.Pkgs(Container);
-CREATE INDEX IDX_SND_PKGS_QCSTATE ON snd.Pkgs(QcState);
-CREATE INDEX IDX_SND_PKGS_LSID ON snd.Pkgs(Lsid);
-
-/*==============================================================*/
-/* Table: SuperPkgs */
-/*==============================================================*/
-CREATE TABLE snd.SuperPkgs (
- SuperPkgId INTEGER NOT NULL,
- ParentSuperPkgId INTEGER,
- PkgId INTEGER NOT NULL,
- SuperPkgPath VARCHAR(900) NOT NULL,
- SortOrder INTEGER,
- Required BOOLEAN NOT NULL DEFAULT FALSE,
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created TIMESTAMP,
- ModifiedBy USERID,
- Modified TIMESTAMP,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_SUPERPKGS PRIMARY KEY (SuperPkgId),
- CONSTRAINT FK_SND_SUPERPKGS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_SUPERPKGS_PKGID FOREIGN KEY (PkgId) REFERENCES snd.Pkgs (PkgId)
-);
-
-CREATE INDEX IDX_SND_SUPERPKGS_CONTAINER ON snd.SuperPkgs(Container);
-CREATE INDEX IDX_SND_SUPERPKGS_PKGID ON snd.SuperPkgs(PkgId);
-CREATE INDEX IDX_SND_SUPERPKGS_LSID ON snd.SuperPkgs(Lsid);
-
-/*==============================================================*/
-/* Table: PkgCategories */
-/*==============================================================*/
-CREATE TABLE snd.PkgCategories (
- CategoryId INTEGER NOT NULL,
- Description VARCHAR(4000) NOT NULL,
- Comment VARCHAR(4000),
- Active BOOLEAN NOT NULL,
- SortOrder INTEGER,
- ObjectId ENTITYID NOT NULL DEFAULT gen_random_uuid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created TIMESTAMP,
- ModifiedBy USERID,
- Modified TIMESTAMP,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_PKGCATEGORIES PRIMARY KEY (CategoryId),
- CONSTRAINT FK_SND_PKGCATEGORIES_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId)
-);
-
-CREATE INDEX IDX_SND_PKGCATEGORIES_CONTAINER ON snd.PkgCategories(Container);
-CREATE INDEX IDX_SND_PKGCATEGORIES_LSID ON snd.PkgCategories(Lsid);
-
-/*==============================================================*/
-/* Table: PkgCategoryJunction */
-/*==============================================================*/
-CREATE TABLE snd.PkgCategoryJunction (
- PkgId INTEGER NOT NULL,
- CategoryId INTEGER NOT NULL,
- ObjectId ENTITYID NOT NULL DEFAULT gen_random_uuid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created TIMESTAMP,
- ModifiedBy USERID,
- Modified TIMESTAMP,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_PKGCATEGORYJUNCTION PRIMARY KEY (PkgId, CategoryId),
- CONSTRAINT FK_SND_PKGCATEGORYJUNCTION_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_PKGCATEGORYJUNCTION_PKGID FOREIGN KEY (PkgId) REFERENCES snd.Pkgs (PkgId),
- CONSTRAINT FK_SND_PKGCATEGORYJUNCTION_CATEGORYID FOREIGN KEY (CategoryId) REFERENCES snd.PkgCategories (CategoryId)
-);
-
-CREATE INDEX IDX_SND_PKGCATEGORYJUNCTION_CONTAINER ON snd.PkgCategoryJunction(Container);
-CREATE INDEX IDX_SND_PKGCATEGORYJUNCTION_PKGID ON snd.PkgCategoryJunction(PkgId);
-CREATE INDEX IDX_SND_PKGCATEGORYJUNCTION_CATEGORYID ON snd.PkgCategoryJunction(CategoryId);
-CREATE INDEX IDX_SND_PKGCATEGORYJUNCTION_LSID ON snd.PkgCategoryJunction(Lsid);
-
-/*==============================================================*/
-/* Table: Projects */
-/*==============================================================*/
-CREATE TABLE snd.Projects (
- ProjectId INTEGER NOT NULL,
- RevisionNum INTEGER NOT NULL,
- ReferenceId INTEGER NOT NULL,
- StartDate DATE NOT NULL,
- EndDate DATE,
- Description VARCHAR(4000) NOT NULL,
- Active BOOLEAN NOT NULL,
- ObjectId ENTITYID NOT NULL DEFAULT gen_random_uuid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created TIMESTAMP,
- ModifiedBy USERID,
- Modified TIMESTAMP,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_PROJECTS PRIMARY KEY (ObjectId),
- CONSTRAINT FK_SND_PROJECTS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId)
-);
-
-CREATE INDEX IDX_SND_PROJECTS_CONTAINER ON snd.Projects(Container);
-CREATE UNIQUE INDEX IDX_SND_PROJECTS_PROJECTID_REVNUM ON snd.Projects(ProjectId, RevisionNum);
-
-/*==============================================================*/
-/* Table: ProjectItems */
-/*==============================================================*/
-CREATE TABLE snd.ProjectItems (
- ProjectItemId SERIAL,
- ParentObjectId ENTITYID,
- SuperPkgId INTEGER NOT NULL,
- Active BOOLEAN NOT NULL DEFAULT TRUE,
- ObjectId ENTITYID NOT NULL DEFAULT gen_random_uuid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created TIMESTAMP,
- ModifiedBy USERID,
- Modified TIMESTAMP,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_PROJECTITEMS PRIMARY KEY (ProjectItemId),
- CONSTRAINT FK_SND_PROJECTITEMS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_PROJECTITEMS_SUPERPKGID FOREIGN KEY (SuperPkgId) REFERENCES snd.SuperPkgs (SuperPkgId),
- CONSTRAINT FK_SND_PROJECTITEMS_PARENTOBJECTID FOREIGN KEY (ParentObjectId) REFERENCES snd.Projects (ObjectId)
-);
-
-CREATE INDEX IDX_SND_PROJECTITEMS_CONTAINER ON snd.ProjectItems(Container);
-CREATE INDEX IDX_SND_PROJECTITEMS_SUPERPKGID ON snd.ProjectItems(SuperPkgId);
-CREATE INDEX IDX_SND_PROJECTITEMS_PARENTOBJECTID ON snd.ProjectItems(ParentObjectId);
-CREATE INDEX IDX_SND_PROJECTITEMS_LSID ON snd.ProjectItems(Lsid);
-
-/*==============================================================*/
-/* Table: Events */
-/*==============================================================*/
-CREATE TABLE snd.Events (
- EventId INTEGER NOT NULL,
- SubjectId VARCHAR(32) NOT NULL,
- ParentObjectId ENTITYID,
- Date TIMESTAMP NOT NULL,
- QcState INTEGER,
- ObjectId ENTITYID NOT NULL DEFAULT gen_random_uuid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created TIMESTAMP,
- ModifiedBy USERID,
- Modified TIMESTAMP,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_EVENTS PRIMARY KEY (EventId),
- CONSTRAINT FK_SND_EVENTS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_EVENTS_QCSTATE FOREIGN KEY (QcState) REFERENCES core.DataStates (RowId),
- CONSTRAINT FK_SND_EVENTS_PARENTOBJECTID FOREIGN KEY (ParentObjectId) REFERENCES snd.Projects (ObjectId)
-);
-
-CREATE INDEX IDX_SND_EVENTS_CONTAINER ON snd.Events(Container);
-CREATE INDEX IDX_SND_EVENTS_QCSTATE ON snd.Events(QcState);
-CREATE INDEX IDX_SND_EVENTS_PARENTOBJECTID ON snd.Events(ParentObjectId);
-CREATE INDEX IDX_SND_EVENTS_LSID ON snd.Events(Lsid);
-CREATE INDEX IDX_SND_EVENTS_SUBJECTID_DATE ON snd.Events (SubjectId ASC, Date DESC);
-
-/*==============================================================*/
-/* Table: EventNotes */
-/*==============================================================*/
-CREATE TABLE snd.EventNotes (
- EventNoteId SERIAL NOT NULL,
- EventId INTEGER,
- Note TEXT NOT NULL,
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created TIMESTAMP,
- ModifiedBy USERID,
- Modified TIMESTAMP,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_EVENTNOTES PRIMARY KEY (EventNoteId),
- CONSTRAINT FK_SND_EVENTNOTES_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_EVENTNOTES_EVENTID FOREIGN KEY (EventId) REFERENCES snd.Events (EventId)
-);
-
-CREATE INDEX IDX_SND_EVENTNOTES_CONTAINER ON snd.EventNotes(Container);
-CREATE INDEX IDX_SND_EVENTNOTES_EVENTNOTEID ON snd.EventNotes(EventNoteId);
-
-/*==============================================================*/
-/* Table: LookupSets */
-/*==============================================================*/
-CREATE TABLE snd.LookupSets (
- LookupSetId SERIAL NOT NULL,
- SetName VARCHAR(128) NOT NULL,
- Label VARCHAR(128),
- Description VARCHAR(900),
- ObjectId ENTITYID NOT NULL DEFAULT gen_random_uuid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created TIMESTAMP,
- ModifiedBy USERID,
- Modified TIMESTAMP,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_LOOKUPSETS PRIMARY KEY (LookupSetId),
- CONSTRAINT FK_SND_LOOKUPSETS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId)
-);
-
-CREATE INDEX IDX_SND_LOOKUPSETS_CONTAINER ON snd.LookupSets(Container);
-CREATE UNIQUE INDEX idx_snd_lookupSets_objectid ON snd.LookupSets(ObjectId);
-CREATE UNIQUE INDEX IDX_LookupSets_SetName ON snd.LookupSets(SetName);
-
-/*==============================================================*/
-/* Table: Lookups */
-/*==============================================================*/
-CREATE TABLE snd.Lookups (
- LookupId SERIAL NOT NULL,
- LookupSetId INTEGER NOT NULL,
- Value VARCHAR(446) NOT NULL,
- Displayable BOOLEAN NOT NULL,
- SortOrder INTEGER,
- ObjectId ENTITYID NOT NULL DEFAULT gen_random_uuid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created TIMESTAMP,
- ModifiedBy USERID,
- Modified TIMESTAMP,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_LOOKUPS PRIMARY KEY (LookupId),
- CONSTRAINT FK_SND_LOOKUPS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_LOOKUPS_LOOKUPSETID FOREIGN KEY (LookupSetId) REFERENCES snd.LookupSets (LookupSetId)
-);
-
-CREATE INDEX IDX_SND_LOOKUPS_CONTAINER ON snd.Lookups(Container);
-CREATE INDEX IDX_SND_LOOKUPS_LOOKUPSETID ON snd.Lookups(LookupSetId);
-CREATE UNIQUE INDEX IDX_SND_LOOKUPS_LOOKUPSETID_VALUE ON snd.Lookups(LookupSetId, Value);
-CREATE UNIQUE INDEX idx_snd_lookups_objectid ON snd.Lookups(ObjectId);
-
-/*==============================================================*/
-/* Table: EventData */
-/*==============================================================*/
-CREATE TABLE snd.EventData (
- EventDataId INTEGER NOT NULL,
- EventId INTEGER NOT NULL,
- SuperPkgId INTEGER NOT NULL,
- ObjectURI LSIDType NOT NULL,
- ParentEventDataId INTEGER,
- SortOrder INTEGER NULL,
- Container ENTITYID NOT NULL,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_EVENTDATA PRIMARY KEY (EventDataId),
- CONSTRAINT FK_SND_EVENTDATA_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_EVENTDATA_EVENTID FOREIGN KEY (EventId) REFERENCES snd.Events (EventId),
- CONSTRAINT FK_SND_EVENTDATA_SUPERPKGID FOREIGN KEY (SuperPkgId) REFERENCES snd.SuperPkgs (SuperPkgId)
-);
-
-CREATE INDEX IDX_SND_EVENTDATA_SUPERPKGID ON snd.EventData(SuperPkgId);
-CREATE INDEX IDX_SND_EVENTDATA_EVENTID ON snd.EventData(EventId);
-
-/*==============================================================*/
-/* Table: EventsCache */
-/*==============================================================*/
-CREATE TABLE snd.EventsCache (
- EventId INTEGER NOT NULL,
- HtmlNarrative TEXT,
- Container ENTITYID,
-
- CONSTRAINT PK_SND_EVENTS_CACHE PRIMARY KEY (EventId),
- CONSTRAINT FK_EVENTSCACHE_EVENTID FOREIGN KEY (EventId) REFERENCES snd.Events (EventId),
- CONSTRAINT FK_SND_EVENTSCACHE_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId)
-);
-
-CREATE INDEX IDX_SND_EVENTSCACHE_CONTAINER ON snd.EventsCache(Container);
-
--- ==========================================================================================
--- Function: fGetSuperPkg
--- Author: Terry Hawkins
--- Creation date: 9/22/2017
--- Description: Table valued function to return hierarchical view of a superPkg
--- ==========================================================================================
--- NOTE: ROW_NUMBER() OVER (...) cannot be used in the recursive term of WITH RECURSIVE in
--- PostgreSQL. The TreePath is computed using SortOrder directly, which preserves ordering
--- semantics while remaining compatible with PostgreSQL's recursive CTE restrictions.
--- ==========================================================================================
-CREATE FUNCTION snd.fGetSuperPkg(_pkgId INT)
-RETURNS TABLE (
- TopLevelPkgId INTEGER,
- SuperPkgId INTEGER,
- ParentSuperPkgId INTEGER,
- PkgId INTEGER,
- TreePath VARCHAR,
- SuperPkgPath VARCHAR,
- SortOrder INTEGER,
- Required BOOLEAN,
- Description VARCHAR,
- Narrative TEXT,
- Active BOOLEAN,
- Repeatable BOOLEAN,
- Level INTEGER
-)
-LANGUAGE sql AS $$
- WITH RECURSIVE CTE1 (TopLevelPkgId, SuperPkgId, ParentSuperPkgId, PkgId, TreePath, SuperPkgPath, SortOrder, Required, Description, Narrative, Active, Repeatable, Level) AS (
-
- -- anchor member
- SELECT _pkgId::INTEGER AS TopLevelPkgId,
- sp.SuperPkgId,
- sp.ParentSuperPkgId,
- sp.PkgId,
- RIGHT(REPEAT(' ', 3) || COALESCE(sp.SortOrder, 0)::VARCHAR, 3) AS TreePath,
- sp.SuperPkgPath,
- sp.SortOrder,
- sp.Required,
- p.Description,
- p.Narrative,
- p.Active,
- p.Repeatable,
- 1 AS Level
- FROM snd.SuperPkgs sp
- INNER JOIN snd.Pkgs p ON sp.PkgId = p.PkgId
- WHERE sp.PkgId = _pkgId
- AND sp.ParentSuperPkgId IS NULL
-
- UNION ALL
-
- -- recursive member
- SELECT _pkgId::INTEGER AS TopLevelPkgId,
- sp.SuperPkgId,
- c.SuperPkgId AS ParentSuperPkgId,
- sp.PkgId,
- c.TreePath || '/' || RIGHT(REPEAT(' ', 3) || COALESCE(sp.SortOrder, 0)::VARCHAR, 3) AS TreePath,
- sp.SuperPkgPath,
- sp.SortOrder,
- sp.Required,
- p.Description,
- p.Narrative,
- p.Active,
- p.Repeatable,
- c.Level + 1 AS Level
- FROM snd.SuperPkgs AS sp
- INNER JOIN CTE1 AS c ON
- sp.ParentSuperPkgId = c.SuperPkgId
- OR sp.ParentSuperPkgId IN (
- SELECT sp2.SuperPkgId
- FROM snd.SuperPkgs AS sp2
- WHERE c.PkgId = sp2.PkgId
- AND sp2.ParentSuperPkgId IS NULL)
- INNER JOIN snd.Pkgs AS p ON sp.PkgId = p.PkgId
- )
- SELECT _pkgId::INTEGER AS TopLevelPkgId,
- c.SuperPkgId,
- c.ParentSuperPkgId,
- c.PkgId,
- c.TreePath,
- c.SuperPkgPath,
- c.SortOrder,
- c.Required,
- c.Description,
- c.Narrative,
- c.Active,
- c.Repeatable,
- c.Level
- FROM CTE1 c;
-$$;
-
--- ==========================================================================================
--- Function: fGetProjectItems
--- Author: Terry Hawkins
--- Creation date: 12/14/2017
--- Description: Returns the list of ProjectItems for a Project/Revision along with
--- sub packages for each ProjectItem
--- ==========================================================================================
-CREATE FUNCTION snd.fGetProjectItems(_projectId INT, _revisionNum INT)
-RETURNS TABLE (
- ProjectId INTEGER,
- RevisionNum INTEGER,
- ProjectItemId INTEGER,
- SuperPkgId INTEGER,
- PkgId INTEGER,
- TreePath VARCHAR,
- Level INTEGER,
- ProjectActive BOOLEAN,
- Active BOOLEAN,
- Description VARCHAR
-)
-LANGUAGE sql AS $$
- WITH RECURSIVE CTE1 (ProjectId, RevisionNum, ProjectItemId, ParentObjectId, ParentSuperPkgId, SuperPkgId, PkgId, ProjectActive, Active, TreePath, Level, Description) AS (
-
- -- anchor member
- SELECT _projectId::INTEGER AS ProjectId,
- _revisionNum::INTEGER AS RevisionNum,
- pi.ProjectItemId,
- pi.ParentObjectId,
- sp.ParentSuperPkgId,
- sp.SuperPkgId,
- sp.PkgId,
- p.Active AS ProjectActive,
- pi.Active,
- RIGHT(REPEAT(' ', 3) || COALESCE(sp.SuperPkgId, 0)::VARCHAR, 3) AS TreePath,
- 1 AS Level,
- pkg.Description
- FROM snd.ProjectItems AS pi
- INNER JOIN snd.Projects AS p ON pi.ParentObjectId = p.ObjectId
- INNER JOIN snd.SuperPkgs AS sp ON pi.SuperPkgId = sp.SuperPkgId
- INNER JOIN snd.Pkgs pkg ON sp.PkgId = pkg.PkgId
- WHERE p.ProjectId = _projectId
- AND p.RevisionNum = _revisionNum
-
- UNION ALL
-
- -- recursive member
- SELECT c.ProjectId,
- c.RevisionNum,
- c.ProjectItemId,
- c.ParentObjectId,
- sp.ParentSuperPkgId,
- sp.SuperPkgId,
- sp.PkgId,
- c.ProjectActive,
- c.Active,
- c.TreePath || '/' || RIGHT(REPEAT(' ', 3) || COALESCE(sp.SortOrder, 0)::VARCHAR, 3) AS TreePath,
- c.Level + 1 AS Level,
- pkg.Description
- FROM snd.SuperPkgs AS sp
- INNER JOIN snd.Pkgs AS pkg ON sp.PkgId = pkg.PkgId
- INNER JOIN CTE1 AS c ON
- sp.ParentSuperPkgId = c.SuperPkgId
- OR sp.ParentSuperPkgId IN (
- SELECT sp2.SuperPkgId
- FROM snd.SuperPkgs AS sp2
- WHERE c.PkgId = sp2.PkgId
- AND sp2.ParentSuperPkgId IS NULL)
- )
- SELECT _projectId::INTEGER AS ProjectId,
- _revisionNum::INTEGER AS RevisionNum,
- c.ProjectItemId,
- c.SuperPkgId,
- c.PkgId,
- c.TreePath,
- c.Level,
- c.ProjectActive,
- c.Active,
- c.Description
- FROM CTE1 c;
-$$;
-
--- ==========================================================================================
--- Function: fGetAllSuperPkgs
--- Description: Returns the full expanded super-package hierarchy for all top-level packages.
--- Uses CROSS JOIN LATERAL instead of a cursor loop for idiomatic PostgreSQL.
--- ==========================================================================================
-CREATE FUNCTION snd.fGetAllSuperPkgs()
-RETURNS TABLE (
- TopLevelPkgId INTEGER,
- SuperPkgId INTEGER,
- ParentSuperPkgId INTEGER,
- PkgId INTEGER,
- TreePath VARCHAR,
- SuperPkgPath VARCHAR,
- SortOrder INTEGER,
- Required BOOLEAN,
- Description VARCHAR,
- Narrative TEXT,
- Active BOOLEAN,
- Repeatable BOOLEAN,
- Level INTEGER
-)
-LANGUAGE sql AS $$
- SELECT g.*
- FROM snd.SuperPkgs AS tl
- CROSS JOIN LATERAL snd.fGetSuperPkg(tl.PkgId) AS g
- WHERE tl.ParentSuperPkgId IS NULL;
-$$;
-
--- ==========================================================================================
--- Trigger: ti_after_events
--- Description: On INSERT, sets QcState to the container-scoped 'Completed' state when
--- QcState is not supplied. Implemented as a BEFORE INSERT trigger so that
--- NEW can be modified before the row is written.
--- ==========================================================================================
-CREATE FUNCTION snd.ti_after_events_fn()
- RETURNS trigger
- LANGUAGE plpgsql AS $$
-BEGIN
- IF NEW.QcState IS NULL THEN
- NEW.QcState := (
- SELECT q.RowId
- FROM core.DataStates AS q
- WHERE q.Label = 'Completed'
- AND q.Container = NEW.Container
- ORDER BY q.RowId
- LIMIT 1
- );
- END IF;
- RETURN NEW;
-END;
-$$;
-
-CREATE TRIGGER ti_after_events
- BEFORE INSERT ON snd.Events
- FOR EACH ROW EXECUTE PROCEDURE snd.ti_after_events_fn();
diff --git a/snd/resources/schemas/dbscripts/sqlserver/snd-0.000-25.000.sql b/snd/resources/schemas/dbscripts/sqlserver/snd-0.000-25.000.sql
deleted file mode 100644
index 371e48685..000000000
--- a/snd/resources/schemas/dbscripts/sqlserver/snd-0.000-25.000.sql
+++ /dev/null
@@ -1,587 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-CREATE SCHEMA snd;
-GO
-
-/*==============================================================*/
-/* Table: Pkgs */
-/*==============================================================*/
-CREATE TABLE snd.Pkgs (
- PkgId INTEGER NOT NULL,
- Description NVARCHAR(4000) NOT NULL,
- Narrative NVARCHAR(MAX) NULL,
- Active BIT,
- Repeatable BIT,
- QcState INTEGER,
- ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT newid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created DATETIME,
- ModifiedBy USERID,
- Modified DATETIME,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_PKGS PRIMARY KEY (PkgId),
- CONSTRAINT FK_SND_PKGS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_PKGS_QCSTATE FOREIGN KEY (QcState) REFERENCES core.DataStates (RowId)
-);
-GO
-
-CREATE INDEX IDX_SND_PKGS_CONTAINER ON snd.Pkgs(Container);
-CREATE INDEX IDX_SND_PKGS_QCSTATE ON snd.Pkgs(QcState);
-CREATE INDEX IDX_SND_PKGS_LSID ON snd.Pkgs(Lsid);
-GO
-
-/*==============================================================*/
-/* Table: SuperPkgs */
-/*==============================================================*/
-CREATE TABLE snd.SuperPkgs (
- SuperPkgId INTEGER NOT NULL,
- ParentSuperPkgId INTEGER,
- PkgId INTEGER NOT NULL,
- SuperPkgPath VARCHAR(900) NOT NULL,
- SortOrder INTEGER,
- Required BIT NOT NULL DEFAULT 0,
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created DATETIME,
- ModifiedBy USERID,
- Modified DATETIME,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_SUPERPKGS PRIMARY KEY (SuperPkgId),
- CONSTRAINT FK_SND_SUPERPKGS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_SUPERPKGS_PKGID FOREIGN KEY (PkgId) REFERENCES snd.Pkgs (PkgId)
-);
-GO
-
-CREATE INDEX IDX_SND_SUPERPKGS_CONTAINER ON snd.SuperPkgs(Container);
-CREATE INDEX IDX_SND_SUPERPKGS_PKGID ON snd.SuperPkgs(PkgId);
-CREATE INDEX IDX_SND_SUPERPKGS_LSID ON snd.SuperPkgs(Lsid);
-GO
-
-/*==============================================================*/
-/* Table: PkgCategories */
-/*==============================================================*/
-CREATE TABLE snd.PkgCategories (
- CategoryId INTEGER NOT NULL,
- Description NVARCHAR(4000) NOT NULL,
- Comment NVARCHAR(4000),
- Active BIT NOT NULL,
- SortOrder INTEGER,
- ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created DATETIME,
- ModifiedBy USERID,
- Modified DATETIME,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_PKGCATEGORIES PRIMARY KEY (CategoryId),
- CONSTRAINT FK_SND_PKGCATEGORIES_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId)
-);
-GO
-
-CREATE INDEX IDX_SND_PKGCATEGORIES_CONTAINER ON snd.PkgCategories(Container);
-CREATE INDEX IDX_SND_PKGCATEGORIES_LSID ON snd.PkgCategories(Lsid);
-GO
-
-/*==============================================================*/
-/* Table: PkgCategoryJunction */
-/*==============================================================*/
-CREATE TABLE snd.PkgCategoryJunction (
- PkgId INTEGER NOT NULL,
- CategoryId INTEGER NOT NULL,
- ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created DATETIME,
- ModifiedBy USERID,
- Modified DATETIME,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_PKGCATEGORYJUNCTION PRIMARY KEY (PkgId, CategoryId),
- CONSTRAINT FK_SND_PKGCATEGORYJUNCTION_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_PKGCATEGORYJUNCTION_PKGID FOREIGN KEY (PkgId) REFERENCES snd.Pkgs (PkgId),
- CONSTRAINT FK_SND_PKGCATEGORYJUNCTION_CATEGORYID FOREIGN KEY (CategoryId) REFERENCES snd.PkgCategories (CategoryId)
-);
-GO
-
-CREATE INDEX IDX_SND_PKGCATEGORYJUNCTION_CONTAINER ON snd.PkgCategoryJunction(Container);
-CREATE INDEX IDX_SND_PKGCATEGORYJUNCTION_PKGID ON snd.PkgCategoryJunction(PkgId);
-CREATE INDEX IDX_SND_PKGCATEGORYJUNCTION_CATEGORYID ON snd.PkgCategoryJunction(CategoryId);
-CREATE INDEX IDX_SND_PKGCATEGORYJUNCTION_LSID ON snd.PkgCategoryJunction(Lsid);
-GO
-
-/*==============================================================*/
-/* Table: Projects */
-/*==============================================================*/
-CREATE TABLE snd.Projects (
- ProjectId INTEGER NOT NULL,
- RevisionNum INTEGER NOT NULL,
- ReferenceId INTEGER NOT NULL,
- StartDate date NOT NULL,
- EndDate date,
- Description NVARCHAR(4000) NOT NULL,
- Active BIT NOT NULL,
- ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT newid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created DATETIME,
- ModifiedBy USERID,
- Modified DATETIME,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_PROJECTS PRIMARY KEY NONCLUSTERED (ObjectId),
- CONSTRAINT FK_SND_PROJECTS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId)
-);
-GO
-
-CREATE INDEX IDX_SND_PROJECTS_CONTAINER ON snd.Projects(Container);
-CREATE UNIQUE CLUSTERED INDEX IDX_SND_PROJECTS_PROJECTID_REVNUM ON snd.Projects(ProjectId, RevisionNum);
-GO
-
-/*==============================================================*/
-/* Table: ProjectItems */
-/*==============================================================*/
-CREATE TABLE snd.ProjectItems (
- ProjectItemId INTEGER IDENTITY,
- ParentObjectId UNIQUEIDENTIFIER,
- SuperPkgId INTEGER NOT NULL,
- Active BIT NOT NULL DEFAULT 1,
- ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created DATETIME,
- ModifiedBy USERID,
- Modified DATETIME,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_PROJECTITEMS PRIMARY KEY (ProjectItemId),
- CONSTRAINT FK_SND_PROJECTITEMS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_PROJECTITEMS_SUPERPKGID FOREIGN KEY (SuperPkgId) REFERENCES snd.SuperPkgs (SuperPkgId),
- CONSTRAINT FK_SND_PROJECTITEMS_PARENTOBJECTID FOREIGN KEY (ParentObjectId) REFERENCES snd.Projects (ObjectId)
-);
-GO
-
-CREATE INDEX IDX_SND_PROJECTITEMS_CONTAINER ON snd.ProjectItems(Container);
-CREATE INDEX IDX_SND_PROJECTITEMS_SUPERPKGID ON snd.ProjectItems(SuperPkgId);
-CREATE INDEX IDX_SND_PROJECTITEMS_PARENTOBJECTID ON snd.ProjectItems(ParentObjectId);
-CREATE INDEX IDX_SND_PROJECTITEMS_LSID ON snd.ProjectItems(Lsid);
-GO
-
-/*==============================================================*/
-/* Table: Events */
-/*==============================================================*/
-CREATE TABLE snd.Events (
- EventId INTEGER NOT NULL,
- SubjectId NVARCHAR(32) NOT NULL,
- ParentObjectId UNIQUEIDENTIFIER,
- Date DATETIME NOT NULL,
- QcState int,
- ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT newid(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created DATETIME,
- ModifiedBy USERID,
- Modified DATETIME,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_EVENTS PRIMARY KEY NONCLUSTERED (EventId),
- CONSTRAINT FK_SND_EVENTS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_EVENTS_QCSTATE FOREIGN KEY (QcState) REFERENCES core.DataStates (RowId),
- CONSTRAINT FK_SND_EVENTS_PARENTOBJECTID FOREIGN KEY (ParentObjectId) REFERENCES snd.Projects (ObjectId)
-);
-GO
-
-CREATE INDEX IDX_SND_EVENTS_CONTAINER ON snd.Events(Container);
-CREATE INDEX IDX_SND_EVENTS_QCSTATE ON snd.Events(QcState);
-CREATE INDEX IDX_SND_EVENTS_PARENTOBJECTID ON snd.Events(ParentObjectId);
-CREATE INDEX IDX_SND_EVENTS_LSID ON snd.Events(Lsid);
-CREATE CLUSTERED INDEX IDX_SND_EVENTS_SUBJECTID_DATE ON snd.Events
- (
- SubjectId ASC,
- Date DESC
- ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON);
-GO
-
-/*==============================================================*/
-/* Table: EventNotes */
-/*==============================================================*/
-CREATE TABLE snd.EventNotes (
- EventNoteId INT IDENTITY(1, 1) NOT NULL,
- EventId INTEGER,
- Note NVARCHAR(MAX) NOT NULL,
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created DATETIME,
- ModifiedBy USERID,
- Modified DATETIME,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_EVENTNOTES PRIMARY KEY (EventNoteId),
- CONSTRAINT FK_SND_EVENTNOTES_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_EVENTNOTES_EVENTID FOREIGN KEY (EventId) REFERENCES snd.Events (EventId)
-);
-GO
-
-CREATE INDEX IDX_SND_EVENTNOTES_CONTAINER ON snd.EventNotes(Container);
-CREATE INDEX IDX_SND_EVENTNOTES_EVENTNOTEID ON snd.EventNotes(EventNoteId);
-GO
-
-/*==============================================================*/
-/* Table: LookupSets */
-/*==============================================================*/
-CREATE TABLE snd.LookupSets (
- LookupSetId INTEGER IDENTITY(1,1) NOT NULL,
- SetName NVARCHAR(128) NOT NULL,
- Label NVARCHAR(128),
- Description NVARCHAR(900),
- ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created DATETIME,
- ModifiedBy USERID,
- Modified DATETIME,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_LOOKUPSETS PRIMARY KEY (LookupSetId),
- CONSTRAINT FK_SND_LOOKUPSETS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId)
-);
-GO
-
-CREATE INDEX IDX_SND_LOOKUPSETS_CONTAINER ON snd.LookupSets(Container);
-CREATE UNIQUE INDEX idx_snd_lookupSets_objectid ON snd.LookupSets(ObjectId);
-CREATE UNIQUE INDEX IDX_LookupSets_SetName ON snd.LookupSets(SetName);
-GO
-
-/*==============================================================*/
-/* Table: Lookups */
-/*==============================================================*/
-CREATE TABLE snd.Lookups (
- LookupId INT IDENTITY(1,1) NOT NULL,
- LookupSetId INTEGER NOT NULL,
- Value NVARCHAR(446) NOT NULL,
- Displayable BIT NOT NULL,
- SortOrder INTEGER,
- ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(),
- Container ENTITYID NOT NULL,
- CreatedBy USERID,
- Created DATETIME,
- ModifiedBy USERID,
- Modified DATETIME,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_LOOKUPS PRIMARY KEY (LookupId),
- CONSTRAINT FK_SND_LOOKUPS_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_LOOKUPS_LOOKUPSETID FOREIGN KEY (LookupSetId) REFERENCES snd.LookupSets (LookupSetId)
-);
-GO
-
-CREATE INDEX IDX_SND_LOOKUPS_CONTAINER ON snd.Lookups(Container);
-CREATE INDEX IDX_SND_LOOKUPS_LOOKUPSETID ON snd.Lookups(LookupSetId);
-CREATE UNIQUE INDEX IDX_SND_LOOKUPS_LOOKUPSETID_VALUE ON snd.Lookups(LookupSetId, Value);
-CREATE UNIQUE INDEX idx_snd_lookups_objectid ON snd.Lookups(ObjectId);
-GO
-
-/*==============================================================*/
-/* Table: EventData */
-/*==============================================================*/
-CREATE TABLE snd.EventData (
- EventDataId INTEGER NOT NULL,
- EventId INTEGER NOT NULL,
- SuperPkgId INTEGER NOT NULL,
- ObjectURI LsidType NOT NULL,
- ParentEventDataId INT,
- SortOrder INTEGER NULL,
- Container ENTITYID NOT NULL,
- Lsid LSIDType,
-
- CONSTRAINT PK_SND_EVENTDATA PRIMARY KEY (EventDataId),
- CONSTRAINT FK_SND_EVENTDATA_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId),
- CONSTRAINT FK_SND_EVENTDATA_EVENTID FOREIGN KEY (EventId) REFERENCES snd.Events (EventId),
- CONSTRAINT FK_SND_EVENTDATA_SUPERPKGID FOREIGN KEY (SuperPkgId) REFERENCES snd.SuperPkgs (SuperPkgId)
-);
-GO
-
-CREATE INDEX IDX_SND_EVENTDATA_SUPERPKGID ON snd.EventData(SuperPkgId);
-CREATE INDEX IDX_SND_EVENTDATA_EVENTID ON snd.EventData(EventId);
-GO
-
-/*==============================================================*/
-/* Table: EventsCache */
-/*==============================================================*/
-CREATE TABLE snd.EventsCache (
- EventId INTEGER NOT NULL,
- HtmlNarrative NVARCHAR(MAX),
- Container ENTITYID,
-
- CONSTRAINT PK_SND_EVENTS_CACHE PRIMARY KEY (EventId),
- CONSTRAINT FK_EVENTSCACHE_EVENTID FOREIGN KEY (EventId) REFERENCES snd.Events (EventId),
- CONSTRAINT FK_SND_EVENTSCACHE_CONTAINER FOREIGN KEY (Container) REFERENCES core.Containers (EntityId)
-);
-GO
-
-CREATE INDEX IDX_SND_EVENTSCACHE_CONTAINER ON snd.EventsCache(Container);
-GO
-
-CREATE FUNCTION snd.fGetSuperPkg ( @TopLevelPkgId INT )
-RETURNS TABLE
-AS
-
--- ==========================================================================================
--- Author: Terry Hawkins
--- Creation date: 9/22/2017
--- Description: Table valued function to return hierarchical view of a superPkg
--- ==========================================================================================
-RETURN
- (
- WITH CTE1 ( TopLevelPkgId, SuperPkgId, ParentSuperPkgId, PkgId, TreePath, SuperPkgPath, SortOrder, Required, DESCRIPTION, Narrative, Active, Repeatable, Level )
- AS (
-
- -- anchor member definition
- SELECT @TopLevelPkgId AS TopLevelPkgId ,
- sp.SuperPkgId AS SuperPkgId ,
- sp.ParentSuperPkgId AS ParentSuperPkgId ,
- sp.PkgId AS PkgId ,
- RIGHT(SPACE(3)
- + CONVERT(VARCHAR(MAX), ROW_NUMBER() OVER ( ORDER BY sp.SortOrder )),
- 3) AS TreePath ,
- sp.SuperPkgPath AS SuperPkgPath ,
- sp.SortOrder AS SortOrder ,
- sp.Required AS Required ,
- p.Description AS Description ,
- p.Narrative AS Narrative ,
- p.Active AS Active ,
- p.Repeatable AS Repeatable ,
- 1 AS Level
- FROM snd.SuperPkgs sp
- INNER JOIN snd.Pkgs p ON sp.PkgId = p.PkgId
- WHERE sp.PkgId = @TopLevelPkgId
- AND sp.ParentSuperPkgId IS NULL
- UNION ALL
- SELECT @TopLevelPkgId AS TopLevelPkgId ,
- sp.SuperPkgId AS SuperPkgId ,
- c.SuperPkgId AS ParentSuperPkgId ,
- sp.PkgId AS PkgId ,
- c.TreePath + '/' + RIGHT(SPACE(3)
- + CONVERT(VARCHAR(MAX), RIGHT(ROW_NUMBER() OVER ( ORDER BY sp.SortOrder ),
- 10)), 3) AS TreePath ,
- sp.SuperPkgPath AS SuperPkgPath ,
- sp.SortOrder AS SortOrder ,
- sp.Required AS Required ,
- p.Description AS Description ,
- p.Narrative AS Narrative ,
- p.Active AS Active ,
- p.Repeatable AS Repeatable ,
- c.Level + 1 AS Level
- FROM snd.SuperPkgs AS sp
- INNER JOIN CTE1 AS c ON
- -- add subpackages
- sp.ParentSuperPkgId = c.SuperPkgId
- -- add children of subpackages
- OR sp.ParentSuperPkgId IN (SELECT sp2.SuperPkgId FROM snd.SuperPkgs AS sp2 WHERE c.PkgId = sp2.PkgId AND sp2.ParentSuperPkgId IS NULL )
-
- INNER JOIN snd.Pkgs AS p ON sp.PkgId = p.PkgId
- )
- SELECT @TopLevelPkgId AS TopLevelPkgId ,
- c.SuperPkgId AS SuperPkgId ,
- c.ParentSuperPkgId AS ParentSuperPkgId ,
- c.PkgId AS PkgId ,
- c.TreePath AS TreePath ,
- c.SuperPkgPath AS SuperPkgPath ,
- c.SortOrder AS SortOrder ,
- c.Required AS Required ,
- c.DESCRIPTION AS Description ,
- c.Narrative AS Narrative ,
- c.Active AS Active ,
- c.Repeatable AS Repeatable ,
- c.Level AS Level
- FROM CTE1 c
-
-);
-GO
-
-CREATE FUNCTION [snd].[fGetProjectItems]
- (
- @projectId INT ,
- @revisionNum INT
- )
-RETURNS TABLE
-AS
-
--- ==========================================================================================
--- Author: Terry Hawkins
--- Creation date: 12/14/2017
--- Description: Returns the list of ProjectItems for a Project/Revision along with
--- sub packages for each ProjectItem
--- ==========================================================================================
-RETURN
- (
-WITH CTE1 ( ProjectId, RevisionNum, ProjectItemId, ParentObjectId, ParentSuperPkgId, SuperPkgId, PkgId, ProjectActive, Active, TreePath, Level, Description )
- AS ( SELECT @projectId AS ProjectId ,
- @revisionNum AS RevisionNum ,
- pi.ProjectItemId ,
- pi.ParentObjectId AS ParentObjectId ,
- sp.ParentSuperPkgId AS ParentSuperPkgId ,
- sp.SuperPkgId AS SuperPkgId ,
- sp.PkgId AS PkgId ,
- p.Active as ProjectActive,
- pi.Active,
- RIGHT(SPACE(3)
- + CONVERT(VARCHAR(MAX), ROW_NUMBER() OVER ( ORDER BY pi.ProjectItemId, sp.SuperPkgId )),
- 3) AS TreePath ,
- 1 AS Level ,
- pkg.Description
- FROM snd.ProjectItems AS pi
- INNER JOIN snd.Projects AS p ON pi.ParentObjectId = p.ObjectId
- INNER JOIN snd.SuperPkgs AS sp ON pi.SuperPkgId = sp.SuperPkgId
- INNER JOIN snd.Pkgs pkg ON sp.PkgId = pkg.PkgId
- WHERE p.ProjectId = @projectId
- AND p.RevisionNum = @revisionNum
- UNION ALL
- SELECT c.ProjectId AS ProjectId ,
- c.RevisionNum AS RevisionNum ,
- c.ProjectItemId ,
- c.ParentObjectId AS ParentObjectId ,
- sp.ParentSuperPkgId AS ParentSuperPkgId ,
- sp.SuperPkgId AS SuperPkgId ,
- sp.PkgId AS PkgId ,
- c.ProjectActive ,
- c.Active ,
- c.TreePath + '/' + RIGHT(SPACE(3)
- + CONVERT(VARCHAR(MAX), RIGHT(ROW_NUMBER() OVER ( ORDER BY sp.SortOrder ),
- 10)), 3) AS TreePath ,
- c.Level + 1 AS Level ,
- pkg.Description
- FROM snd.SuperPkgs AS sp
- INNER JOIN snd.Pkgs AS pkg ON sp.PkgId = pkg.PkgId
- INNER JOIN CTE1 AS c ON sp.ParentSuperPkgId = c.SuperPkgId
- -- get the sub-pkg hierarchy from the top-level super pkg definition
- OR sp.ParentSuperPkgId IN (
- SELECT sp2.SuperPkgId
- FROM snd.SuperPkgs AS sp2
- WHERE c.PkgId = sp2.PkgId
- AND sp2.ParentSuperPkgId IS NULL)
- )
- SELECT @projectId AS ProjectId ,
- @revisionNum AS RevisionNum ,
- c.ProjectItemId ,
- c.SuperPkgId AS SuperPkgId ,
- c.PkgId AS PkgId ,
- c.TreePath AS TreePath ,
- c.Level AS Level ,
- c.ProjectActive ,
- c.Active ,
- c.Description
- FROM CTE1 c
-
-);
-GO
-
-CREATE FUNCTION snd.fGetAllSuperPkgs
-()
-RETURNS @expandedSuperPackages TABLE
-(
- TopLevelPkgId INTEGER NOT NULL,
- SuperPkgId INTEGER NOT NULL,
- ParentSuperPkgId INTEGER NULL,
- PkgId INTEGER NOT NULL,
- TreePath VARCHAR(MAX) NOT NULL,
- SuperPkgPath INTEGER NOT NULL,
- SortOrder INTEGER NULL,
- Required INTEGER NULL,
- DESCRIPTION VARCHAR(MAX) NOT NULL,
- Narrative VARCHAR(MAX) NOT NULL,
- Active INTEGER NOT NULL,
- Repeatable INTEGER NOT NULL,
- Level INTEGER NOT NULL
-)
-AS
-BEGIN
- DECLARE @loopCursor CURSOR;
- DECLARE @topLevelPkgId INTEGER;
-
- SET @loopCursor = CURSOR LOCAL FOR
-SELECT PkgId AS topLevelPackageId
-FROM snd.SuperPkgs AS tl
-WHERE ParentSuperPkgId IS NULL
- FOR READ ONLY;
-
-OPEN @loopCursor;
-FETCH @loopCursor
- INTO @topLevelPkgId;
-
-WHILE (@@FETCH_STATUS = 0)
-BEGIN
-INSERT INTO @expandedSuperPackages
-(
- TopLevelPkgId,
- SuperPkgId,
- ParentSuperPkgId,
- PkgId,
- TreePath,
- SuperPkgPath,
- SortOrder,
- Required,
- DESCRIPTION,
- Narrative,
- Active,
- Repeatable,
- Level
-)
- (SELECT TopLevelPkgId,
- SuperPkgId,
- ParentSuperPkgId,
- PkgId,
- TreePath,
- SuperPkgPath,
- SortOrder,
- Required,
- Description,
- Narrative,
- Active,
- Repeatable,
- Level
- FROM snd.fGetSuperPkg(@topLevelPkgId) );
-
-FETCH NEXT FROM @loopCursor
- INTO @topLevelPkgId;
-
-END; -- WHILE LOOP
-
-CLOSE @loopCursor;
-DEALLOCATE @loopCursor;
-
- RETURN;
-END;
-GO
-
-CREATE TRIGGER snd.ti_after_Events ON snd.Events FOR INSERT AS
-BEGIN
- SET NOCOUNT ON;
- DECLARE
- @Container ENTITYID
-
- SELECT @Container = INSERTED.[Container] FROM INSERTED
- UPDATE snd.Events
- SET QcState = (SELECT TOP(1) q.rowId FROM core.DataStates AS q WHERE q.Label = 'Completed' AND q.Container = @Container ORDER BY q.rowId)
- FROM INSERTED AS i
- INNER JOIN snd.Events AS e ON i.EventId = e.EventId
- WHERE i.QcState IS NULL
-END
-GO
diff --git a/snd/resources/schemas/snd.xml b/snd/resources/schemas/snd.xml
deleted file mode 100644
index ea90e8ff9..000000000
--- a/snd/resources/schemas/snd.xml
+++ /dev/null
@@ -1,367 +0,0 @@
-
-
-
-
- DETAILED
- /snd/app.view?#/packages/new
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
- DETAILED
- /snd/app.view?#/packages/new
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
- DETAILED
- /snd/app.view?#/categories
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
- /snd/app.view?#/categories
-
-
-
-
-
-
-
-
-
-
-
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
- DETAILED
- /snd/app.view?#/projects/new
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
- DETAILED
- /snd/app.view?#/projects/new
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
-
-
-
-
-
-
-
-
- NOLOOKUP
-
-
-
-
- NOLOOKUP
-
-
-
-
-
- true
-
-
- true
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
- DETAILED
-
-
-
-
-
-
- true
- true
-
-
-
-
-
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
- DETAILED
-
-
-
-
-
-
-
- true
- true
-
-
-
-
-
-
-
- lsidtype
- true
- true
- false
-
- ObjectUri
- Object
- exp
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/views/app.html b/snd/resources/views/app.html
deleted file mode 100644
index 865e670f4..000000000
--- a/snd/resources/views/app.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/snd/resources/views/app.view.xml b/snd/resources/views/app.view.xml
deleted file mode 100644
index dfe5ab995..000000000
--- a/snd/resources/views/app.view.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/snd/resources/views/appDev.html b/snd/resources/views/appDev.html
deleted file mode 100644
index dca3e6d85..000000000
--- a/snd/resources/views/appDev.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
\ No newline at end of file
diff --git a/snd/resources/views/appDev.view.xml b/snd/resources/views/appDev.view.xml
deleted file mode 100644
index 0737af934..000000000
--- a/snd/resources/views/appDev.view.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/snd/resources/views/importPackages.html b/snd/resources/views/importPackages.html
deleted file mode 100644
index 16b712269..000000000
--- a/snd/resources/views/importPackages.html
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
diff --git a/snd/resources/views/importPackages.view.xml b/snd/resources/views/importPackages.view.xml
deleted file mode 100644
index c9f1f6c16..000000000
--- a/snd/resources/views/importPackages.view.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/views/test.html b/snd/resources/views/test.html
deleted file mode 100644
index ad077b778..000000000
--- a/snd/resources/views/test.html
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
- Run tests
-
- Clean Test Data
-
-
-
- Initializing data...
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/resources/views/test.view.xml b/snd/resources/views/test.view.xml
deleted file mode 100644
index 61dec3bcd..000000000
--- a/snd/resources/views/test.view.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/schemas/snd.xsd b/snd/schemas/snd.xsd
deleted file mode 100644
index 8c8032fd1..000000000
--- a/snd/schemas/snd.xsd
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/snd/src/client/app.tsx b/snd/src/client/app.tsx
deleted file mode 100644
index a454c95de..000000000
--- a/snd/src/client/app.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// React
-import * as React from 'react';
-import * as ReactDom from 'react-dom';
-
-// Redux
-import { applyMiddleware, compose, createStore } from 'redux';
-import { Provider } from 'react-redux';
-import { composeWithDevTools } from 'redux-devtools-extension';
-
-// Routing
-import { createBrowserHistory, createHashHistory } from 'history';
-import { Route } from 'react-router-dom';
-import { ConnectedRouter, routerMiddleware } from 'react-router-redux';
-
-// Middleware
-import thunk from 'redux-thunk';
-
-// Components
-import { App } from './containers/App/App';
-
-// Reducers
-import { reducers } from './reducers/index';
-
-// switch history to createBrowser history after servlet work
-const history = createHashHistory();
-const middleware = applyMiddleware(thunk, routerMiddleware(history));
-
-const storeCreator = compose(
- middleware
-)(createStore);
-const store = storeCreator(
- reducers
- // uncomment following line to view redux dev tools in chrome
- // ,composeWithDevTools()
-);
-
-jQuery(() => {
- ReactDom.render(
-
-
- { /* ConnectedRouter will use the store from Provider automatically */ }
-
-
-
-
-
-
- ,
- document.getElementById('app')
- );
-});
\ No newline at end of file
diff --git a/snd/src/client/components/Categories/CategoriesSelectResults.tsx b/snd/src/client/components/Categories/CategoriesSelectResults.tsx
deleted file mode 100644
index c7843cea9..000000000
--- a/snd/src/client/components/Categories/CategoriesSelectResults.tsx
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { ListGroupItem } from 'react-bootstrap'
-
-import { LabKeyQueryRowPropertyProps } from '../../query/model'
-
-// Results
-interface CategoriesSelectResultsProps {
- data?: {[key: string]: LabKeyQueryRowPropertyProps}
- dataIds?: Array
- disabled?: boolean
- handleSelect?: (id: number) => any
- focused?: boolean
- selected?: Array
-}
-
-export class CategoriesSelectResults extends React.Component {
-
- renderSelected() {
- const { data, selected } = this.props;
- if (selected && selected.length) {
- return (
-
- {selected.map((id, i) => {
- return (
-
this.props.handleSelect(id)}>
-
- {[data[id]['CategoryId'].value, data[id]['Description'].value].join(' ')}
-
-
-
-
-
- )
- })}
-
-
- )
- }
-
- return null;
- }
-
- renderSelectedCondensed() {
- const { data, disabled, selected } = this.props;
-
- let text;
- if (selected && selected.length) {
- text = selected.map((id) => {
- return [data[id]['CategoryId'].value, data[id]['Description'].value].join('-');
- }).join(', ');
-
- }
- else {
- text = 'No categories assigned'
- }
- // todo: disabled version will show white block where '...' would be, need to figure out dynamic background color
- return (
-
- )
-
- }
-
- renderOptions() {
- const { data, dataIds } = this.props;
-
- if (data && dataIds.length) {
- return (
-
- {dataIds.map((id, i) => {
- return (
-
this.props.handleSelect(id)}>
-
- {[data[id]['CategoryId'].value, data[id]['Description'].value].join(' ')}
-
-
-
- )
- })}
-
-
- )
- }
-
- return (
-
-
- No results found
-
-
- )
- }
-
- render() {
- const { focused } = this.props;
-
- if (focused) {
- return (
-
-
- {this.renderSelected()}
- {this.renderOptions()}
-
-
- )
- }
-
- return (
-
- {this.renderSelectedCondensed()}
-
- )
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/components/Crumb/Crumb.tsx b/snd/src/client/components/Crumb/Crumb.tsx
deleted file mode 100644
index c219b1df8..000000000
--- a/snd/src/client/components/Crumb/Crumb.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Link } from 'react-router-dom';
-
-export class Crumb extends React.Component {
-
- render() {
- const {crumbNav, crumbName, clearAllErrors} = this.props;
-
- return (
-
- clearAllErrors()}>
-
-
{crumbName}
-
-
- );
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/components/Form/Attributes.tsx b/snd/src/client/components/Form/Attributes.tsx
deleted file mode 100644
index 5604a28ec..000000000
--- a/snd/src/client/components/Form/Attributes.tsx
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { PropertyDescriptor } from '../../containers/Wizards/model'
-
-import { CheckboxInput } from './Checkbox'
-import { DataTypeSelect } from './DataTypeSelect'
-import { LookupKeyInput } from './LookupKeyInput'
-import { NumericInput } from './NumericInput'
-import { TextInput } from './TextInput'
-import { OrderSelect } from "./OrderSelect";
-
-interface AttributeColumnProps {
- disabled?: boolean
- inputComponent?: (props) => JSX.Element
- label?: string
- name: string
- required?: boolean
- width?: string
-}
-
-const ATTRIBUTE_COLUMNS: Array = [
- {
- disabled: true,
- inputComponent: TextInput,
- label: 'Key',
- name: 'name',
- required: true,
- width: '7vw'
- },
- {
- inputComponent: LookupKeyInput,
- label: 'Lookup Key',
- name: 'lookupKey',
- required: false,
- width: '13vw'
- },
- {
- inputComponent: DataTypeSelect,
- label: 'Data Type',
- name: 'rangeURI',
- required: true,
- width: '8vw'
- },
- {
- inputComponent: TextInput,
- label: 'Label',
- name: 'label',
- required: false,
- width: '13vw'
- },
- {
- inputComponent: NumericInput,
- label: 'Min',
- name: 'min',
- required: false,
- width: '8vw'
- },
- {
- inputComponent: NumericInput,
- label: 'Max',
- name: 'max',
- required: false,
- width: '8vw'
- },
- {
- inputComponent: TextInput,
- label: 'Format',
- name: 'format',
- required: false,
- width: '8vw'
- },
- {
- inputComponent: TextInput,
- label: 'Default',
- name: 'defaultValue',
- required: false,
- width: '13vw'
- },
- {
- inputComponent: OrderSelect,
- label: 'Order',
- name: 'sortOrder',
- required: false,
- width: '12vw'
- },
- {
- inputComponent: CheckboxInput,
- label: 'Req.',
- name: 'required',
- required: false,
- width: '5vw'
- },
- {
- inputComponent: TextInput,
- label: 'Redacted Text',
- name: 'redactedText',
- required: false,
- width: '13vw'
- }
-];
-
-const AttributesGridHeader = () => {
- return (
-
-
- {ATTRIBUTE_COLUMNS.map((col: AttributeColumnProps, i: number) => {
- return (
-
- {col.label}{col.required ? ' *' : ''}
-
- )
- })}
-
-
- )
-};
-
-class AttributesGridBody extends React.Component {
- constructor(props) {
- super(props);
-
- this.handleChange = this.handleChange.bind(this);
- }
-
- handleChange(event: React.ChangeEvent) {
- const { handleFieldChange } = this.props;
- handleFieldChange(event);
- }
-
- render() {
- const { attributes, attributeLookups, readOnly } = this.props;
- let disabled = readOnly;
- if (attributes && attributes.length) {
- return (
-
- {attributes.map((attribute, i) => {
- return (
-
- {ATTRIBUTE_COLUMNS.map((col: AttributeColumnProps, j: number) => {
-
- // Only enable format for double
- if (col.name === 'format' && attribute.rangeURI != 'double') {
- disabled = true;
- }
- else {
- disabled = readOnly;
- }
-
- // Change default field based on lookup key
- let lookups = attributeLookups;
- if (col.name === 'defaultValue') {
- if (attribute.lookupValues !== null) {
- col.inputComponent = LookupKeyInput;
- lookups = attribute.lookupValues;
- // attribute.defaultValue = attribute.defaultLookups[0].value;
- }
- else {
- col.inputComponent = TextInput
- }
- }
-
- // Disable data type if lookup key selected
- if (col.name === 'rangeURI' && attribute.lookupKey && attribute.lookupKey !== '') {
- disabled = true;
- attribute[col.name] = "string";
- }
-
- const props = {
- attribute,
- attributeId: i,
- attributeLookups: lookups,
- disabled: col.disabled || disabled,
- first: i === 0,
- last: i === attributes.length - 1,
- name: `attributes_${attribute.sortOrder}_${col.name}`,
- onChange: this.handleChange,
- value: attribute[col.name],
- required: col.required
- };
- return (
-
- {React.createElement(col.inputComponent, props)}
-
- )
- })}
-
- )
- })}
-
- )
- }
-
- return (
-
-
- No tokens added
-
-
- );
- }
-}
-
-interface AttributesGridProps {
- attributes: Array
- attributeLookups?: Array<{label: string, value: string}>
- handleFieldChange?: (evt) => void
- narrative: string
- readOnly?: boolean
-}
-
-export class Attributes extends React.Component {
- render() {
- const { attributes, attributeLookups, handleFieldChange, narrative, readOnly } = this.props;
-
- return (
-
- )
- }
-}
-
diff --git a/snd/src/client/components/Form/Checkbox.tsx b/snd/src/client/components/Form/Checkbox.tsx
deleted file mode 100644
index fa217f13f..000000000
--- a/snd/src/client/components/Form/Checkbox.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { WrappedFieldProps } from 'redux-form';
-
-interface FieldCheckboxInputProps {
- disabled?: boolean
- required?: boolean
-}
-
-export const FieldCheckboxInput = (field: WrappedFieldProps & FieldCheckboxInputProps) => {
- const checked = field.input.value;
- return (
-
-
- {field.meta.touched && field.meta.error ?
-
- {field.meta.error}
-
- : null}
-
- );
-};
-
-interface CheckboxInputProps {
- disabled?: boolean
- name?: string
- onChange?: React.EventHandler>
- required?: boolean
- value?: boolean
-}
-
-export const CheckboxInput = (props: CheckboxInputProps) => {
- return (
-
-
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/DataTypeSelect.tsx b/snd/src/client/components/Form/DataTypeSelect.tsx
deleted file mode 100644
index 5542c22bc..000000000
--- a/snd/src/client/components/Form/DataTypeSelect.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { WrappedFieldProps } from 'redux-form';
-
-interface FieldDataTypeSelectProps {
- disabled?: boolean
- required?: boolean
-}
-
-export const FieldDataTypeSelect = (field: WrappedFieldProps<{}> & FieldDataTypeSelectProps) => {
- return (
-
-
-
- {DataTypeOptions.map((opt: {label: string, value: string}, i: number) => {
- return {opt.label} ;
- })}
-
- {field.meta.touched && field.meta.error ?
-
- {field.meta.error}
-
- : null}
-
- );
-};
-
-const DataTypeOptions: Array<{label: string, value: string}> = [
- {
- value: 'string',
- label: 'String'
- },
- {
- value: 'int',
- label: 'Integer'
- },
- {
- value: 'double',
- label: 'Decimal'
- },
- {
- value: 'boolean',
- label: 'Boolean'
- },
- {
- value: 'date',
- label: 'Date'
- },
- {
- value: 'dateTime',
- label: 'Date Time'
- },
- {
- value: 'ParticipantId',
- label: 'Id'
- }
-
-];
-
-interface DataTypeSelectProps {
- disabled?: boolean
- name?: string
- onChange?: React.EventHandler>
- required?: boolean
- value?: string
-}
-
-export const DataTypeSelect = (props: DataTypeSelectProps) => {
- return (
-
-
- {DataTypeOptions.map((opt: {label: string, value: string}, i: number) => {
- return {opt.label} ;
- })}
-
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/DatePicker.tsx b/snd/src/client/components/Form/DatePicker.tsx
deleted file mode 100644
index 7175dfdc4..000000000
--- a/snd/src/client/components/Form/DatePicker.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import * as React from 'react';
-
-interface DatePickerProps {
- disabled?: boolean
- name?: string
- onChange?: any
- required?: boolean
- value?: string
-}
-
-export const DatePicker = (props: DatePickerProps) => {
- const { value } = props;
- let dateString = "", year, month, day;
-
- if (value != null && value != '') {
- let dateParts, date = value.split(' ')[0];
- if (date.indexOf('-') !== -1) {
- dateParts = date.split('-');
- } else {
- dateParts = date.split('/');
- }
- year = dateParts[0];
- month = dateParts[1];
- day = dateParts[2];
- dateString = year + '-'
- + (month.toString().length === 1 ? '0' + month : month) + '-'
- + (day.toString().length === 1 ? '0' + day : day);
- }
-
- const disabledStyle = {
- backgroundColor: '#EEEEEE'
- };
-
- return (
-
-
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/EmailInput.tsx b/snd/src/client/components/Form/EmailInput.tsx
deleted file mode 100644
index 8f2d302c6..000000000
--- a/snd/src/client/components/Form/EmailInput.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { WrappedFieldProps } from 'redux-form';
-
-export const EmailInput = (field: WrappedFieldProps) => {
- return (
-
-
- {field.meta.touched && field.meta.error ?
-
- {field.meta.error}
-
- : null}
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/ExtraFieldSelect.tsx b/snd/src/client/components/Form/ExtraFieldSelect.tsx
deleted file mode 100644
index b88327040..000000000
--- a/snd/src/client/components/Form/ExtraFieldSelect.tsx
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import {AttributeLookupProps} from "../../containers/Wizards/model";
-
-interface ExtraFieldSelectProps {
- disabled?: boolean
- handleFieldChange?: any
- index?: any
- name?: string
- options?: Array
- val?: any
-}
-
-export const ExtraFieldSelectInput = (props: ExtraFieldSelectProps) => {
-
- return (
-
-
-
- {props.options.map((opt: AttributeLookupProps, i: number) => {
- return {opt.label} ;
- })}
-
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/ExtraFields.tsx b/snd/src/client/components/Form/ExtraFields.tsx
deleted file mode 100644
index 929bb5425..000000000
--- a/snd/src/client/components/Form/ExtraFields.tsx
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import {ControlLabel} from 'react-bootstrap'
-
-import {TextInput} from '../../components/Form/TextInput'
-import {ExtraFieldSelectInput} from "./ExtraFieldSelect";
-import {VIEW_TYPES} from "../../containers/App/constants";
-
-interface ExtraFieldsProps
-{
- disabled?: any
- extraFields?: any
- handleFieldChange?: any
- name?: string
- revisedFields?: boolean
- perRow: number
- index?: number
- displayCols: number
- key: string
- view?: VIEW_TYPES
-}
-
-export class ExtraFields extends React.Component
-{
- private staticVals: Array
- constructor(props) {
- super(props);
-
- if (this.props.revisedFields) {
- this.staticVals = this.props.extraFields.map((extra) => {
- return extra.value;
- });
- }
- }
-
- render()
- {
- const {extraFields, disabled, handleFieldChange, revisedFields, displayCols, index, perRow, key} = this.props;
- let count = index - 1;
- let colClass = "col-xs-" + displayCols;
- let start = index ? index : 0;
-
- if (extraFields && extraFields.length)
- {
- let fields = extraFields.slice(start, start + perRow); // One row
- if (fields.length > 0)
- {
- let divClass = "row clearfix";
- if (index != 0)
- divClass += " margin-top";
-
- return (
-
-
- {fields.map((extra) => {
- let {name, label} = extra;
- if (!label)
- label = name;
-
- return (
-
- {label}
-
- );
- }
- )}
-
-
- {fields.map((extra, i) => {
- let {lookupValues, value, name} = extra;
- count++;
- return (
-
-
- {lookupValues ? (
-
- {React.createElement(ExtraFieldSelectInput,
- {
- disabled: disabled || revisedFields,
- options: lookupValues,
- handleFieldChange: revisedFields ? null : handleFieldChange,
- val: revisedFields ? this.staticVals[i + index] : value,
- name: name + (revisedFields ? 'Old' : ''),
- index: count
- }
- )}
-
- ) : (
-
- {React.createElement(TextInput,
- {
- disabled: disabled || revisedFields,
- value: revisedFields ? this.staticVals[i + index] : value,
- onChange: revisedFields ? null : handleFieldChange,
- name: ('extraFields_' + count + '_' + name + (revisedFields ? 'Old' : ''))
- }
- )}
-
- )}
-
- );
- }
- )}
-
-
- );
- }
- return
- }
-
- return
- }
-}
diff --git a/snd/src/client/components/Form/IdInput.tsx b/snd/src/client/components/Form/IdInput.tsx
deleted file mode 100644
index 0ffaa1352..000000000
--- a/snd/src/client/components/Form/IdInput.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { WrappedFieldProps } from 'redux-form';
-
-import {VIEW_TYPES} from "../../containers/App/constants";
-
-interface IdInputProps {
- view?: VIEW_TYPES
-}
-
-interface IdInputProps {
- name?: string
- onChange?: any
- value?: number
- view?: VIEW_TYPES
-}
-
-export const IdInput = (props: IdInputProps ) => {
- const { onChange, value, view } = props;
- // Check if the view is Clone or New and if so hide the pkgId value as this will be set by the server
-
- const idValue = view !== VIEW_TYPES.PACKAGE_CLONE && view !== VIEW_TYPES.PACKAGE_NEW && view !== VIEW_TYPES.PROJECT_NEW as any ? value : '';
-
- return (
-
-
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/LookupKeyInput.tsx b/snd/src/client/components/Form/LookupKeyInput.tsx
deleted file mode 100644
index 605879e4c..000000000
--- a/snd/src/client/components/Form/LookupKeyInput.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-
-// add error check type behavior looking for schema.query format
-interface LookupKeyInputProps {
- attribute?: any
- attributeId?: any
- attributeLookups?: any
- disabled?: boolean
- name?: string
- onChange?: React.EventHandler>
- required?: boolean
- value?: string
-}
-
-export const LookupKeyInput = (props: LookupKeyInputProps) => {
- let value = '';
-
- if (props.value) {
- value = props.value;
- }
-
- return (
-
-
-
- {props.attributeLookups.map((opt: any, i: number) => {
- return {opt.label} ;
- })}
-
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/NumericInput.tsx b/snd/src/client/components/Form/NumericInput.tsx
deleted file mode 100644
index af3afb62f..000000000
--- a/snd/src/client/components/Form/NumericInput.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-
-interface NumericInputProps {
- disabled?: boolean
- name?: string
- onChange?: React.EventHandler>
- required?: boolean
- value?: number
-}
-
-export const NumericInput = (props: NumericInputProps) => {
- return (
-
-
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/OrderSelect.tsx b/snd/src/client/components/Form/OrderSelect.tsx
deleted file mode 100644
index 20a01c1f9..000000000
--- a/snd/src/client/components/Form/OrderSelect.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { WrappedFieldProps } from 'redux-form';
-
-const OrderOptions: Array<{label: string, value: string}> = [
- {
- value: 'up',
- label: 'Move Up'
- },
- {
- value: 'down',
- label: 'Move Down'
- }
-];
-
-interface OrderSelectProps {
- disabled?: boolean
- first?: boolean
- last?: boolean
- name?: string
- onChange?: React.EventHandler>
- required?: boolean
- value?: string
-}
-
-export const OrderSelect = (props: OrderSelectProps) => {
- // order is 0 indexed, add 1 for display purposes
- return (
-
-
- {props.value + 1}
-
-
-
-
- {OrderOptions.filter((o) => {
- return (!props.first && !props.last) ||
- (props.first && o.value !== 'up') ||
- (props.last&& o.value !== 'down');
- }).map((opt: {label: string, value: string}, i: number) => {
- return {opt.label} ;
- })}
-
-
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/PasswordInput.tsx b/snd/src/client/components/Form/PasswordInput.tsx
deleted file mode 100644
index 0ddbe7b9b..000000000
--- a/snd/src/client/components/Form/PasswordInput.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { WrappedFieldProps } from 'redux-form';
-
-export const PasswordInput = (field: WrappedFieldProps) => {
- return (
-
-
- {field.meta.touched && field.meta.error ?
-
- {field.meta.error}
-
- : null}
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/TextArea.tsx b/snd/src/client/components/Form/TextArea.tsx
deleted file mode 100644
index 5c4bc3d06..000000000
--- a/snd/src/client/components/Form/TextArea.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-
-interface TextAreaProps {
- cols?: number
- disabled?: boolean
- name?: string
- onChange?: React.EventHandler>
- required?: boolean
- rows?: number
- value?: string
-}
-
-export const TextArea = (props: TextAreaProps) => {
- return (
-
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/TextInput.tsx b/snd/src/client/components/Form/TextInput.tsx
deleted file mode 100644
index 9b5e6cba0..000000000
--- a/snd/src/client/components/Form/TextInput.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { WrappedFieldProps } from 'redux-form';
-
-interface FieldTextInputProps {
- disabled?: boolean
- required?: boolean
-}
-
-export const FieldTextInput = (field: WrappedFieldProps<{}> & FieldTextInputProps) => {
- return (
-
-
- {field.meta.touched && field.meta.error ?
-
- {field.meta.error}
-
- : null}
-
- );
-};
-
-
-interface TextInputProps {
- disabled?: boolean
- name?: string
- onChange?: React.EventHandler>
- required?: boolean
- value?: string
-}
-
-export const TextInput = (props: TextInputProps) => {
- const inputValue = props.value != null ? props.value : '';
- return (
-
-
-
- );
-};
\ No newline at end of file
diff --git a/snd/src/client/components/Form/validators.ts b/snd/src/client/components/Form/validators.ts
deleted file mode 100644
index b72e91047..000000000
--- a/snd/src/client/components/Form/validators.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-export const emailValidator: (v?: string) => string = (value: string) => {
- return value && /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(value)
- ? undefined
- : 'Invalid email address';
-};
-
-export const requiredValidator: (v?: string) => string = (value?: string) => {
- return value ? undefined : 'Required';
-};
diff --git a/snd/src/client/components/NotFound/NotFound.tsx b/snd/src/client/components/NotFound/NotFound.tsx
deleted file mode 100644
index 61c81ee9f..000000000
--- a/snd/src/client/components/NotFound/NotFound.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Panel } from 'react-bootstrap';
-import { RouteComponentProps } from 'react-router-dom';
-
-export class NotFound extends React.Component, any> {
- render() {
- return (
-
-
- No page found at:
-
- {this.props.location.pathname}
-
-
-
- );
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/components/Packages/PackageRow.tsx b/snd/src/client/components/Packages/PackageRow.tsx
deleted file mode 100644
index 0ecdb25ef..000000000
--- a/snd/src/client/components/Packages/PackageRow.tsx
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Link } from 'react-router-dom'
-import { OverlayTrigger, Tooltip, TooltipProps } from 'react-bootstrap'
-import { QueryPackageModel } from '../../containers/Packages/model'
-
-interface PackageRowProps {
- data: QueryPackageModel
- dataId: number
- handleDelete?: (rowId) => any
-}
-
-interface PackageRowStateProps {
- isHover: boolean
-}
-
-export class PackageRow extends React.Component {
-
- static generateToolTip(tooltip: string, id: string): React.ReactElement {
- return {tooltip} ;
- }
-
- constructor(props: PackageRowProps) {
- super(props);
-
- this.state = {
- isHover: false
- };
-
- this.handleMouseEnter = this.handleMouseEnter.bind(this);
- this.handleMouseLeave = this.handleMouseLeave.bind(this);
- }
-
- handleMouseEnter() {
- this.setState({isHover: true});
- }
-
- handleMouseLeave() {
- this.setState({isHover: false});
- }
-
- render() {
- const { handleDelete } = this.props;
- const { Description, HasEvent, HasProject, PkgId } = this.props.data;
- const { isHover } = this.state;
-
- // HasEvent and HasProject are string booleans
- const canDelete = (HasEvent.value !== 'true');
-
- // todo: URLs should be more resilient
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {[PkgId.value, Description.value].join(' - ')}
-
- {isHover && canDelete ?
-
- handleDelete(PkgId.value)}/>
-
- : null}
-
-
- )
- }
-}
diff --git a/snd/src/client/components/Packages/PackageSearchInput.tsx b/snd/src/client/components/Packages/PackageSearchInput.tsx
deleted file mode 100644
index 3aff4baf7..000000000
--- a/snd/src/client/components/Packages/PackageSearchInput.tsx
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Button, DropdownButton, MenuItem } from 'react-bootstrap'
-import { Link } from 'react-router-dom'
-
-import { SearchInput } from "../Search/SearchInput";
-
-interface PackageSearchInputProps {
- changeLocation?: (loc: string) => any
- handleClear: () => any
- handleInputChange?: (input) => any
- input?: string
- inputRef: any
- showDrafts: boolean
- toggleDrafts: () => any
-}
-
-export class PackageSearchInput extends React.Component {
-
- render() {
- const {
- changeLocation,
- handleClear,
- handleInputChange,
- input,
- inputRef,
- showDrafts,
- toggleDrafts
- } = this.props;
-
- return(
-
-
-
-
-
- New Package
-
-
-
-
-
-
- changeLocation('/categories')}>
- Edit Categories
-
- Edit Projects
-
-
-
-
-
-
-
-
- )
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/components/Packages/PackageSearchResults.tsx b/snd/src/client/components/Packages/PackageSearchResults.tsx
deleted file mode 100644
index 8bf753106..000000000
--- a/snd/src/client/components/Packages/PackageSearchResults.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-
-import { QueryPackageModel } from '../../containers/Packages/model'
-import { PackageRow } from './PackageRow'
-
-interface PackageSearchResultsProps {
- data: {[key: string]: QueryPackageModel}
- dataIds: Array
- isLoaded: boolean
- handleDelete?: (rowId) => any
-}
-
-export class PackageSearchResults extends React.Component {
-
- static defaultProps: PackageSearchResultsProps = {
- data: {},
- dataIds: [],
- isLoaded: false
- };
-
- render() {
- const { data, dataIds, isLoaded, handleDelete } = this.props;
-
- if (isLoaded && data && dataIds.length) {
- return (
-
- {dataIds.map((d, i) => {
- const rowData: QueryPackageModel = data[d];
- return (
-
- )
- })}
-
- )
- }
- else if (isLoaded && dataIds.length === 0) {
- return (
-
- )
- }
-
- return null;
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/components/Projects/ProjectRow.tsx b/snd/src/client/components/Projects/ProjectRow.tsx
deleted file mode 100644
index 70cf6acd3..000000000
--- a/snd/src/client/components/Projects/ProjectRow.tsx
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Link } from 'react-router-dom'
-import { OverlayTrigger, Tooltip, TooltipProps } from 'react-bootstrap'
-import { QueryProjectModel } from '../../containers/Projects/model'
-
-interface ProjectRowProps {
- data: QueryProjectModel
- dataId: number
- handleDelete?: (id, rev, objId) => any
-}
-
-interface ProjectRowStateProps {
- isHover: boolean
-}
-
-export class ProjectRow extends React.Component {
-
- static generateToolTip(tooltip: string, id: string): React.ReactElement {
- return {tooltip} ;
- }
-
- constructor(props: ProjectRowProps) {
- super(props);
-
- this.state = {
- isHover: false
- };
-
- this.handleMouseEnter = this.handleMouseEnter.bind(this);
- this.handleMouseLeave = this.handleMouseLeave.bind(this);
- }
-
- handleMouseEnter() {
- this.setState({isHover: true});
- }
-
- handleMouseLeave() {
- this.setState({isHover: false});
- }
-
- render() {
- const { handleDelete } = this.props;
- const { Description, HasEvent, ProjectId, RevisionNum, ObjectId, Latest } = this.props.data;
- const { isHover } = this.state;
- const idRev = ProjectId.value + '|' + RevisionNum.value;
-
- // HasEvent is a string boolean
- const canDelete = (HasEvent.value !== 'true' && Latest === true);
- const canRevise = (Latest === true);
-
- // todo: URLs should be more resilient
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
- {canRevise ?
-
-
- :
-
-
-
- }
-
-
-
- {[ProjectId.value, [Description.value, "Revision " + RevisionNum.value].join(', ')].join(' - ')}
-
- {isHover && canDelete ?
-
- handleDelete(ProjectId.value, RevisionNum.value, ObjectId.value)}/>
-
- : null}
-
-
- )
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/components/Projects/ProjectSearchInput.tsx b/snd/src/client/components/Projects/ProjectSearchInput.tsx
deleted file mode 100644
index e98327e0a..000000000
--- a/snd/src/client/components/Projects/ProjectSearchInput.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Button, DropdownButton, MenuItem } from 'react-bootstrap'
-import { Link } from 'react-router-dom'
-
-import { SearchInput } from "../Search/SearchInput";
-
-interface ProjectSearchInputProps {
- changeLocation?: (loc: string) => any
- handleClear: () => any
- handleInputChange?: (input) => any
- input?: string
- inputRef: any
- showDrafts: boolean
- showNotActive: boolean
- toggleDrafts: () => any
- toggleNotActive: () => any
-}
-
-export class ProjectSearchInput extends React.Component {
-
- render() {
- const {
- changeLocation,
- handleClear,
- handleInputChange,
- input,
- inputRef,
- showDrafts,
- toggleDrafts,
- showNotActive,
- toggleNotActive
- } = this.props;
-
- return(
-
-
-
-
-
- New Project
-
-
-
-
-
-
-
-
-
-
- )
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/components/Projects/ProjectSearchResults.tsx b/snd/src/client/components/Projects/ProjectSearchResults.tsx
deleted file mode 100644
index feacbdf35..000000000
--- a/snd/src/client/components/Projects/ProjectSearchResults.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-import * as React from 'react';
-
-import { QueryProjectModel } from '../../containers/Projects/model'
-import { ProjectRow } from './ProjectRow'
-
-interface ProjectSearchResultsProps {
- data: {[key: string]: QueryProjectModel}
- dataIds: Array
- isLoaded: boolean
- handleDelete?: (id, rev, objId) => any
-}
-
-export class ProjectSearchResults extends React.Component {
-
- static defaultProps: ProjectSearchResultsProps = {
- data: {},
- dataIds: [],
- isLoaded: false
- };
-
- render() {
- const { data, dataIds, isLoaded, handleDelete } = this.props;
-
- if (isLoaded && data && dataIds.length) {
- return (
-
- {dataIds.map((d, i) => {
- const rowData: QueryProjectModel = data[d];
- return (
-
- )
- })}
-
- )
- }
- else if (isLoaded && dataIds.length === 0) {
- return (
-
- )
- }
-
- return null;
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/components/Search/SearchInput.tsx b/snd/src/client/components/Search/SearchInput.tsx
deleted file mode 100644
index 6ea42b780..000000000
--- a/snd/src/client/components/Search/SearchInput.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-
-interface SearchInputProps {
- allowClear?: boolean
- allowToggle?: boolean
- disabled?: boolean
- handleClear?: any
- handleFocus?: (el: React.FocusEvent) => void
- handleInputChange?: (input) => any
- handleToggle?: () => void
- input?: string
- inputClassName?: string
- inputRef?: any
- name: string
- toggled?: boolean
- wrapperClassName?: string
-}
-
-
-export class SearchInput extends React.Component {
-
- static defaultProps = {
- allowClear: true,
- allowToggle: false,
- disabled: false,
- toggled: false,
- wrapperClassName: 'col-xs-6',
- };
-
- handleFocus(el: React.FocusEvent) {
- const { handleFocus } = this.props;
- if (handleFocus && typeof handleFocus === 'function') {
- handleFocus(el);
- }
-
- }
-
- handleToggle() {
- const { handleToggle } = this.props;
- if (handleToggle && typeof handleToggle === 'function') {
- handleToggle();
- }
- }
-
- renderToggle() {
- const { allowToggle, toggled } = this.props;
-
- if (allowToggle) {
- return this.handleToggle()}/>;
- }
-
- return null;
- }
-
- render() {
- const {
- allowClear,
- disabled,
- handleClear,
- handleInputChange,
- input,
- inputClassName,
- inputRef,
- name,
- wrapperClassName
- } = this.props;
-
- return (
-
-
- {allowClear && input !== '' && (
-
- )}
- {this.renderToggle()}
- ) => this.handleFocus(el)}
- ref={inputRef}
- type="text"
- value={input ? input : ''}/>
-
- );
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/components/SuperPackages/SuperPackageRow.tsx b/snd/src/client/components/SuperPackages/SuperPackageRow.tsx
deleted file mode 100644
index ee219d0f7..000000000
--- a/snd/src/client/components/SuperPackages/SuperPackageRow.tsx
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { DropdownButton, MenuItem, OverlayTrigger } from 'react-bootstrap'
-import {AssignedPackageModel} from "../../containers/SuperPackages/model";
-import {VIEW_TYPES} from "../../containers/App/constants";
-
-interface SuperPackageRowProps {
- model: AssignedPackageModel
- selected?: boolean
- handleMenuReorderAction?: (model: AssignedPackageModel, moveUp: boolean) => any
- handleIconClick?: (model: AssignedPackageModel) => any
- handleRowClick?: (model: AssignedPackageModel) => any
- menuActionName?: string
- handleMenuAction?: (model: AssignedPackageModel) => any
- handleAssignedPackageRequired?: (model: AssignedPackageModel) => any
- handleFullNarrative?: (model: AssignedPackageModel) => void
- handleToggleActiveAction?: (subpackage: AssignedPackageModel) => void
- treeLevel?: number
- treeArrIndex?: number
- treeArrLength?: number
- treeCollapsed?: boolean
- showActive?: boolean
- showRequired?: boolean
- isReadOnly?: boolean
- parentActive?: boolean
- view?: VIEW_TYPES
-}
-
-interface SuperPackageRowStateProps {
- isHover: boolean
- isDropup: boolean
-}
-
-export class SuperPackageRow extends React.Component {
-
- constructor(props: SuperPackageRowProps) {
- super(props);
-
- this.state = {
- isHover: false,
- isDropup: false
- };
-
- this.handleMouseEnter = this.handleMouseEnter.bind(this);
- this.handleMouseLeave = this.handleMouseLeave.bind(this);
- this.handleOnClick = this.handleOnClick.bind(this);
- }
-
- handleMouseEnter(e) {
- // use dropup for bottom half of the container
- const target = jQuery(e.target);
- const containerHeight = target.closest('.data-search__container').height();
- const isDropup = target.position().top > (containerHeight / 2);
-
- this.setState({isHover: true, isDropup});
- }
-
- handleMouseLeave() {
- this.setState({isHover: false, isDropup: false});
- }
-
- handleOnClick(evnt) {
- const { model, handleIconClick, handleRowClick } = this.props;
- let iconClick = evnt.target.getAttribute('class') && evnt.target.getAttribute('class').indexOf('icon-tree-toggle') > -1;
-
- if (!iconClick && handleRowClick) {
- handleRowClick(model);
- }
-
- if (iconClick && handleIconClick) {
- handleIconClick(model);
- }
- }
-
- render() {
- const {
- model, selected, treeLevel, treeArrIndex, treeArrLength, treeCollapsed, showActive, handleToggleActiveAction, isReadOnly,
- menuActionName, handleMenuAction, handleMenuReorderAction, handleFullNarrative, handleAssignedPackageRequired, parentActive, showRequired
- } = this.props;
- const { isHover, isDropup } = this.state;
- const treeLevelVal = treeLevel == undefined ? -1 : treeLevel;
- const treeCollapsedVal = treeCollapsed != undefined && treeCollapsed;
- const indentPx = treeLevel == undefined ? 0 : treeLevelVal * 15;
-
- // boolean to indicate if the reorder up/down menu items should be shown
- const showMoveUp = !isReadOnly && handleMenuReorderAction && treeArrIndex != undefined && treeArrIndex > 0;
- const showMoveDown = !isReadOnly && handleMenuReorderAction && treeArrIndex != undefined && treeArrLength != undefined && treeArrIndex < (treeArrLength - 1);
- const showActiveToggle = !isReadOnly && handleToggleActiveAction && treeLevelVal === 0 && showActive;
- const showRequiredToggle = !isReadOnly && handleAssignedPackageRequired && treeLevelVal === 0 && showRequired;
-
- let notActiveDivStyle = {
- textDecoration: 'line-through'
- };
-
- return (
-
-
-
- {treeLevelVal > -1
- ? model.loadingSubpackages != undefined && model.loadingSubpackages === true
- ?
- : !treeCollapsedVal && model.subPackages.length > 0
- ?
- : model.subPackages.length == 0
- ?
- :
- : null
- }
- {/*Display package id and name. If in project view, cross out inactive subpackages and their descendants. If in package
- view, bold the subpackages that are required.*/}
- {[model.pkgId, model.description].join(' - ')}
-
-
-
- {showActiveToggle
- ? handleToggleActiveAction(model)}>{model.active?'Deactivate':'Activate'}
- : null
- }
- {!isReadOnly && menuActionName
- ? handleMenuAction(model)}>{menuActionName}
- : null
- }
- {showRequiredToggle
- ? handleAssignedPackageRequired(model)}>{model.required?'Make Optional':'Make Required'}
- : null
- }
- {showMoveUp
- ? handleMenuReorderAction(model, true)}>Move Up
- : null
- }
- {showMoveDown
- ? handleMenuReorderAction(model, false)}>Move Down
- : null
- }
-
- handleFullNarrative(model)}>View Full Narrative
- {/*Packages Using */}
- {/*Projects Using */}
-
-
-
- )
- }
-}
diff --git a/snd/src/client/components/SuperPackages/SuperPackageSearchResults.tsx b/snd/src/client/components/SuperPackages/SuperPackageSearchResults.tsx
deleted file mode 100644
index fbf6c289a..000000000
--- a/snd/src/client/components/SuperPackages/SuperPackageSearchResults.tsx
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { ListGroupItem } from 'react-bootstrap'
-
-import { QuerySuperPackageModel } from '../../containers/Packages/model'
-import { SuperPackageRow } from './SuperPackageRow'
-import {AssignedPackageModel} from "../../containers/SuperPackages/model";
-import {VIEW_TYPES} from "../../containers/App/constants";
-
-interface SuperPackageSearchResultsProps {
- data: {[key: string]: any}
- dataIds: Array
- isLoaded: boolean
- primitivesOnly: boolean,
- handleAssignedPackageAdd: (assignedPackage: AssignedPackageModel) => void
- handleFullNarrative: (model: AssignedPackageModel) => void
- view: VIEW_TYPES
-}
-
-export class SuperPackageSearchResults extends React.Component {
-
- static defaultProps: SuperPackageSearchResultsProps = {
- data: {},
- dataIds: [],
- isLoaded: false,
- primitivesOnly: false,
- handleAssignedPackageAdd: undefined,
- handleFullNarrative: undefined,
- view: undefined
- };
-
- shouldComponentUpdate(nextProps: SuperPackageSearchResultsProps) {
- const { dataIds, isLoaded, primitivesOnly, view } = nextProps;
-
- return dataIds.length !== this.props.dataIds.length ||
- isLoaded !== this.props.isLoaded ||
- primitivesOnly !== this.props.primitivesOnly ||
- view !== this.props.view;
- }
-
- render() {
- const {
- data, dataIds, isLoaded, primitivesOnly, view,
- handleAssignedPackageAdd, handleFullNarrative
- } = this.props;
-
- if (isLoaded && data && Array.isArray(dataIds)) {
- return (
-
- {dataIds.length > 0 ?
- dataIds.filter((d) => {
- return !primitivesOnly || data[d].IsPrimitive.value === 'true';
- }).map((d, i) => {
- let assignedPackage = new AssignedPackageModel({
- pkgId: data[d].PkgId.value,
- description: data[d].PkgId.displayValue,
- narrative: data[d].Narrative.value,
- repeatable: data[d].Repeatable.value,
- superPkgId: data[d].SuperPkgId.value,
- active: true,
- showActive: true,
- required: false
- });
-
- return (
-
-
-
- )
- })
- : 'No results found'
- }
-
- )
- }
-
- return null;
- }
-};
\ No newline at end of file
diff --git a/snd/src/client/containers/App/App.tsx b/snd/src/client/containers/App/App.tsx
deleted file mode 100644
index a045930e0..000000000
--- a/snd/src/client/containers/App/App.tsx
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { connect } from 'react-redux';
-import { Dispatch } from 'redux'
-import { Route, RouteComponentProps, Switch } from 'react-router-dom';
-
-import { AppMessage, AppModel } from './model'
-import * as actions from './actions'
-import { UserModel } from '../SignIn/model'
-
-import {CrumbRoutes, RouteProps, Routes} from '../../routing/Routes'
-import {Crumb} from "../../components/Crumb/Crumb";
-
-interface AppOwnProps extends RouteComponentProps<{}> {}
-interface AppStateDispatch {
- dispatch?: Dispatch
- dismissWarning?: (id?: number) => any
- clearAllErrors?: (id?: number) => any
-}
-interface AppStateProps {
- dispatch?: Dispatch
- app?: AppModel
- user?: UserModel
-}
-
-type AppProps = AppOwnProps & AppStateProps & AppStateDispatch;
-
-function mapStateToProps(state: APP_STATE_PROPS) {
- return {
- app: state.app,
- user: state.user
- }
-}
-
-function mapDispatchToProps(dispatch: Dispatch): AppStateDispatch {
- return {
- dismissWarning: (id?: number) => dispatch(actions.resetAppError(id)),
- clearAllErrors: () => dispatch(actions.clearAllErrors())
- }
-}
-
-export class AppImpl extends React.Component {
-
- static getMessageTypes(msg: AppMessage): {
- alertClassName: string
- alertType: string
- } {
- let alertClassName,
- alertType;
-
- if (msg.role === 'error') {
- alertClassName = 'alert-danger';
- alertType = 'alert';
- }
- else if (msg.role === 'warning') {
- alertClassName = 'alert-warning';
- alertType = 'warning';
- }
- else {
- alertClassName = 'alert-success';
- alertType = 'success';
- }
-
- return {
- alertClassName,
- alertType
- }
- }
-
- renderMessage() {
- const { app, dismissWarning } = this.props;
-
- if (app.messages && app.messages.length) {
- return (
-
- {app.messages.map(msg => {
- const alerts = AppImpl.getMessageTypes(msg);
- const { alertClassName, alertType } = alerts;
-
- if (msg.message.indexOf('\n') === 0) {
- msg.message = msg.message.substring(1)
- }
- let msgs = msg.message.split('\n');
-
- return (
-
-
- dismissWarning(msg.id)}/>
-
-
- {msgs.map(alertMsg => {
- return (
-
- {alertMsg}
-
-
- )
- })
- }
-
-
- )
- })}
-
- );
- }
- }
-
- render() {
- const { user, clearAllErrors } = this.props;
-
- if (!user.isSignedIn) {
- return (
- Login Required
- );
- }
-
- return (
-
-
-
- {CrumbRoutes.map((route: RouteProps, index: number) => {
- return (
-
- ) : null}
- />;
- })}
-
- {this.renderMessage()}
-
- {Routes.map((route: RouteProps, index: number) => {
- return ;
- })}
-
-
-
- )
- }
-}
-
-export const App = connect(
- mapStateToProps,
- mapDispatchToProps
-)(AppImpl);
\ No newline at end of file
diff --git a/snd/src/client/containers/App/actions.ts b/snd/src/client/containers/App/actions.ts
deleted file mode 100644
index 3e259e22c..000000000
--- a/snd/src/client/containers/App/actions.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// setAppError
-import { APP_TYPES } from './constants'
-
-interface ClearMessage {
- message?: string
- id?: number
-}
-
-export function clearAppMessage(values: ClearMessage) {
- return {
- type: APP_TYPES.APP_CLEAR_MESSAGE,
- values
- }
-}
-
-export function clearAllErrors() {
- return {
- type: APP_TYPES.APP_ERROR_CLEAR_ALL
- }
-}
-
-export function resetAppError(id?: number) {
- return {
- type: APP_TYPES.APP_ERROR_RESET,
- id
- }
-}
-
-export function setAppError(error) {
- return {
- type: APP_TYPES.APP_ERROR,
- error
- }
-}
-
-export function setAppMessage(message: string) {
- return {
- type: APP_TYPES.APP_MESSAGE,
- message
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/containers/App/constants.ts b/snd/src/client/containers/App/constants.ts
deleted file mode 100644
index abe789d1e..000000000
--- a/snd/src/client/containers/App/constants.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-const APP_PREFIX = 'app/';
-
-export const APP_TYPES = {
- APP_CLEAR_MESSAGE: APP_PREFIX + 'APP_CLEAR_MESSAGE',
- APP_ERROR: APP_PREFIX + 'APP_ERROR',
- APP_ERROR_RESET: APP_PREFIX + 'APP_ERROR_RESET',
- APP_MESSAGE: APP_PREFIX + 'APP_MESSAGE',
- APP_WARNING: APP_PREFIX + 'APP_WARNING',
- APP_ERROR_CLEAR_ALL: APP_PREFIX + 'APP_ERROR_CLEAR_ALL'
-};
-
-export enum VIEW_TYPES {
- PACKAGE_CLONE,
- PACKAGE_EDIT,
- PACKAGE_NEW,
- PACKAGE_VIEW,
- PROJECT_REVISE,
- PROJECT_EDIT,
- PROJECT_NEW,
- PROJECT_VIEW
-};
diff --git a/snd/src/client/containers/App/model.ts b/snd/src/client/containers/App/model.ts
deleted file mode 100644
index ddb56e29c..000000000
--- a/snd/src/client/containers/App/model.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-export interface AppMessage {
- id: any
- message: string
- role: 'success' | 'error' | 'warning'
-}
-
-interface AppModelProps {
- isError?: boolean
- isWarning?: boolean
- message?: string
- messages?: Array
-}
-
-export class AppModel implements AppModelProps {
-
- isError?: boolean = false;
- isWarning?: boolean = false;
- message?: string = undefined;
- messages?: Array = [];
-
- constructor(props?: Partial) {
- if (props) {
- for (let k in props) {
- if (this.hasOwnProperty(k) && props.hasOwnProperty(k)) {
- this[k] = props[k];
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/containers/App/reducer.ts b/snd/src/client/containers/App/reducer.ts
deleted file mode 100644
index 1c4d6caaf..000000000
--- a/snd/src/client/containers/App/reducer.ts
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import { handleActions } from 'redux-actions';
-
-import { APP_TYPES } from './constants'
-import { QUERY_TYPES } from '../../query/constants'
-import { PKG_WIZARD_TYPES } from '../Wizards/Packages/constants'
-
-
-import { AppModel } from './model'
-
-export const app = handleActions({
-
- [APP_TYPES.APP_ERROR]: setErrorMessages,
-
- [APP_TYPES.APP_ERROR_CLEAR_ALL]: (state: AppModel) => {
-
- return new AppModel(Object.assign({}, state, {
- isError: false,
- isWarning: false,
- messages: []
- }));
- },
-
- [APP_TYPES.APP_ERROR_RESET]: (state: AppModel, action: any) => {
- const { id } = action;
-
- const messages = state.messages.filter(msg => {
- return msg.id !== id;
- });
-
- return new AppModel(Object.assign({}, state, {
- isError: messages.length > 0,
- isWarning: false,
- messages
- }));
- },
-
- [APP_TYPES.APP_MESSAGE]: (state: AppModel, action: any) => {
- const { message } = action;
- let messages = [].concat(state.messages);
-
- messages.push({
- id: state.messages.length,
- message,
- role: 'success'
- });
-
- return new AppModel(Object.assign({}, state, {
- messages
- }));
- },
-
- [APP_TYPES.APP_CLEAR_MESSAGE]: (state: AppModel, action: any) => {
- const { id, message } = action.values;
-
- const messages = state.messages.filter(msg => {
- return msg.id !== id && msg.message !== message;
- });
-
- return new AppModel(Object.assign({}, state, {
- messages
- }));
- },
-
- [QUERY_TYPES.QUERY_ERROR]: setErrorMessages,
-
-
- [PKG_WIZARD_TYPES.PACKAGE_ERROR]: setErrorMessages,
-
-
-}, new AppModel());
-
-// This functionality is shared for multiple actions listened to by this reducer
-function setErrorMessages(state: AppModel, action: any) {
- const { error } = action;
-
- const message = error.exception ? error.exception : 'Something went wrong';
- let messages = [].concat(state.messages);
-
- messages.push({
- id: state.messages.length,
- message,
- role: 'error'
- });
-
- return new AppModel(Object.assign({}, state, {
- isError: true,
- messages
- }));
-}
\ No newline at end of file
diff --git a/snd/src/client/containers/LandingPage/LandingPage.tsx b/snd/src/client/containers/LandingPage/LandingPage.tsx
deleted file mode 100644
index e4b93f8d6..000000000
--- a/snd/src/client/containers/LandingPage/LandingPage.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Panel } from 'react-bootstrap';
-
-import {Link, RouteComponentProps} from 'react-router-dom';
-
-
-
-export class LandingPageImpl extends React.Component, any> {
-
- render() {
- return (
-
-
-
Welcome to SND
-
-
-
-
-
Packages
-
-
-
-
-
-
Projects
-
-
-
- )
- }
-}
-
-export const LandingPage = LandingPageImpl;
\ No newline at end of file
diff --git a/snd/src/client/containers/Packages/Forms/PackageForm.tsx b/snd/src/client/containers/Packages/Forms/PackageForm.tsx
deleted file mode 100644
index 3152521b7..000000000
--- a/snd/src/client/containers/Packages/Forms/PackageForm.tsx
+++ /dev/null
@@ -1,475 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Button, ControlLabel, ListGroupItem } from 'react-bootstrap'
-import { connect } from 'react-redux';
-import { Dispatch } from 'redux'
-
-import { PackageModel } from '../../Wizards/Packages/model'
-import { CheckboxInput } from '../../../components/Form/Checkbox'
-import { IdInput } from '../../../components/Form/IdInput'
-import { TextArea } from '../../../components/Form/TextArea'
-import { TextInput } from '../../../components/Form/TextInput'
-import { Attributes } from '../../../components/Form/Attributes'
-import { ExtraFields} from '../../../components/Form/ExtraFields'
-import { QuerySearch } from '../../../query/QuerySearch'
-import { AssignedPackageModel } from '../../SuperPackages/model';
-import { CAT_SQ, REQUIRED_COLUMNS, } from '../constants'
-import { CategoriesSelect } from '../../Wizards/Packages/CategoriesSelect'
-import {SuperPackageForm} from "../../SuperPackages/Forms/SuperPackageForm";
-import {querySubPackageDetails} from "../../Wizards/Packages/actions";
-import {VIEW_TYPES} from "../../App/constants";
-
-interface ButtonListProps {
- action: string
- disabled?: boolean
- id: string
- label: string
- type: string
-}
-const buttons: Array = [
- {
- action: 'saveDraft',
- id: 'saveAsDraft',
- label: 'Save as Draft',
- type: 'submit'
- },
- {
- action: 'submitReview',
- id: 'submitReview',
- disabled: true,
- label: 'Submit for Review',
- type: 'submit'
- },
- {
- action: 'save',
- id: 'save',
- label: 'Save',
- type: 'submit'
- },
-];
-
-interface PackageFormOwnProps {
- handleCancel?: () => void
- handleFieldChange?: (name: string, value: any) => void
- handleNarrativeChange?: (val) => void
- handleFormSubmit?: any
- handleFullNarrative?: (model: AssignedPackageModel, shouldQuery: boolean) => void
- handleWarning?: (warning?: string) => void
- isValid?: boolean
- model?: PackageModel
- parseAttributes?: () => void
- view?: VIEW_TYPES
-}
-
-interface PackageFormState {
- dispatch?: Dispatch
-}
-
-interface PackageFormStateProps {
- selectedSubPackage?: AssignedPackageModel
-}
-
-type PackageFormProps = PackageFormOwnProps & PackageFormState;
-
-export class PackageFormImpl extends React.Component {
-
- constructor(props?: PackageFormProps) {
- super(props);
-
-
-
- this.handleCancel = this.handleCancel.bind(this);
- this.handleFieldChange = this.handleFieldChange.bind(this);
- this.handleNarrativeChange = this.handleNarrativeChange.bind(this);
- this.handleAssignedPackageAdd = this.handleAssignedPackageAdd.bind(this);
- this.handleAssignedPackageRemove = this.handleAssignedPackageRemove.bind(this);
- this.handleAssignedPackageRequired = this.handleAssignedPackageRequired.bind(this);
- this.handleAssignedPackageReorder = this.handleAssignedPackageReorder.bind(this);
- this.submit = this.submit.bind(this);
- }
-
- handleButtonAction(action: string) {
- switch (action) {
- case 'cancel':
- this.handleCancel();
- break;
-
- case 'saveDraft':
- this.submit(false);
- break;
-
- case 'submitReview':
- break;
-
- case 'save':
- this.submit(true);
- break;
-
- default:
- return false;
- }
- }
-
- handleCancel() {
- this.props.handleCancel();
- }
-
- handleFieldChange(event: React.ChangeEvent) {
- const { handleFieldChange } = this.props;
- const name = event.currentTarget.name,
- value = event.currentTarget.type === 'checkbox' ?
- event.currentTarget.checked : event.currentTarget.value;
-
- handleFieldChange(name, value);
- }
-
- handleNarrativeChange(event: React.ChangeEvent) {
- const { handleNarrativeChange } = this.props;
- const value = event.currentTarget.value;
-
- if (handleNarrativeChange && typeof handleNarrativeChange === 'function') {
- handleNarrativeChange(value);
- }
- }
-
- handleAssignedPackageAdd(assignedPackage: AssignedPackageModel) {
- const { dispatch, model, handleFieldChange, handleWarning } = this.props;
- const { pkgId, description, narrative, repeatable, superPkgId } = assignedPackage;
-
- if (!repeatable) {
- // if the added package cannot be repeated and is already in the assigned packages array, emit warning
- const canAdd = model.subPackages.every((pkg) => {
- return pkg.pkgId !== pkgId;
- });
-
- if (!canAdd) {
- return handleWarning(['Package', pkgId, 'is not repeatable.'].join(' '));
- }
- }
-
- // create a new AssignedPackageModel object as the SuperPkgId needs to be undefined as it will be set on save/submit
- let newAssignedPackage = new AssignedPackageModel({
- pkgId,
- description,
- narrative,
- repeatable,
- superPkgId,
- active: false,
- showActive: false,
- required: false,
- sortOrder: model.subPackages.length
- });
- newAssignedPackage.loadingSubpackages = true;
-
- handleFieldChange('subPackages', model.subPackages.concat([newAssignedPackage]));
-
- dispatch(querySubPackageDetails(pkgId, model.pkgId));
- }
-
- handleAssignedPackageRemove(assignedPackage: AssignedPackageModel) {
- const { handleFieldChange } = this.props;
- handleFieldChange('subPackages', this.getNonmatchingSubpackages(assignedPackage));
- }
-
- handleAssignedPackageRequired(assignedPackage: AssignedPackageModel) {
- const { handleFieldChange } = this.props;
- handleFieldChange('subPackages', this.getUpdatedRequiredSubpackages(assignedPackage));
- }
-
- handleAssignedPackageReorder(assignedPackage: AssignedPackageModel, moveUp: boolean) {
- const { handleFieldChange } = this.props;
-
- let index = this.getSubpackageIndexOf(assignedPackage);
- if (!moveUp)
- index++;
- else if (index > 0)
- index--;
-
- let newSubPackageArr = this.getNonmatchingSubpackages(assignedPackage);
- newSubPackageArr.splice(index, 0, assignedPackage);
-
- handleFieldChange('subPackages', newSubPackageArr);
- }
-
- getUpdatedRequiredSubpackages(assignedPackage: AssignedPackageModel) {
- const { model } = this.props;
- let updatedSubpackages = [];
-
- model.subPackages.map((subPackage) => {
- let newSubPackage = new AssignedPackageModel({
- pkgId: subPackage.pkgId,
- description: subPackage.description,
- narrative: subPackage.narrative,
- repeatable: subPackage.repeatable,
- superPkgId: subPackage.superPkgId,
- active: subPackage.active,
- showActive: subPackage.showActive,
- required: subPackage.required,
- sortOrder: subPackage.sortOrder,
- subPackages: subPackage.subPackages
- });
- if (subPackage.superPkgId === assignedPackage.superPkgId) {
- newSubPackage.required = !newSubPackage.required;
- }
- updatedSubpackages.push(newSubPackage);
- return subPackage;
- });
-
- return updatedSubpackages;
- }
-
- getSubpackageIndexOf(assignedPackage: AssignedPackageModel) {
- const { model } = this.props;
- for (let i = 0; i < model.subPackages.length; i++) {
- const subPackage = model.subPackages[i];
- const idProp = assignedPackage.superPkgId != undefined ? 'superPkgId' : 'altId';
- if (subPackage[idProp] == assignedPackage[idProp]) {
- return i;
- }
- }
- return -1;
- }
-
- getNonmatchingSubpackages(assignedPackage: AssignedPackageModel) {
- const { model } = this.props;
-
- // use the generated altId to match as that will be unique for
- // both previously existing and newly added assigned packages
- return model.subPackages.filter((subPackage) => {
- return subPackage.altId != assignedPackage.altId;
- });
- }
-
-
-
- renderAttributes() {
- const { model, view } = this.props;
- if (model) {
- const { attributes, attributeLookups, hasEvent, hasProject, narrative } = model;
- const isReadOnly = view === VIEW_TYPES.PACKAGE_VIEW ||
- (view === VIEW_TYPES.PACKAGE_EDIT && (hasEvent));
- return
- }
-
- return null;
- }
-
- renderButtons() {
- const { isValid, view } = this.props;
-
- if (view !== VIEW_TYPES.PACKAGE_VIEW) {
- return (
-
- this.handleButtonAction('cancel')}>
- Cancel
-
- {buttons.map((button: ButtonListProps, i: number) => {
- return (
- this.handleButtonAction(button.action)}>
- {button.label}
-
- );
- })}
-
- );
- }
- }
-
- renderCategories() {
- const { handleFieldChange, model, view } = this.props;
- const disabled = view === VIEW_TYPES.PACKAGE_VIEW;
-
- return (
-
-
-
- )
- }
-
- renderExtraFields(perRow: number, index: number, displayCols: number) {
- const { model, view } = this.props;
- const disabled = view === VIEW_TYPES.PACKAGE_VIEW;
- if (model) {
- const { extraFields } = model;
- return
- }
-
- return null;
- }
-
- renderOverflowExtraFields(start) {
- const { model } = this.props;
- const perRow = 6;
- const displayCols = 2;
-
- let fieldRows = [];
-
- if (model) {
- const { extraFields } = model;
- const overFlowCount = extraFields.length - start;
-
- let rows = Math.floor(overFlowCount / perRow) + 1;
- for (var i=0; i
-
-
- )
- }
-}
-
-export const PackageForm: any = connect()(PackageFormImpl as any); // fix typing
\ No newline at end of file
diff --git a/snd/src/client/containers/Packages/Forms/PackageFormContainer.tsx b/snd/src/client/containers/Packages/Forms/PackageFormContainer.tsx
deleted file mode 100644
index af2ace3d2..000000000
--- a/snd/src/client/containers/Packages/Forms/PackageFormContainer.tsx
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Button, Modal, Panel } from 'react-bootstrap'
-import { RouteComponentProps } from 'react-router-dom'
-
-import { connect } from 'react-redux';
-import { push } from 'react-router-redux'
-import { Dispatch } from 'redux';
-
-import * as actions from '../../Wizards/Packages/actions'
-import { PackageWizardModel } from '../../Wizards/Packages/model'
-
-import { PackageForm } from './PackageForm'
-import { PKG_WIZARD_TYPES } from '../../Wizards/Packages/constants'
-import {AssignedPackageModel} from "../../SuperPackages/model";
-import {queryPackageFullNarrative} from "../../Wizards/SuperPackages/actions";
-import NarrativeRow from "../../SuperPackages/Forms/NarrativeRow";
-import {VIEW_TYPES} from "../../App/constants";
-import {clearAllErrors} from "../../App/actions";
-
-
-interface PackageFormContainerOwnProps extends RouteComponentProps<{id: string}> {}
-
-interface PackageFormContainerState {
- dispatch?: Dispatch
-
- id: string
- model?: PackageWizardModel
- view?: string
-}
-
-interface PackageFormContainerStateProps {}
-
-type PackageFormContainerProps = PackageFormContainerOwnProps & PackageFormContainerState;
-
-
-
-function mapStateToProps(state: APP_STATE_PROPS, ownProps: PackageFormContainerOwnProps) {
- const { id } = ownProps.match.params;
- const { path } = ownProps.match;
-
- const parts = path.split('/');
- let view;
- if (parts && parts[2]) {
- view = parts[2];
- }
-
- let pkgId;
- if (id) {
- pkgId = id;
- }
- else {
- pkgId = -1;
- }
-
- return {
- id: pkgId,
- model: state.wizards.packages.packageData[pkgId],
- view
- };
-}
-
-export class PackageFormContainerImpl extends React.Component {
-
- private panelHeader: React.ReactNode = null;
- private view: VIEW_TYPES;
-
- constructor(props?: PackageFormContainerProps) {
- super(props);
-
- const { id, view } = props;
-
- switch (view) {
- case 'view':
- this.view = VIEW_TYPES.PACKAGE_VIEW;
- break;
-
- case 'edit':
- this.view = VIEW_TYPES.PACKAGE_EDIT;
- break;
-
- case 'clone':
- this.view = VIEW_TYPES.PACKAGE_CLONE;
- break;
-
- case 'new':
- this.view = VIEW_TYPES.PACKAGE_NEW;
- break;
- }
-
-
- this.panelHeader = resolvePackageHeader(this.view, id);
-
- this.closeFullNarrative = this.closeFullNarrative.bind(this);
- this.handleCancel = this.handleCancel.bind(this);
- this.handleFieldChange = this.handleFieldChange.bind(this);
- this.handleNarrativeChange = this.handleNarrativeChange.bind(this);
- this.handleSubmit = this.handleSubmit.bind(this);
- this.parseAttributes = this.parseAttributes.bind(this);
- this.renderNarrative = this.renderNarrative.bind(this);
- this.setModelWarning = this.setModelWarning.bind(this);
- this.showFullNarrative = this.showFullNarrative.bind(this);
- }
-
- componentDidMount() {
- this.initModel(this.props);
- }
-
- componentWillReceiveProps(nextProps?: PackageFormContainerProps) {
- this.initModel(nextProps);
- }
-
- componentWillUnmount() {
- const { dispatch, model } = this.props;
-
- dispatch(clearAllErrors());
- if (model) {
- dispatch(model.invalidate());
- }
- }
-
- initModel(props: PackageFormContainerProps) {
- const { dispatch, id, view } = props;
- dispatch(actions.init(id, VIEW_TYPES["PACKAGE_" + view.toUpperCase()]));
- }
-
- handleCancel() {
- const { dispatch } = this.props;
- dispatch(push('/packages'))
- }
-
- handleAttributeChange(name, value) {
- const { dispatch, model } = this.props;
- const parts = name.split('_');
- const index = parts[1];
-
- if (parts[2] && parts[2] === "lookupKey") {
- if (value === "") {
- model.data.attributes[index].lookupValues = null;
- model.data.attributes[index].defaultValue = null;
-
- const updatedModel = new PackageWizardModel(Object.assign({}, model, {
- model
- }));
-
- dispatch(updatedModel.saveField(name, value));
- }
- else {
- actions.fetchDefaultLookups(model, name, value, dispatch);
- }
- } else {
- dispatch(model.saveField(name, value));
- }
- }
-
- handleFieldChange(name, value) {
- const { dispatch, model } = this.props;
-
- if (name.indexOf("attributes") != -1) {
- this.handleAttributeChange(name, value);
- } else {
- dispatch(model.saveField(name, value));
- }
- }
-
- handleSubmit(active: boolean) {
- const { dispatch, model } = this.props;
- dispatch(model.submitForm(active));
- }
-
- handleNarrativeChange(value) {
- const { dispatch, model } = this.props;
- if (model) {
- dispatch(model.saveNarrative(value));
- }
- }
-
- parseAttributes() {
- const { dispatch, model } = this.props;
- dispatch(model.parseAttribtues());
- }
-
- showFullNarrative(pkg: AssignedPackageModel, shouldQuery: boolean) {
- const { dispatch, model } = this.props;
-
- if (shouldQuery) {
- dispatch(queryPackageFullNarrative(pkg.pkgId, model, PKG_WIZARD_TYPES.PACKAGE_FULL_NARRATIVE));
- }
- else {
- dispatch({
- type: PKG_WIZARD_TYPES.PACKAGE_FULL_NARRATIVE,
- model,
- narrativePkg: pkg
- });
- }
- }
-
- closeFullNarrative() {
- const { dispatch, model } = this.props;
-
- dispatch({
- type: PKG_WIZARD_TYPES.PACKAGE_CLOSE_FULL_NARRATIVE,
- model
- });
- }
-
- renderNarrative(narrativePkg: AssignedPackageModel, level: number) {
- const { subPackages } = narrativePkg;
- const key = "narrative-row-" + (narrativePkg.superPkgId || narrativePkg.altId);
-
- return (
-
-
- {subPackages.map((subPackage) =>
- this.renderNarrative(subPackage, level + 1)
- )}
-
- );
- }
-
- renderBody() {
- const { model } = this.props;
-
- if (model && model.packageLoaded && !model.isError) {
- return ;
- }
- else if (model && model.isError) {
- return {model.message ? model.message : ''}
;
- }
-
- return Loading...
;
- }
-
- renderModal() {
- const { model } = this.props;
-
- if (model) {
- if (model.isWarning && model.message) {
- return (
-
-
this.setModelWarning()} show={model.isWarning}>
-
- {model.message}
-
-
-
- this.setModelWarning()}>Confirm
-
-
-
-
- )
- }
- if (model.isSubmitting) {
- return (
-
- null} show={model.isSubmitting}>
-
- Submitting Package
-
-
-
- )
- }
- if (model.narrativePkg != null) {
- return (
-
-
-
- Full Narrative for Package {model.narrativePkg.pkgId}
-
-
- {this.renderNarrative(model.narrativePkg, 0)}
-
-
- Close
-
-
-
- )
- }
- }
- }
-
- setModelWarning(warning?: string) {
- const { dispatch, model } = this.props;
- // if no warning is provided, warning will be toggled off and message removed
- dispatch(model.setWarning(warning));
- }
-
- render() {
- return (
-
- {this.renderModal()}
- {this.renderBody()}
-
- )
- }
-}
-
-export const PackageFormContainer = connect(mapStateToProps)(PackageFormContainerImpl);
-
-function resolvePackageHeader(view: VIEW_TYPES, id) {
-
- let text = '';
- switch (view) {
- case VIEW_TYPES.PACKAGE_VIEW:
- text = 'View Package - ' + id;
- break;
-
- case VIEW_TYPES.PACKAGE_EDIT:
- text = 'Edit Package - ' + id;
- break;
-
- case VIEW_TYPES.PACKAGE_CLONE:
- text = 'New Package - Clone of ' + id;
- break;
-
- case VIEW_TYPES.PACKAGE_NEW:
- text = 'New Package';
- break;
-
- default:
- }
-
- return (
-
-
{text}
-
- );
-}
\ No newline at end of file
diff --git a/snd/src/client/containers/Packages/Forms/PackageSearch.tsx b/snd/src/client/containers/Packages/Forms/PackageSearch.tsx
deleted file mode 100644
index be188879a..000000000
--- a/snd/src/client/containers/Packages/Forms/PackageSearch.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Panel } from 'react-bootstrap';
-import { RouteComponentProps } from 'react-router-dom'
-
-import { QuerySearch } from '../../../query/QuerySearch'
-
-import { PackageViewer } from './PackageViewer'
-import { PKG_SQ, REQUIRED_COLUMNS } from '../constants'
-
-interface PackageSearchOwnProps extends RouteComponentProps<{}> {}
-
-export class PackageSearch extends React.Component {
-
- render() {
- return (
-
-
-
-
-
- )
- }
-}
\ No newline at end of file
diff --git a/snd/src/client/containers/Packages/Forms/PackageViewer.tsx b/snd/src/client/containers/Packages/Forms/PackageViewer.tsx
deleted file mode 100644
index f54295345..000000000
--- a/snd/src/client/containers/Packages/Forms/PackageViewer.tsx
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as React from 'react';
-import { Button, Modal } from 'react-bootstrap'
-import { connect } from 'react-redux';
-import { Dispatch } from 'redux';
-
-import { History } from 'history'
-
-import { PackageSearchInput } from '../../../components/Packages/PackageSearchInput'
-import { PackageSearchResults } from '../../../components/Packages/PackageSearchResults'
-import * as actions from '../actions'
-import { PackagesModel } from '../model'
-
-import { QueryModel } from '../../../query/model'
-import {clearAllErrors} from "../../App/actions";
-
-
-interface PackageViewerOwnProps {
- history?: History
- model?: QueryModel
-}
-
-interface PackageViewerState {
- dispatch?: Dispatch
-
- packagesModel?: PackagesModel
-}
-
-interface PackageViewerStateProps {
- toRemove?: number
-}
-
-type PackageViewerProps = PackageViewerOwnProps & PackageViewerState;
-
-function mapStateToProps(state: APP_STATE_PROPS) {
-
- return {
- packagesModel: state.packages
- };
-}
-
-export class PackageViewerImpl extends React.Component {
-
- private inputRef: HTMLInputElement;
-
- constructor(props: PackageViewerProps) {
- super(props);
-
- this.state = {
- toRemove: undefined
- };
-
- this.changeLocation = this.changeLocation.bind(this);
- this.deletePackage = this.deletePackage.bind(this);
- this.handleClear = this.handleClear.bind(this);
- this.handleDeleteRequest = this.handleDeleteRequest.bind(this);
- this.handleInputChange = this.handleInputChange.bind(this);
- this.hideModal = this.hideModal.bind(this);
- this.toggleDrafts = this.toggleDrafts.bind(this);
- }
-
- componentDidMount() {
- const { dispatch, model, packagesModel } = this.props;
- // make a should load/init function
- if (model && model.isLoaded && !packagesModel || packagesModel && !packagesModel.isInit) {
- dispatch(packagesModel.init(model));
- }
- // add mapDispatchToProps
- }
-
- componentWillReceiveProps(nextProps?: PackageViewerProps) {
- const { dispatch, model, packagesModel } = nextProps;
- const dataExists = (model && model.isLoaded);
- const modelExists = (packagesModel && packagesModel.isInit);
-
- if (dataExists && !modelExists) {
- dispatch(packagesModel.init(model));
- }
- }
-
- componentWillUnmount() {
- const { dispatch } = this.props;
- dispatch(actions.resetPackageFilter());
- dispatch(clearAllErrors());
- }
-
- changeLocation(loc: string) {
- const { history } = this.props;
- history.push(loc);
- }
-
- deletePackage() {
- const { dispatch } = this.props;
- const { toRemove } = this.state;
- dispatch(actions.deletePackage(toRemove));
- }
-
- handleClear() {
- const { dispatch } = this.props;
-
- this.inputRef.focus();
- dispatch(actions.filterPackages(''));
- }
-
- handleDeleteRequest(rowId) {
- const { dispatch } = this.props;
-
- this.setState({
- toRemove: rowId
- });
-
- dispatch(actions.packagesWarning())
- }
-
- hideModal() {
- const { dispatch } = this.props;
-
- dispatch(actions.packagesResetWarning())
- }
-
- handleInputChange(evt: React.ChangeEvent) {
- const { dispatch } = this.props;
- const input = evt.currentTarget.value;
- dispatch(actions.filterPackages(input));
- }
-
- toggleDrafts() {
- const { dispatch, packagesModel } = this.props;
- dispatch(packagesModel.toggleDrafts())
- }
-
- renderWarning() {
- const { isWarning } = this.props.packagesModel;
- const { toRemove } = this.state;
-
- if (isWarning) {
- return (
-
-
-
- Are you sure you want to remove package {toRemove}?
-
-
- Cancel
- Delete Package
-
-
-
- )
- }
- }
-
- render() {
-
- if (this.props.packagesModel) {
- const { data, filteredActive, filteredDrafts, input, isInit, showDrafts } = this.props.packagesModel;
-
- return (
-
- {this.renderWarning()}
-
this.inputRef = el}
- showDrafts={showDrafts}
- toggleDrafts={this.toggleDrafts}/>
-
-
- {showDrafts ?
-
- : null}
-
-
-
-
- )
- }
-
- return Loading...
;
- }
-}
-
-export const PackageViewer = connect(mapStateToProps)(PackageViewerImpl);
\ No newline at end of file
diff --git a/snd/src/client/containers/Packages/actions.ts b/snd/src/client/containers/Packages/actions.ts
deleted file mode 100644
index 8c67af9e4..000000000
--- a/snd/src/client/containers/Packages/actions.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import {PKG_SQ, PKG_TYPES, SND_PKG_QUERY, SND_PKG_SCHEMA } from './constants'
-import { PackagesModel } from './model'
-
-import { deleteRows, queryInvalidate } from '../../query/actions'
-import { QueryModel } from '../../query/model'
-import {clearAppMessage, setAppError, setAppMessage} from "../App/actions";
-import {TOPLEVEL_SUPER_PKG_SQ} from "../SuperPackages/constants";
-
-export function deletePackage(id: number) {
- return (dispatch) => {
- const rows = [{PkgId: id }];
-
- // todo: this should be wrapped in permissions check
- // should also display feedback to the user that the pkg was successfully deleted
- // need app wide 'message/error' field
- return deleteRows(SND_PKG_SCHEMA, SND_PKG_QUERY, rows).then((response) => {
- dispatch(queryInvalidate(PKG_SQ));
- dispatch(queryInvalidate(TOPLEVEL_SUPER_PKG_SQ));
- dispatch(packagesInvalidate());
- let msg = 'Package ' + id + ' successfully removed.';
- dispatch(setAppMessage(msg));
- setTimeout(() => {
- dispatch(clearAppMessage({message: msg}));
- }, 2000);
- }).catch((error) => {
- dispatch(packagesResetWarning());
- dispatch(setAppError(error));
- console.log('delete package error', error);
- });
- }
-}
-
-export function filterPackages(input: string) {
- return {
- type: PKG_TYPES.PACKAGES_SEARCH_FILTER,
- input
- };
-}
-
-export function packagesInit(model: PackagesModel, dataResponse: QueryModel) {
- return {
- type: PKG_TYPES.PACKAGES_INIT,
- dataResponse,
- model
- };
-}
-
-export function packagesInvalidate() {
- return {
- type: PKG_TYPES.PACKAGES_INVALIDATE
- };
-}
-
-export function packagesResetWarning() {
- return {
- type: PKG_TYPES.PACKAGES_RESET_WARNING
- }
-}
-
-export function packagesWarning(message?: string) {
- return {
- type: PKG_TYPES.PACKAGES_WARNING,
- message
- }
-}
-export function resetPackageFilter() {
- return {
- type: PKG_TYPES.PACKAGES_RESET_FILTER
- };
-}
-
-export function toggleDrafts() {
- return {
- type: PKG_TYPES.PACKAGES_TOGGLE_DRAFTS
- };
-}
\ No newline at end of file
diff --git a/snd/src/client/containers/Packages/constants.ts b/snd/src/client/containers/Packages/constants.ts
deleted file mode 100644
index 6b83e9a61..000000000
--- a/snd/src/client/containers/Packages/constants.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import { SchemaQuery } from '../../query/model'
-
-const PKG_PREFIX = 'packages/';
-
-export const PKG_TYPES = {
- PACKAGES_ERROR: PKG_PREFIX + 'PACKAGES_ERROR',
- PACKAGES_INIT: PKG_PREFIX + 'PACKAGES_INIT',
- PACKAGES_INVALIDATE: PKG_PREFIX + 'PACKAGES_INVALIDATE',
- PACKAGES_SUCCESS: PKG_PREFIX + 'PACKAGES_SUCCESS',
- PACKAGES_SEARCH_FILTER: PKG_PREFIX + 'PACKAGES_SEARCH_FILTER',
- PACKAGES_TOGGLE_DRAFTS: PKG_PREFIX + 'PACKAGES_TOGGLE_DRAFTS',
- PACKAGES_WARNING: PKG_PREFIX + 'PACKAGES_WARNING',
- PACKAGES_RESET_WARNING: PKG_PREFIX + 'PACKAGES_RESET_WARNING',
- PACKAGES_RESET_FILTER: PKG_PREFIX + 'PACKAGES_RESET_FILTER',
- SET_ACTIVE_PACKAGE: PKG_PREFIX + 'SET_ACTIVE_PACKAGE',
-};
-
-export const SND_PKG_SCHEMA: string = 'snd',
- SND_PKG_QUERY: string = 'pkgs',
- SND_CATEGORY_QUERY: string = 'pkgCategories';
-
-export const CAT_SQ = SchemaQuery.create(SND_PKG_SCHEMA, SND_CATEGORY_QUERY);
-export const EDITABLE_CAT_SQ = SchemaQuery.create(SND_PKG_SCHEMA, SND_CATEGORY_QUERY, undefined, {editable: true});
-export const PKG_SQ = SchemaQuery.create(SND_PKG_SCHEMA, SND_PKG_QUERY);
-
-const categoriesRequiredColumns = [
- 'CategoryId',
- 'Description'
-];
-
-const packagesRequiredColumns = [
- 'PkgId',
- 'Description',
- 'Active',
- 'Repeatable',
- 'QcState',
- 'ObjectId',
- 'Narrative',
- 'HasEvent',
- 'HasProject',
- 'Container',
- 'Created',
- 'CreatedBy',
- 'Modified',
- 'ModifiedBy'
-];
-
-export const REQUIRED_COLUMNS = {
- CATS: categoriesRequiredColumns,
- PKGS: packagesRequiredColumns,
-};
\ No newline at end of file
diff --git a/snd/src/client/containers/Packages/model.ts b/snd/src/client/containers/Packages/model.ts
deleted file mode 100644
index 2386935df..000000000
--- a/snd/src/client/containers/Packages/model.ts
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2017-2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import { LabKeyQueryRowPropertyProps, QueryModel } from '../../query/model'
-
-import * as actions from './actions'
-
-
-interface PackagesModelProps {
- active: Array
- data: {[key: string]: any}
- dataIds: Array
- drafts: Array
- filteredActive?: Array
- filteredDrafts?: Array
- input?: string
- isError: boolean
- isInit?: boolean
- isWarning?: boolean
- message: string
- packageCount: number
- showDrafts?: boolean
-}
-
-// may make more sense for this to be in wizards/packages/packageSearch?
-export class PackagesModel implements PackagesModelProps {
- active: Array = [];
- data: {[key: string]: any} = {};
- dataIds: Array = [];
- drafts: Array = [];
- filteredActive: Array = [];
- filteredDrafts: Array = [];
- input: string = undefined;
- isError: boolean = false;
- isInit: boolean = false;
- isWarning: boolean = false;
- message: string = undefined;
- packageCount: number = 0;
- showDrafts: boolean = false;
-
- constructor(props?: Partial) {
- if (props) {
- for (let k in props) {
- if (this.hasOwnProperty(k) && props.hasOwnProperty(k)) {
- this[k] = props[k];
- }
- }
- }
- }
-
- init(data: QueryModel) {
- return actions.packagesInit(this, data);
- }
-
- toggleDrafts() {
- return actions.toggleDrafts();
- }
-}
-
-interface QueryPackageModelProps {
- Active: LabKeyQueryRowPropertyProps
- Container: LabKeyQueryRowPropertyProps
- Created: LabKeyQueryRowPropertyProps
- CreatedBy: LabKeyQueryRowPropertyProps
- Description: LabKeyQueryRowPropertyProps
- HasEvent: LabKeyQueryRowPropertyProps
- HasProject: LabKeyQueryRowPropertyProps
- ModifiedBy: LabKeyQueryRowPropertyProps
- Narrative: LabKeyQueryRowPropertyProps
- ObjectId: LabKeyQueryRowPropertyProps
- PkgId: LabKeyQueryRowPropertyProps
- QcState: LabKeyQueryRowPropertyProps
- Repeatable: LabKeyQueryRowPropertyProps
- links: any
-}
-
-export class QueryPackageModel implements QueryPackageModelProps {
- Active: LabKeyQueryRowPropertyProps = undefined;
- Container: LabKeyQueryRowPropertyProps = undefined;
- Created: LabKeyQueryRowPropertyProps = undefined;
- CreatedBy: LabKeyQueryRowPropertyProps = undefined;
- Description: LabKeyQueryRowPropertyProps = undefined;
- HasEvent: LabKeyQueryRowPropertyProps = undefined;
- HasProject: LabKeyQueryRowPropertyProps = undefined;
- ModifiedBy: LabKeyQueryRowPropertyProps = undefined;
- Narrative: LabKeyQueryRowPropertyProps = undefined;
- ObjectId: LabKeyQueryRowPropertyProps = undefined;
- PkgId: LabKeyQueryRowPropertyProps = undefined;
- QcState: LabKeyQueryRowPropertyProps = undefined;
- Repeatable: LabKeyQueryRowPropertyProps = undefined;
- links: any = undefined;
-
- constructor(props?: Partial) {
- if (props) {
- for (let k in props) {
- if (this.hasOwnProperty(k) && props.hasOwnProperty(k)) {
- this[k] = props[k];
- }
- }
- }
- }
-}
-
-interface QuerySuperPackageModelProps {
- container: LabKeyQueryRowPropertyProps
- created: LabKeyQueryRowPropertyProps
- createdBy: LabKeyQueryRowPropertyProps
- modified: LabKeyQueryRowPropertyProps
- modifiedBy: LabKeyQueryRowPropertyProps
- parentSuperPkgId: LabKeyQueryRowPropertyProps
- repeatable: LabKeyQueryRowPropertyProps
- superPkgPath: LabKeyQueryRowPropertyProps
- superPkgId: LabKeyQueryRowPropertyProps
- pkgId: LabKeyQueryRowPropertyProps
- isPrimitive: LabKeyQueryRowPropertyProps
- narrative: LabKeyQueryRowPropertyProps
- links: any
-}
-
-export class QuerySuperPackageModel implements QuerySuperPackageModelProps {
- container: LabKeyQueryRowPropertyProps = undefined;
- created: LabKeyQueryRowPropertyProps = undefined;
- createdBy: LabKeyQueryRowPropertyProps = undefined;
- isPrimitive: LabKeyQueryRowPropertyProps = undefined;
- modified: LabKeyQueryRowPropertyProps = undefined;
- modifiedBy: LabKeyQueryRowPropertyProps = undefined;
- narrative: LabKeyQueryRowPropertyProps = undefined;
- parentSuperPkgId: LabKeyQueryRowPropertyProps = undefined;
- repeatable: LabKeyQueryRowPropertyProps = undefined;
- superPkgPath: LabKeyQueryRowPropertyProps = undefined;
- superPkgId: LabKeyQueryRowPropertyProps = undefined;
- pkgId: LabKeyQueryRowPropertyProps = undefined;
- links: any = undefined;
-
- constructor(props?: Partial) {
- if (props) {
- for (let k in props) {
- if (this.hasOwnProperty(k) && props.hasOwnProperty(k)) {
- this[k] = props[k];
- }
- }
- }
- }
-}
-
diff --git a/snd/src/client/containers/Packages/reducer.ts b/snd/src/client/containers/Packages/reducer.ts
deleted file mode 100644
index f1b16e7e7..000000000
--- a/snd/src/client/containers/Packages/reducer.ts
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 2017 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import { handleActions } from 'redux-actions';
-
-import { PKG_TYPES } from './constants'
-import { QueryPackageModel, PackagesModel } from './model'
-
-export const packages = handleActions({
-
- [PKG_TYPES.PACKAGES_INIT]: (state: PackagesModel, action: any) => {
- const { dataResponse } = action;
- const { data, dataCount, dataIds } = dataResponse;
-
- let active = [],
- ids = [],
- drafts = [];
- const packagesData = dataIds.reduce((prev, next: number) => {
- const packageData = data[next];
- const id = packageData.PkgId.value;
- ids.push(id);
- prev[id] = new QueryPackageModel(packageData);
- // // should filter on hasEvent or Active?
- if (packageData.Active.value === true) {
- active.push(id);
- }
- else {
- drafts.push(id);
- }
-
- return prev;
- }, {});
-
- return new PackagesModel(Object.assign({}, state, {
- active,
- data: packagesData,
- dataIds: ids,
- drafts,
- isInit: true,
- filteredActive: active,
- filteredDrafts: drafts,
- packageCount: dataCount
- }));
- },
-
- [PKG_TYPES.PACKAGES_INVALIDATE]: () => {
- return new PackagesModel();
- },
-
- [PKG_TYPES.PACKAGES_RESET_FILTER]: (state: PackagesModel) => {
- const { active, drafts } = state;
-
- return new PackagesModel(Object.assign({}, state, {
- filteredActive: active,
- filteredDrafts: drafts
- }));
- },
-
- [PKG_TYPES.PACKAGES_RESET_WARNING]: (state: PackagesModel) => {
- return new PackagesModel(Object.assign({}, state, {
- isWarning: false,
- message: undefined
- }));
- },
-
- [PKG_TYPES.PACKAGES_SEARCH_FILTER]: (state: PackagesModel, action: any) => {
- const { active, data, dataIds, drafts } = state;
- const { input } = action;
-
- let filteredActive = active,
- filteredDrafts = drafts;
-
- if (input && input !== '') {
- const filtered = filterPackages(input, dataIds, data);
- filteredActive = filtered.filter((id) => {
- return active.indexOf(id) !== -1;
- });
-
- filteredDrafts = filtered.filter((id) => {
- return drafts.indexOf(id) !== -1;
- });
- }
-
- return new PackagesModel(Object.assign({}, state, {
- filteredActive,
- filteredDrafts,
- input
- }));
- },
-
- [PKG_TYPES.PACKAGES_TOGGLE_DRAFTS]: (state: PackagesModel, action: any) => {
- const { toggled } = action;
-
- const showDrafts = toggled && typeof toggled === 'boolean' ? toggled : !state.showDrafts;
-
- return new PackagesModel(Object.assign({}, state, {
- showDrafts
- }));
- },
-
- [PKG_TYPES.PACKAGES_WARNING]: (state: PackagesModel, action: any) => {
- const { message } = action;
-
- return new PackagesModel(Object.assign({}, state, {
- isWarning: true,
- message
- }));
- },
-
-}, new PackagesModel());
-
-function filterPackages(input: string, dataIds: Array , data: {[key: string]: any}) {
-
- return dataIds.filter((id: number) => {
- const pkg: QueryPackageModel = data[id];
-
- if (pkg) {
- return (
- pkg.Description &&
- pkg.Description.value.toLowerCase().indexOf(input.toLowerCase()) !== -1
- ) || (
- pkg.PkgId &&
- pkg.PkgId.value.toString().indexOf(input) !== -1
- )
- }
-
- return false;
- });
-
-}
\ No newline at end of file
diff --git a/snd/src/client/containers/Projects/Forms/ProjectForm.tsx b/snd/src/client/containers/Projects/Forms/ProjectForm.tsx
deleted file mode 100644
index e675deac1..000000000
--- a/snd/src/client/containers/Projects/Forms/ProjectForm.tsx
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
- * Copyright (c) 2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-import * as React from 'react';
-import { Button, ControlLabel } from 'react-bootstrap'
-import { connect } from 'react-redux';
-import { Dispatch } from 'redux'
-
-import {ProjectAssignedPackageModel, ProjectModel} from '../../Wizards/Projects/model'
-import { IdInput } from '../../../components/Form/IdInput'
-import { TextArea } from '../../../components/Form/TextArea'
-import { ExtraFields} from '../../../components/Form/ExtraFields'
-import {SuperPackageForm} from "../../SuperPackages/Forms/SuperPackageForm";
-import {AssignedPackageModel} from "../../SuperPackages/model";
-import {NumericInput} from "../../../components/Form/NumericInput";
-import {DatePicker} from "../../../components/Form/DatePicker";
-import {getRevisionId, queryProjectSubPackageDetails} from "../../Wizards/Projects/actions";
-import {VIEW_TYPES} from "../../App/constants";
-
-export interface ProjectButtonListProps {
- action: string
- disabled?: boolean
- id: string
- label: string
- type: string
-}
-export const ProjectFormButtons: Array = [
- {
- action: 'saveDraft',
- id: 'saveAsDraft',
- label: 'Save as Draft',
- type: 'submit'
- },
- {
- action: 'submitReview',
- id: 'submitReview',
- disabled: true,
- label: 'Submit for Review',
- type: 'submit'
- },
- {
- action: 'save',
- id: 'save',
- label: 'Save',
- type: 'submit'
- },
-];
-
-interface ProjectFormOwnProps {
- handleCancel?: () => void
- handleFieldChange?: (name: string, value: any) => void
- handleFormSubmit?: any
- handleFullNarrative?: (model: AssignedPackageModel, shouldQuery: boolean) => void
- handleWarning?: (warning?: string) => void
- handleRevisedValues?: () => void
- isValid?: boolean
- model?: ProjectModel
- parseAttributes?: () => void
- view?: VIEW_TYPES
-}
-
-interface ProjectFormState {
- dispatch?: Dispatch
-}
-
-interface ProjectFormStateProps {
- selectedSubPackage?: AssignedPackageModel
-}
-
-export type ProjectFormProps = ProjectFormOwnProps & ProjectFormState;
-
-export class ProjectFormImpl extends React.Component {
-
- constructor(props?: ProjectFormProps) {
- super(props);
-
- this.state = {
- selectedSubPackage: undefined
- };
-
- this.handleCancel = this.handleCancel.bind(this);
- this.handleFieldChange = this.handleFieldChange.bind(this);
- this.handleAssignedPackageAdd = this.handleAssignedPackageAdd.bind(this);
- this.handleAssignedPackageRemove = this.handleAssignedPackageRemove.bind(this);
- this.submit = this.submit.bind(this);
- }
-
- handleButtonAction(action: string) {
- switch (action) {
- case 'cancel':
- this.handleCancel();
- break;
-
- case 'saveDraft':
- this.submit(false);
- break;
-
- case 'submitReview':
- break;
-
- case 'save':
- this.submit(true);
- break;
-
- default:
- return false;
- }
- }
-
- handleCancel() {
- this.props.handleCancel();
- }
-
- handleFieldChange(event: React.ChangeEvent) {
- const { handleFieldChange } = this.props;
- const name = event.currentTarget.name;
- let value = event.currentTarget.value;
-
- if (event.currentTarget.type === 'checkbox')
- value = event.currentTarget.checked;
-
- if (event.currentTarget.type === 'date' && event.currentTarget.value === '')
- value = undefined;
-
- handleFieldChange(name, value);
- }
-
- handleAssignedPackageAdd(assignedSuperPackage: AssignedPackageModel) {
- const { dispatch, model, handleFieldChange, handleWarning } = this.props;
- const { pkgId, description, narrative, repeatable, superPkgId } = assignedSuperPackage;
-
- if (!repeatable) {
- // if the added package cannot be repeated and is already in the assigned packages array, emit warning
- const canAdd = model.subPackages.every((superPkg) => {
- return superPkg.pkgId !== pkgId;
- });
-
- if (!canAdd) {
- return handleWarning(['Package', pkgId, 'is not repeatable.'].join(' '));
- }
- }
-
- // create a new AssignedPackageModel object as the SuperPkgId needs to be undefined as it will be set on save/submit
- let newAssignedSuperPackage = new ProjectAssignedPackageModel({
- pkgId, description, narrative, repeatable, superPkgId, active: true, showActive: true, required: false, sortOrder: model.subPackages.length});
- newAssignedSuperPackage.loadingSubpackages = true;
-
- handleFieldChange('subPackages', model.subPackages.concat([newAssignedSuperPackage]));
- this.setState({selectedSubPackage: newAssignedSuperPackage});
-
- dispatch(queryProjectSubPackageDetails(pkgId, getRevisionId(model)));
- }
-
- handleAssignedPackageRemove(assignedSuperPackage: AssignedPackageModel) {
- const { handleFieldChange } = this.props;
- handleFieldChange('subPackages', this.getNonmatchingSubpackages(assignedSuperPackage));
- }
-
- getNonmatchingSubpackages(assignedSuperPackage: AssignedPackageModel) {
- const { model } = this.props;
-
- // use the generated altId to match as that will be unique for
- // both previously existing and newly added assigned packages
- return model.subPackages.filter((subPackage) => {
- return subPackage.altId != assignedSuperPackage.altId;
- });
- }
-
- renderButtons() {
- const { isValid, view } = this.props;
-
- if (view !== VIEW_TYPES.PROJECT_VIEW) {
- return (
-
- this.handleButtonAction('cancel')}>
- Cancel
-
- {ProjectFormButtons.map((button: ProjectButtonListProps, i: number) => {
- return (
- this.handleButtonAction(button.action)}>
- {button.label}
-
- );
- })}
-
- );
- }
- }
-
- renderExtraFields(perRow: number, index: number, displayCols: number) {
- const { model } = this.props;
-
- if (model) {
- const { extraFields } = model;
- return
- }
-
- return null;
- }
-
- renderOverflowExtraFields(start) {
- const { model } = this.props;
- const perRow = 6;
- const displayCols = 2;
-
- let fieldRows = [];
-
- if (model) {
- const { extraFields } = model;
- const overFlowCount = extraFields.length - start;
-
- let rows = Math.floor(overFlowCount / perRow) + 1;
- for (var i=0; i
-
-
-
-
-
- Project Id
-
-
- Revision Number
-
-
- Reference Id*
-
-
-
-
-
- Start Date*
-
-
- End Date
-
-
-
-
- {this.renderExtraFields(3, 0, 4)}
-
-
-
-
- {this.renderOverflowExtraFields(3)}
-
-
-
-
-
-
-
-
- {this.renderButtons()}
-
-
-
-
- )
- }
-}
-
-export const ProjectForm: any = connect()(ProjectFormImpl as any); // fix typing
\ No newline at end of file
diff --git a/snd/src/client/containers/Projects/Forms/ProjectFormContainer.tsx b/snd/src/client/containers/Projects/Forms/ProjectFormContainer.tsx
deleted file mode 100644
index 27697b098..000000000
--- a/snd/src/client/containers/Projects/Forms/ProjectFormContainer.tsx
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * Copyright (c) 2018 LabKey Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import * as React from 'react';
-import { Button, Modal, Panel } from 'react-bootstrap'
-import { RouteComponentProps } from 'react-router-dom'
-
-import { connect } from 'react-redux';
-import { push } from 'react-router-redux'
-import { Dispatch } from 'redux';
-import * as actions from '../../Wizards/Projects/actions'
-
-import { ProjectForm } from './ProjectForm'
-import {AssignedPackageModel} from "../../SuperPackages/model";
-import {PROJECT_WIZARD_TYPES} from "../../Wizards/Projects/constants";
-import {ProjectWizardModel} from "../../Wizards/Projects/model";
-import {queryPackageFullNarrative} from "../../Wizards/SuperPackages/actions";
-import NarrativeRow from "../../SuperPackages/Forms/NarrativeRow";
-import {ProjectRevisionForm} from "./ProjectRevisionForm";
-import {VIEW_TYPES} from "../../App/constants";
-import {getProjectIdRev, setRevisedValues} from "../../Wizards/Projects/actions";
-import {clearAllErrors} from "../../App/actions";
-
-interface ProjectFormContainerOwnProps extends RouteComponentProps<{idRev: string}> {}
-
-interface ProjectFormContainerState {
- dispatch?: Dispatch