From 7772bd37e2d998d34bdeae3c092066127d0b858f Mon Sep 17 00:00:00 2001 From: bertrand <bpinel@ippon.fr> Date: Sat, 24 Nov 2018 12:34:06 +0100 Subject: [PATCH] Initial Commit --- app/router.js | 12 + blueprints/entity-factory/README.md | 30 + .../__root__/__mirage__/factories/__name__.js | 9 + .../__root__/__mirage__/models/__name__.js | 7 + .../__mirage__/scenarios/tobedeleted.txt | 1 + .../__mirage__/serializers/tobedeleted.txt | 1 + .../controllers/entity-factory/__name__.js | 25 + .../files/__root__/models/__name__.js | 5 + .../routes/entity-factory/__name__.js | 8 + .../templates/entity-factory/__name__.hbs | 28 + blueprints/entity-factory/index.js | 219 + .../files/__cloud__/.deployed_entities.json | 1 + blueprints/jdl-importer/index.js | 224 + cloud/lambda-jsonapi.js | 296 + app/.gitkeep => cloud/lambda/index.js | 0 cloud/xmind/API Gateway.xmind | Bin 0 -> 26648 bytes cloud/xmind/JSON-API.xmind | Bin 0 -> 60076 bytes ember-cli-build.js | 6 +- jdl/blog.jh | 26 + jdl/online-shop.jh | 60 + jsconfig.json | 1 + package-lock.json | 4928 +++++++++++++++-- package.json | 17 +- .../app/controllers/entity-factory/toto.js | 30 + tests/dummy/app/models/toto.js | 8 + tests/dummy/app/router.js | 2 + tests/dummy/app/routes/entity-factory/toto.js | 8 + .../app/templates/entity-factory/toto.hbs | 5 + tests/dummy/mirage/config.js | 4 + tests/dummy/mirage/factories/toto.js | 23 + tests/dummy/mirage/models/toto.js | 7 + tests/dummy/mirage/scenarios/default.js | 3 + tests/dummy/mirage/serializers/application.js | 4 + 33 files changed, 5673 insertions(+), 325 deletions(-) create mode 100644 app/router.js create mode 100644 blueprints/entity-factory/README.md create mode 100644 blueprints/entity-factory/files/__root__/__mirage__/factories/__name__.js create mode 100644 blueprints/entity-factory/files/__root__/__mirage__/models/__name__.js create mode 100644 blueprints/entity-factory/files/__root__/__mirage__/scenarios/tobedeleted.txt create mode 100644 blueprints/entity-factory/files/__root__/__mirage__/serializers/tobedeleted.txt create mode 100644 blueprints/entity-factory/files/__root__/controllers/entity-factory/__name__.js create mode 100644 blueprints/entity-factory/files/__root__/models/__name__.js create mode 100644 blueprints/entity-factory/files/__root__/routes/entity-factory/__name__.js create mode 100644 blueprints/entity-factory/files/__root__/templates/entity-factory/__name__.hbs create mode 100644 blueprints/entity-factory/index.js create mode 100644 blueprints/jdl-importer/files/__cloud__/.deployed_entities.json create mode 100644 blueprints/jdl-importer/index.js create mode 100644 cloud/lambda-jsonapi.js rename app/.gitkeep => cloud/lambda/index.js (100%) create mode 100644 cloud/xmind/API Gateway.xmind create mode 100644 cloud/xmind/JSON-API.xmind create mode 100644 jdl/blog.jh create mode 100644 jdl/online-shop.jh create mode 100644 jsconfig.json create mode 100644 tests/dummy/app/controllers/entity-factory/toto.js create mode 100644 tests/dummy/app/models/toto.js create mode 100644 tests/dummy/app/routes/entity-factory/toto.js create mode 100644 tests/dummy/app/templates/entity-factory/toto.hbs create mode 100644 tests/dummy/mirage/config.js create mode 100644 tests/dummy/mirage/factories/toto.js create mode 100644 tests/dummy/mirage/models/toto.js create mode 100644 tests/dummy/mirage/scenarios/default.js create mode 100644 tests/dummy/mirage/serializers/application.js diff --git a/app/router.js b/app/router.js new file mode 100644 index 0000000..d0bb009 --- /dev/null +++ b/app/router.js @@ -0,0 +1,12 @@ +import EmberRouter from '@ember/routing/router'; +import config from './config/environment'; + +const Router = EmberRouter.extend({ + location: config.locationType, + rootURL: config.rootURL +}); + +Router.map(function() { +}); + +export default Router; diff --git a/blueprints/entity-factory/README.md b/blueprints/entity-factory/README.md new file mode 100644 index 0000000..2e4d353 --- /dev/null +++ b/blueprints/entity-factory/README.md @@ -0,0 +1,30 @@ +This blueprint uses the same signature as the model blueprint for defining the list of attributes of the entity and their type. +The following attribute types are supported: :array :boolean :date :object :number :string :your-custom-transform :belongs-to: :has-many: + + ember model <name> <attr:type> + Generates an ember-data model. + You may generate models with as many attrs as you would like to pass. The following attribute types are supported: + <attr-name> + <attr-name>:array + <attr-name>:boolean + <attr-name>:date + <attr-name>:object + <attr-name>:number + <attr-name>:string + <attr-name>:your-custom-transform + <attr-name>:belongs-to:<model-name> + <attr-name>:has-many:<model-name> + + For instance: `ember generate model taco filling:belongs-to:protein toppings:has-many:toppings name:string price:number misc` + would result in the following model: + + + import DS from 'ember-data'; + + export default DS.Model.extend({ + filling: DS.belongsTo('protein'), + toppings: DS.hasMany('topping'), + name: DS.attr('string'), + price: DS.attr('number'), + misc: DS.attr() + }); \ No newline at end of file diff --git a/blueprints/entity-factory/files/__root__/__mirage__/factories/__name__.js b/blueprints/entity-factory/files/__root__/__mirage__/factories/__name__.js new file mode 100644 index 0000000..09a958f --- /dev/null +++ b/blueprints/entity-factory/files/__root__/__mirage__/factories/__name__.js @@ -0,0 +1,9 @@ +import { + Factory, + faker + } from 'ember-cli-mirage'; + + export default Factory.extend({ + <%= fact.length ? '//default generated factory\n\t' + fact + '\n' : '' %> + }) + \ No newline at end of file diff --git a/blueprints/entity-factory/files/__root__/__mirage__/models/__name__.js b/blueprints/entity-factory/files/__root__/__mirage__/models/__name__.js new file mode 100644 index 0000000..1b2066f --- /dev/null +++ b/blueprints/entity-factory/files/__root__/__mirage__/models/__name__.js @@ -0,0 +1,7 @@ +import { + Model<%= imports.length ? ', '+imports : '' %> + } from 'ember-cli-mirage'; + + export default Model.extend({<%= rel.length ? rel : '' %> + }); + \ No newline at end of file diff --git a/blueprints/entity-factory/files/__root__/__mirage__/scenarios/tobedeleted.txt b/blueprints/entity-factory/files/__root__/__mirage__/scenarios/tobedeleted.txt new file mode 100644 index 0000000..f203f96 --- /dev/null +++ b/blueprints/entity-factory/files/__root__/__mirage__/scenarios/tobedeleted.txt @@ -0,0 +1 @@ +To be sure that the directory exists... \ No newline at end of file diff --git a/blueprints/entity-factory/files/__root__/__mirage__/serializers/tobedeleted.txt b/blueprints/entity-factory/files/__root__/__mirage__/serializers/tobedeleted.txt new file mode 100644 index 0000000..f203f96 --- /dev/null +++ b/blueprints/entity-factory/files/__root__/__mirage__/serializers/tobedeleted.txt @@ -0,0 +1 @@ +To be sure that the directory exists... \ No newline at end of file diff --git a/blueprints/entity-factory/files/__root__/controllers/entity-factory/__name__.js b/blueprints/entity-factory/files/__root__/controllers/entity-factory/__name__.js new file mode 100644 index 0000000..29bd1b3 --- /dev/null +++ b/blueprints/entity-factory/files/__root__/controllers/entity-factory/__name__.js @@ -0,0 +1,25 @@ +import Controller from '@ember/controller'; +import { computed } from '@ember/object'; +import { A } from '@ember/array'; + +export default Controller.extend({ +isAddingEntry: false, +<%=ctrlVars%> +<%=entity%>TableColumns: computed(function() { +var col = A([ + <%=cols%> +]); +return col; +}), + +<%=entity%>TableContent: computed(function() { + return this.get("model"); +}), + +actions: { + submit() { + this.set('addEntryModal', false); + console.log("Adding new entry"); + }, + } +}); \ No newline at end of file diff --git a/blueprints/entity-factory/files/__root__/models/__name__.js b/blueprints/entity-factory/files/__root__/models/__name__.js new file mode 100644 index 0000000..2dd4f1d --- /dev/null +++ b/blueprints/entity-factory/files/__root__/models/__name__.js @@ -0,0 +1,5 @@ +import DS from 'ember-data'; + +export default DS.Model.extend({ +<%= attrs.length ? ' ' + attrs : '' %> +}); \ No newline at end of file diff --git a/blueprints/entity-factory/files/__root__/routes/entity-factory/__name__.js b/blueprints/entity-factory/files/__root__/routes/entity-factory/__name__.js new file mode 100644 index 0000000..b1804ca --- /dev/null +++ b/blueprints/entity-factory/files/__root__/routes/entity-factory/__name__.js @@ -0,0 +1,8 @@ +import Route from '@ember/routing/route'; + +export default Route.extend({ + model() { + return this.store.findAll('<%=entity%>'); + } + +}); \ No newline at end of file diff --git a/blueprints/entity-factory/files/__root__/templates/entity-factory/__name__.hbs b/blueprints/entity-factory/files/__root__/templates/entity-factory/__name__.hbs new file mode 100644 index 0000000..65fd2a4 --- /dev/null +++ b/blueprints/entity-factory/files/__root__/templates/entity-factory/__name__.hbs @@ -0,0 +1,28 @@ +{{outlet}} +<div class="container-fluid"> + +<h2>List of <%=entity%></h2> +{{models-table + data=<%=entity%>TableContent + columns=<%=entity%>TableColumns}} + +{{#bs-button onClick=(action (mut addEntryModal) true)}} + Add new entry +{{/bs-button}} + +{{#bs-modal open=addEntryModal onSubmit=(action "submit") onHidden=(action (mut addEntryModal) false) as |modal|}} + {{#modal.header}} + <h4 class="modal-title"> + Add a new Entry + <div class="badge">2</div> + </h4> + {{/modal.header}} + {{#modal.body}} + <%=form%> + {{/modal.body}} + {{#modal.footer}} + {{#bs-button onClick=(action modal.close)}}Cancel{{/bs-button}} + {{#bs-button type="success" onClick=(action modal.submit)}}Save{{/bs-button}} + {{/modal.footer}} +{{/bs-modal}} +</div> \ No newline at end of file diff --git a/blueprints/entity-factory/index.js b/blueprints/entity-factory/index.js new file mode 100644 index 0000000..dde2216 --- /dev/null +++ b/blueprints/entity-factory/index.js @@ -0,0 +1,219 @@ +const inflection = require('inflection'); +const stringUtils = require('ember-cli-string-utils'); +const EOL = require('os').EOL; +const path = require('path'); +const fs = require('fs'); + +module.exports = { + description: 'Generates an ember-data model and the associated Mirage couterpart and screens.', + + anonymousOptions: ['name', 'attr:type'], + + fileMapTokens(options) { + if (options.pod) { + return { + // Never tested. Not used to use pod structure ! + __root__() { return 'app'; }, + __path__() { return options.blueprintName;}, + __name__() { return options.dasherizedModuleName;}, + __mirage__() { return '../mirage'}, + __cloud__() { return '../cloud'} + } + } else { + return { + __root__() { + if (options.inDummy) { + return 'tests/dummy/app'; + } else { + return 'app'; + } + }, + __path__() { return 'models';}, + __name__() { return options.dasherizedModuleName;}, + __mirage__() { return '../mirage'}, + __cloud__() { return '../cloud'} + } + } + }, + + locals(options) { + let attrs = [], cols = [], needs = [], fact = [], form = [], imports = {}, ctrlVars= [], paramObject = []; + let entityOptions = options.entity.options; + let entityName = options.entity.name; + let capitalizeEntityName = entityName.capitalize() ; + + const rel = Object.keys(entityOptions) + .filter(key => (/has-many/.test(entityOptions[key]) || /belongs-to/.test(entityOptions[key]))) + .map(key => '\n\t\t' + stringUtils.camelize(key) + relFunction(entityOptions[key])) + + Object.values(entityOptions).forEach(value => { + if (/has-many/.test(value)) { + imports.hasMany = true + } + if (/belongs-to/.test(value)) { + imports.belongsTo = true + } + }) + + for (let name in entityOptions) { + let type = entityOptions[name] || ''; + let foreignModel = name; + if (type.indexOf(':') > -1) { + foreignModel = type.split(':')[1]; + type = type.split(':')[0]; + } + let dasherizedName = stringUtils.dasherize(name); + let camelizedName = stringUtils.camelize(name); + let dasherizedType = stringUtils.dasherize(type); + let dasherizedForeignModel = stringUtils.dasherize(foreignModel); + let dasherizedForeignModelSingular = inflection.singularize(dasherizedForeignModel); + + let attr; + if (/has-many/.test(dasherizedType)) { + let camelizedNamePlural = inflection.pluralize(camelizedName); + attr = dsAttr(dasherizedForeignModelSingular, dasherizedType); + attrs.push(camelizedNamePlural + ': ' + attr); + } else if (/belongs-to/.test(dasherizedType)) { + attr = dsAttr(dasherizedForeignModel, dasherizedType); + attrs.push(camelizedName + ': ' + attr); + } else { + attr = dsAttr(dasherizedName, dasherizedType); + attrs.push(camelizedName + ': ' + attr); + cols.push("Ember.Object.create({\n\tpropertyName: \""+camelizedName+"\",\n\ttitle: \""+name+"\"\n}),"); + } + + if (/has-many|belongs-to/.test(dasherizedType)) { + needs.push("'model:" + dasherizedForeignModelSingular + "'"); + } + if (!/has-many/.test(dasherizedType) && !/belongs-to/.test(dasherizedType)) { + fact.push('\n\t' + camelizedName + fakerize(dasherizedType)); + // todo Generate input form for creating entity (without any relationship) + form.push('{{input type="text" name="'+camelizedName+'" value='+camelizedName+' placeholder="'+camelizedName+'"}}'); + ctrlVars.push(camelizedName+': null,'); + } + } + + let needsDeduplicated = needs.filter(function(need, i) { + return needs.indexOf(need) === i; + }); + + attrs = attrs.join(',' + EOL + ' '); + needs = ' needs: [' + needsDeduplicated.join(', ') + ']'; + cols = cols.join(EOL); + + return { + entity: entityName, + attrs: attrs, + cols: cols, + needs: needs, + fact: fact, + rel: rel, + ctrlVars: ctrlVars.join(EOL), + form: form.join(EOL), + imports: Object.keys(imports).map(relation => '\n\t' + relation) + }; + }, + + afterInstall(options) { + let blueprintName = options.originBlueprintName; + let entityName = options.entity.name; + + // Check that /mirage/serializers/applications.js is existing + let mirageSerializerPath = (options.dummy) ? "tests/dummy/mirage/serializers/application.js" : "mirage/serializers/application.js"; + if (!fs.existsSync(mirageSerializerPath)) { + this.ui.writeLine("Creating file "+mirageSerializerPath); + let serializerContent = "import { JSONAPISerializer } from 'ember-cli-mirage';\n\n\texport default JSONAPISerializer.extend({\n});\n"; + fs.writeFileSync(mirageSerializerPath, serializerContent, 'utf-8', 'w+'); + } + + // Complete /mirage/scenarios/default.js + let mirageScenarioPath = (options.dummy) ? "tests/dummy/mirage/scenarios/default.js" : "mirage/scenarios/default.js"; + let scenarioLine = '\tserver.createList\(\''+entityName+'\', 15\);\n'; + if (!fs.existsSync(mirageScenarioPath)) { + this.ui.writeLine("Creating file "+mirageScenarioPath); + let scenarioContent = "export default function(server) {\n"+scenarioLine+"}\n"; + fs.writeFileSync(mirageScenarioPath, scenarioContent, 'utf-8', 'w+'); + } else { + addLineToFile(this, mirageScenarioPath, /export default function\(server\) {/, scenarioLine); + } + + // Complete /mirage/config.js + let mirageConfigPath = (options.dummy) ? "tests/dummy/mirage/config.js" : "mirage/config.js"; + let configLine = "this.get('/"+inflection.pluralize(entityName)+"', '"+inflection.pluralize(entityName)+"');\n" + if (!fs.existsSync(mirageConfigPath)) { + this.ui.writeLine("Creating file "+mirageConfigPath); + let configContent = "export default function() {\n\tthis.namespace = '';\n"+configLine+"}\n"; + fs.writeFileSync(mirageConfigPath, configContent, 'utf-8','w+'); + } else { + addLineToFile(this, mirageConfigPath, /this\.namespace = \'\';/, configLine); + } + + // Add route in router.js for the entity page + let routerPath = (options.dummy) ? "tests/dummy/app/router.js" : "app/router.js"; + let routeName = '\tthis.route\(\''+blueprintName+'/'+entityName+'\'\);'; + addLineToFile(this, routerPath, /Router\.map\(function\(\) {/, routeName); + } +}; + +function addLineToFile(ctx, filePath, markerString, addedLine) { + let fileContents = fs.readFileSync(filePath, 'utf-8'); + + if (fileContents.indexOf(addedLine) === -1) { + ctx.ui.writeLine("\tAdd line "+addedLine+" to file "+filePath); + fileContents = fileContents.replace(markerString, [ + '$&', + addedLine, + ].join('\n')); + } + if (fileContents.indexOf(addedLine) === -1) { + ctx.ui.writeWarnLine( + 'Unable to update '+filePath+'. You should update this file manually.'); + } else { + fs.writeFileSync(filePath, fileContents, 'utf-8'); + } +} + +function dsAttr(name, type) { + switch (type) { + case 'belongs-to': + return "DS.belongsTo('" + name + "')"; + case 'has-many': + return "DS.hasMany('" + name + "')"; + case '': + //"If you don't specify the type of the attribute, it will be whatever was provided by the server" + //https://emberjs.com/guides/models/defining-models/ + return 'DS.attr()'; + default: + return "DS.attr('" + type + "')"; + } +} + +const fakerize = (type) => { + let typeFake + switch (type) { + case 'boolean': + typeFake = 'faker.random.boolean()' + break + case 'date': + typeFake = 'faker.date.past()' + break + case 'number': + typeFake = 'faker.random.number({min: 0,max: 10000})' + break + case 'string': + typeFake = 'faker.name.findName()' + break + default: + return null + } + return ' () {\n\t\treturn ' + typeFake + '\n\t}' +} + +const relFunction = (str) => { + if (/has-many/.test(str)) { + return ': hasMany()' + } + if (/belongs-to/.test(str)) { + return ': belongsTo()' + } +} \ No newline at end of file diff --git a/blueprints/jdl-importer/files/__cloud__/.deployed_entities.json b/blueprints/jdl-importer/files/__cloud__/.deployed_entities.json new file mode 100644 index 0000000..e549dc7 --- /dev/null +++ b/blueprints/jdl-importer/files/__cloud__/.deployed_entities.json @@ -0,0 +1 @@ +<%= JSON.stringify(templateAws.entities) %> diff --git a/blueprints/jdl-importer/index.js b/blueprints/jdl-importer/index.js new file mode 100644 index 0000000..d350a02 --- /dev/null +++ b/blueprints/jdl-importer/index.js @@ -0,0 +1,224 @@ +/* eslint-env node */ + +const fs = require('fs-extra'); +const jhipster = require('jhipster-core'); + +module.exports = { + name: 'jdlimporter', + fileName: '', + description: '', + SEPARATOR: ';', + entities: {}, + + normalizeEntityName(entityName) { + // Normalize and validate entity name here. + this.fileName = entityName; + return entityName; + }, + + beforeInstall(options) { + this.ui.writeLine("afterInstall processing for jdlimporter module with file "+this.fileName); + // TODO Check options contains a link on a JDL file + + // Parse provided JDL file + var files= this.fileName.split(this.SEPARATOR); + var jdlModel = jhipster.parseFromFiles(files); + //this.ui.writeLine(JSON.stringify(jdlModel)); + + entities = jdlModel.entities; + for (var i=0; i<entities.length;i++) { + // Add an array field to further hold relationships + entities[i].relationships = []; + } + let relationships = jdlModel.relationships; + this.ui.writeLine("many-to-one"); + relationships.filter(relation => /many-to-one/.test(relation.cardinality)).forEach(relation => { + // DS.belongsTo + DS.hasMany + this.ui.writeLine("\t"+JSON.stringify(relation)); + let fromObject = relation.from; + let toObject = relation.to; + entities.filter(entity => fromObject.name === entity.name).forEach(entity => { + //BelongsTo + let rel = {type: "DS.belongsTo", injectedField: fromObject.injectedField, required: fromObject.required}; + entity.relationships.push(rel); + }); + entities.filter(entity => toObject.name === entity.name).forEach(entity => { + //hasMany + let rel = {type: "DS.hasMany"}; + entity.relationships.push(rel); + }); + }); + this.ui.writeLine("one-to-many"); + relationships.filter(relation => /one-to-many/.test(relation.cardinality)).forEach(relation => { + // DS.hasMany + DS.belongsTo + this.ui.writeLine("\t"+JSON.stringify(relation)); + }); + this.ui.writeLine("many-to-many"); + relationships.filter(relation => /many-to-many/.test(relation.cardinality)).forEach(relation => { + // DS.hasMany + this.ui.writeLine("\t"+JSON.stringify(relation)); + }); + this.ui.writeLine("one-to-one"); + relationships.filter(relation => /one-to-one/.test(relation.cardinality)).forEach(relation => { + // DS.belongsTo + this.ui.writeLine("\t"+JSON.stringify(relation)); + }); + }, + + locals: function(options) { + const templateAws = fs.readFileSync('./template.json', 'utf-8'); //require('json:./template.json').default(options.target); + const usingProxy = "const usingProxy = () => {\n var usingProxyArg = !!process.argv.filter(function(arg) {\n return arg.indexOf('--proxy') === 0 || arg.indexOf('-pr') === 0 || arg.indexOf('-pxy') === 0;\n }).length;\n\n var hasGeneratedProxies = false;\n var proxiesDir = process.env.PWD + '/server/proxies';\n try {\n fs.lstatSync(proxiesDir);\n hasGeneratedProxies = true;\n } catch (e) {}\n\n return usingProxyArg || hasGeneratedProxies;\n}"; + }, + + afterInstall(options) { + this.ui.writeLine("Real stuff begins here !"); + // Check ENV value to add AWS stuff + + // Perform extra work here. + } +}; + +const getAllMapping = (conf) => { + const json = { + "TableName": conf.pluralName + } + return JSON.stringify(json) +} + +const getMapping = (conf) => { + const json = { + "TableName": conf.pluralName, + "KeyConditionExpression": "id = :v1", + "ExpressionAttributeValues": { + ":v1": { + "N": "$input.params('id')" + } + } + } + return JSON.stringify(json) +} + +const postMapping = (conf) => { + const json = { + "TableName": conf.pluralName, + "Item": { + "id": { + "N": "$input.path('$.id')" + } + } + } + + Object.keys(conf.options).forEach(attr => { + const inputPath = "$input.path('$." + attr + "')" + let type + if (conf.options[attr] === "string") { + type = { + "S": inputPath + } + } else if (conf.options[attr] === "number") { + type = { + "N": inputPath + } + } + json.Item[attr] = type + }) + return JSON.stringify(json) +} + +const configureTemplate = (confs, template) => { + if (!confs.length > 0) return template + + let ret = JSON.parse(JSON.stringify(template)) + const resources = ret.Resources + + resources.Api.Properties.Name = 'emberBackendEntity' + confs.forEach(conf => { + resources.Resource.Properties.PathPart = conf.pluralName; + resources.myDynamoDBTable.Properties.TableName = conf.pluralName; + + resources.AllTemplateRequestGET.Properties.Integration.RequestTemplates["application/json"] = getAllMapping(conf); + resources.AllTemplateRequestGET.Properties.ResourceId.Ref = conf.name + "AllResource"; + + resources.TemplateRequestGET.Properties.Integration.RequestTemplates["application/json"] = getMapping(conf); + resources.TemplateRequestGET.Properties.ResourceId.Ref = conf.name + "Resource"; + + resources.TemplateRequestPOST.Properties.Integration.RequestTemplates["application/json"] = postMapping(conf); + resources.TemplateRequestPOST.Properties.ResourceId.Ref = conf.name + "Resource"; + + resources.AllResource.DependsOn = conf.name + "Resource"; + resources.AllResource.Properties.ParentId.Ref = conf.name + "Resource"; + + + resources[conf.name + "AllResource"] = JSON.parse(JSON.stringify(resources.AllResource)); + resources[conf.name + "Resource"] = JSON.parse(JSON.stringify(resources.Resource)); + resources[conf.name + "DynamoDBTable"] = JSON.parse(JSON.stringify(resources.myDynamoDBTable)); + resources["All" + conf.name + "RequestGET"] = JSON.parse(JSON.stringify(resources.AllTemplateRequestGET)); + resources[conf.name + "RequestGET"] = JSON.parse(JSON.stringify(resources.TemplateRequestGET)); + resources[conf.name + "RequestPOST"] = JSON.parse(JSON.stringify(resources.TemplateRequestPOST)); + + resources.ApiDeployment.DependsOn = [ + "All" + conf.name + "RequestGET", + conf.name + "RequestGET", + conf.name + "RequestPOST" + ]; + + }) + delete resources.Resource + delete resources.AllResource + delete resources.myDynamoDBTable + delete resources.TemplateRequestGET + delete resources.TemplateRequestPOST + delete resources.AllTemplateRequestGET + + return ret +} + +//const generateTemplate = (url) => { +const generateTemplate = (data) => { + + //const data = require('../../helpers/JdlJSONParser').default(url + '/.jdl') + let entities = data.entities + const template = require('./template.json') + + const rel = data.relations.map(rel => { + if (/one-to-many/.test(rel.relationshipType)) { + return [{ + entity: rel.otherEntityName, + otherEntityName: rel.entityName, + relationName: stringUtils.camelize('belongs-to-' + rel.relationshipName + '-' + rel.otherEntityName) + }] + } + if (/many-to-one/.test(rel.relationshipType)) { + return [{ + entity: rel.entityName, + otherEntityName: rel.otherEntityName, + relationName: stringUtils.camelize('belongs-to-' + rel.relationshipName + '-' + rel.entityName) + }] + } + if (/one-to-one/.test(rel.relationshipType)) { + return [{ + entity: rel.entityName, + otherEntityName: rel.otherEntityName, + relationName: stringUtils.camelize('belongs-to-' + rel.relationshipName + '-' + rel.entityName) + }, + { + entity: rel.otherEntityName, + otherEntityName: rel.entityName, + relationName: stringUtils.camelize('belongs-to-' + rel.relationshipName + '-' + rel.otherEntityName) + } + ] + } + }).reduce((acc, el) => acc.concat(el), []) + rel.forEach(relation => { + let index = entities.findIndex(ent => relation.entity.localeCompare(ent.name) == 0) + if ((index > 0)) { + entities[index].options[relation.relationName] = 'number' + } + }) + const generatedFile = configureTemplate(entities, template) + + return { + template: generatedFile, + entities + } +} diff --git a/cloud/lambda-jsonapi.js b/cloud/lambda-jsonapi.js new file mode 100644 index 0000000..19013c5 --- /dev/null +++ b/cloud/lambda-jsonapi.js @@ -0,0 +1,296 @@ +'use strict'; + +const AWS = require('aws-sdk'); + +// BEGIN : To be removed from lambda deployment +AWS.config.update({region:'us-east-1'}); +const msgPut = { + "body-json": { + "data": { + "type": "photos", + "attributes": { + "title": "Ember Hamster", + "src": "http://example.com/images/productivity.png" + }, + "relationships": { + "photographer": { + "data": { "type": "people", "id": "9" } + } + } + } + }, + "params": { + "path": { + "type": "photos" + }, + "querystring": {}, + "header": { + "Accept": "*/*", + "accept-encoding": "gzip, deflate", + "cache-control": "no-cache", + "Content-Type": "application/json", + "Host": "9o6yk638sk.execute-api.us-east-1.amazonaws.com", + "Postman-Token": "ca9ccefd-42e1-4bad-85bd-620050ef1770", + "User-Agent": "PostmanRuntime/7.4.0", + "X-Amz-Date": "20181122T091255Z", + "X-Amzn-Trace-Id": "Root=1-5bf67317-3e732e202ed67512573c7ca4", + "X-Forwarded-For": "195.5.224.170", + "X-Forwarded-Port": "443", + "X-Forwarded-Proto": "https" + } + }, + "stage-variables": {}, + "context": { + "account-id": "", + "api-id": "9o6yk638sk", + "api-key": "", + "authorizer-principal-id": "", + "caller": "", + "cognito-authentication-provider": "", + "cognito-authentication-type": "", + "cognito-identity-id": "", + "cognito-identity-pool-id": "", + "httpMethod": "POST", + "stage": "default", + "source-ip": "195.5.224.170", + "user": "", + "user-agent": "PostmanRuntime/7.4.0", + "user-arn": "", + "request-id": "cc5001d5-ee36-11e8-8ae7-273051a62acd", + "resource-id": "anwfak", + "resource-path": "/EmberDataServerless/{type}" + } +}; +// END + +const dynamo = new AWS.DynamoDB.DocumentClient(); +const tableName = 'EmberDataServerlessTable'; +const EPOCH = 1300000000000; + +// Instagram inspired --> https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c +function generateRowId(subid) { + var ts = new Date().getTime() - EPOCH; // limit to recent + // 41 bits for time in milliseconds (gives us 41 years of IDs with a custom epoch + var randid = Math.floor(Math.random() * 512); + ts = (ts * 64); // bit-shift << 6 + // Given shard (if any...) + ts = ts + subid; + // random value + return (ts * 512) + (randid % 512); +} + +const createObject = (obj) => { + let objout = { "type": obj.ObjectType, + "id": obj.Id, + "attributes": {}, + "relationships": {} + }; + for (var attr in obj) { + if (attr !== 'ObjectType' && attr !== 'Id') { + if(!attr.endsWith('_id')) { + objout.attributes[attr] = obj[attr]; + } else { + let relationDetails = attr.split('_'); + let relationId = Number(obj[attr]); + objout.relationships[relationDetails[0]] = { + "links": { + "self": "/"+obj.ObjectType+"/"+obj.Id+"/relationships/"+relationDetails[0], + "related": "/"+obj.ObjectType+"/"+obj.Id+"/"+relationDetails[0] + }, + "data": {"type": relationDetails[1], "id": relationId} + }; + // TODO what's about if relation is not a belongsTo but a hasMany... + } + } + } + return objout; +} + +const createData = (data) => { + if (Array.isArray(data)) { + let outdata = []; + for (let i=0;i<data.length;i++){ + outdata.push(createObject(data[i])); + } + return outdata; + } else { + return createObject(data); + } +} + +const createRelationships = (data) => { + return {}; +} + +const createResponse = (statusCode, body) => { + return { + 'statusCode': statusCode, + 'data': createData(body), + 'relationships': createRelationships(body) + } +}; + +const getMethod = (event, context, callback) => { + + let params = { + TableName: tableName, + }, + type = event.params.path.type, + id = Number(event.params.path.id), + dbGet = {}; + + if (id) { + params.Key = { + 'ObjectType': type, + 'Id': id + }; + dbGet = (params) => { return dynamo.get(params).promise() }; + console.log('EmberDataServerless lambda GET single value with params: ', params); + + } else { + params.KeyConditionExpression = 'ObjectType = :objectType'; + params.ExpressionAttributeValues = { ':objectType': type }; + dbGet = (params) => { return dynamo.query(params).promise() }; + console.log('EmberDataServerless lambda GET multiple values with params: ', params); + } + + dbGet(params).then( (data) => { + console.log('EmberDataServerless lambda GET data received: ', data); + + if (id && !data.Item) { + callback(null, createResponse(404, "ITEM NOT FOUND")); + return; + } else if (id && data.Item) { + console.log(`RETRIEVED ITEM SUCCESSFULLY WITH doc = ${data.Item}`); + callback(null, createResponse(200, data.Item)); + } else { + console.log('SCANNING TABLE'); + console.log(`RETRIEVED ITEMS SUCCESSFULLY WITH doc = ${data.Items}`); + callback(null, createResponse(200, data.Items)); + } + + }).catch( (err) => { + console.log(`GET ITEM FAILED FOR Entry = ${params}, WITH ERROR: ${err}`); + callback(null, createResponse(500, err)); + }); +}; + +const putMethod = (event, context, callback) => { + const body=event['body-json']; + const attrs = body.data.attributes; + const relations = body.data.relationships; + // Without any body content, there is nothing to put... + if (!body || !attrs) { + callback(null, createResponse(500, 'No content found in body')); + return; + } + // Retrieving the type and generating a new id for created item + let type = event.params.path.type, + id = generateRowId(1); + // Final content contains at least these two fields + the atributes + let content = { + "ObjectType": type, + "Id": id + }; + // Adding attributes as column in dynamoDb + for (var prop in attrs) { + content[prop] = attrs[prop]; + } + // Dealing with relationships if any + if (relations){ + for (var relName in relations) { + let relData = relations[relName]["data"]; + let newCol; + if (!Array.isArray(relData)) { + newCol = relName+'_'+relData["type"]+'_id'; + content[newCol] = relData["id"]; + } else { + for (var i=0; i<relData.length;i++){ + let currentData = relData[i]; + newCol = relName+'_'+currentData["type"]+'_id'; + content[newCol] = currentData["id"]; + } + } + } + } + + const entry = { + TableName: 'EmberDataServerlessTable', + Item: content + }; + console.log('Try saving entity of type '+type+' and content '+JSON.stringify(entry)); + //let dbPut = (entry) => { return dynamo.put(entry).promise() }; + dynamo.put(entry, function(err, data) { + if (err) { + console.log("Error", err); + callback(null, createResponse(500, 'Error '+err)); + } else { + body.data.id = id; + body['statusCode'] = 200; + console.log(`PUT ITEM SUCCEEDED WITH data=`+JSON.stringify(body)); + callback(null, body); + } + }); +}; + +const deleteMethod = (event, context, callback) => { + let type = event.params.path.type, + id = Number(event.params.path.id), + params = { + 'TableName': tableName, + 'Key': { + 'ObjectType': type, + 'Id': id + }, + 'ReturnValues': 'ALL_OLD' + }; + let dbDelete = (params) => { return dynamo.delete(params).promise() }; + dbDelete(params).then( (data) => { + if (!data.Attributes) { + callback(null, createResponse(404, "ITEM NOT FOUND FOR DELETION")); + return; + } + console.log(`DELETED ITEM OF TYPE ${type} SUCCESSFULLY WITH id = ${id}`); + callback(null, createResponse(200,data)); + }).catch( (err) => { + console.log(`DELETE ITEM OF TYPE ${type} FAILED FOR id = ${id}, WITH ERROR: ${err}`); + callback(null, createResponse(500, err)); + }); +}; + + +const callback = (evt, msg) => {console.log(msg);}; + +//putMethod(msgPut,{},callback); + +const msgGet = { + "params": { + "path": { + "type": "photos" + }, + "querystring": {}, + "header": {} + }, + "context": { + "httpMethod": "GET", + "account-id": "995466093880", + "api-id": "9o6yk638sk", + "api-key": "test-invoke-api-key", + "authorizer-principal-id": "", + "caller": "995466093880", + "cognito-authentication-provider": "", + "cognito-authentication-type": "", + "cognito-identity-id": "", + "cognito-identity-pool-id": "", + "stage": "test-invoke-stage", + "source-ip": "test-invoke-source-ip", + "user": "995466093880", + "user-agent": "aws-internal/3 aws-sdk-java/1.11.447 Linux/4.9.124-0.1.ac.198.71.329.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.192-b12 java/1.8.0_192", + "user-arn": "arn:aws:iam::995466093880:root", + "request-id": "b2b534a0-ef42-11e8-bbf2-b564234403bf", + "resource-id": "anwfak", + "resource-path": "/EmberDataServerless/{type}" + } +}; + +getMethod(msgGet,{},callback) \ No newline at end of file diff --git a/app/.gitkeep b/cloud/lambda/index.js similarity index 100% rename from app/.gitkeep rename to cloud/lambda/index.js diff --git a/cloud/xmind/API Gateway.xmind b/cloud/xmind/API Gateway.xmind new file mode 100644 index 0000000000000000000000000000000000000000..c939d5e7dcee43dfcc2be868ef53157f35f8479d GIT binary patch literal 26648 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 Wmz1_{qn@@E{1X6U`(R4_>;C{e!B4XQ literal 0 HcmV?d00001 diff --git a/cloud/xmind/JSON-API.xmind b/cloud/xmind/JSON-API.xmind new file mode 100644 index 0000000000000000000000000000000000000000..131b64b65e6dc34cf750d417c7162979132a8702 GIT binary patch literal 60076 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 E0Q}bFvH$=8 literal 0 HcmV?d00001 diff --git a/ember-cli-build.js b/ember-cli-build.js index dc5a39e..6863255 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -4,7 +4,11 @@ const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); module.exports = function(defaults) { let app = new EmberAddon(defaults, { - // Add options here + 'ember-bootstrap': { + 'bootstrapVersion': 4, + 'importBootstrapFont': false, + 'importBootstrapCSS': true + } }); /* diff --git a/jdl/blog.jh b/jdl/blog.jh new file mode 100644 index 0000000..8c88911 --- /dev/null +++ b/jdl/blog.jh @@ -0,0 +1,26 @@ +entity Blog { + name String required minlength(3), + handle String required minlength(2) +} + +entity Entry { + title String required, + content TextBlob required, + date Instant required +} + +entity Tag { + name String required minlength(2) +} + +relationship ManyToOne { + Blog{user(login)} to User, + Entry{blog(name)} to Blog +} + +relationship ManyToMany { + Entry{tag(name)} to Tag{entry} +} + +paginate Entry, Tag with infinite-scroll + diff --git a/jdl/online-shop.jh b/jdl/online-shop.jh new file mode 100644 index 0000000..da66398 --- /dev/null +++ b/jdl/online-shop.jh @@ -0,0 +1,60 @@ +enum CategoryStatus { + AVAILABLE, RESTRICTED, DISABLED +} + +entity Category { + description String required, + sortOrder Integer, + dateAdded LocalDate, + dateModified LocalDate, + status CategoryStatus +} + +entity Product { + title String required, + keywords String, + description String, + rating Integer, + dateAdded LocalDate, + dateModified LocalDate +} + +entity Customer { + firstName String, + lastName String, + email String, + telephone String +} + +entity Address { + address1 String, + address2 String, + city String, + postcode String required maxlength(10), + country String required maxlength(2) +} + +entity WishList { + title String required, + restricted Boolean +} + +relationship OneToMany { + Customer{wishList(title)} to WishList{customer}, + WishList{product(title)} to Product{wishList}, + Customer{address} to Address{customer} +} + +relationship ManyToOne { + Category{parent} to Category +} + +relationship ManyToMany { + Category{product(title)} to Product{category} +} + +paginate Customer, Product, Category with pagination +paginate Address with pager +paginate Product with infinite-scroll + +service Category with serviceClass diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..f408cac --- /dev/null +++ b/jsconfig.json @@ -0,0 +1 @@ +{"compilerOptions":{"target":"es6","experimentalDecorators":true},"exclude":["node_modules","bower_components","tmp","vendor",".git","dist"]} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 30a584f..f034738 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,18 @@ { "name": "ember-aws-ehipster", - "version": "0.0.0", + "version": "0.0.4", "lockfileVersion": 1, "requires": true, "dependencies": { + "@ember/ordered-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@ember/ordered-set/-/ordered-set-2.0.3.tgz", + "integrity": "sha512-F4yfVk6WMc4AUHxeZsC3CaKyTvO0qSZJy7WWHCFTlVDQw6vubn+FvnGdhzpN1F00EiXMI4Tv1tJdSquHcCnYrA==", + "requires": { + "ember-cli-babel": "^6.16.0", + "ember-compatibility-helpers": "^1.1.1" + } + }, "@ember/test-helpers": { "version": "0.7.27", "resolved": "https://registry.npmjs.org/@ember/test-helpers/-/test-helpers-0.7.27.tgz", @@ -37,6 +46,213 @@ "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", "dev": true }, + "@types/acorn": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.3.tgz", + "integrity": "sha512-gou/kWQkGPMZjdCKNZGDpqxLm9+ErG/pFZKPX4tvCjr0Xf4FCYYX3nAsu7aDVKJV3KUe27+mvqqyWT/9VZoM/A==", + "requires": { + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "@types/node": { + "version": "9.6.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.36.tgz", + "integrity": "sha512-Fbw+AdRLL01vv7Rk7bYaNPecqmKoinJHGbpKnDpbUZmUj/0vj3nLqPQ4CNBzr3q2zso6Cq/4jHoCAdH78fvJrw==" + }, + "@webassemblyjs/ast": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz", + "integrity": "sha512-wTUeaByYN2EA6qVqhbgavtGc7fLTOx0glG2IBsFlrFG51uXIGlYBTyIZMf4SPLo3v1bgV/7lBN3l7Z0R6Hswew==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/wast-parser": "1.7.10" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.10.tgz", + "integrity": "sha512-gMsGbI6I3p/P1xL2UxqhNh1ga2HCsx5VBB2i5VvJFAaqAjd2PBTRULc3BpTydabUQEGlaZCzEUQhLoLG7TvEYQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.10.tgz", + "integrity": "sha512-DoYRlPWtuw3yd5BOr9XhtrmB6X1enYF0/54yNvQWGXZEPDF5PJVNI7zQ7gkcKfTESzp8bIBWailaFXEK/jjCsw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.10.tgz", + "integrity": "sha512-+RMU3dt/dPh4EpVX4u5jxsOlw22tp3zjqE0m3ftU2tsYxnPULb4cyHlgaNd2KoWuwasCQqn8Mhr+TTdbtj3LlA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.10.tgz", + "integrity": "sha512-UiytbpKAULOEab2hUZK2ywXen4gWJVrgxtwY3Kn+eZaaSWaRM8z/7dAXRSoamhKFiBh1uaqxzE/XD9BLlug3gw==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.7.10" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.10.tgz", + "integrity": "sha512-w2vDtUK9xeSRtt5+RnnlRCI7wHEvLjF0XdnxJpgx+LJOvklTZPqWkuy/NhwHSLP19sm9H8dWxKeReMR7sCkGZA==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.10.tgz", + "integrity": "sha512-yE5x/LzZ3XdPdREmJijxzfrf+BDRewvO0zl8kvORgSWmxpRrkqY39KZSq6TSgIWBxkK4SrzlS3BsMCv2s1FpsQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.10.tgz", + "integrity": "sha512-u5qy4SJ/OrxKxZqJ9N3qH4ZQgHaAzsopsYwLvoWJY6Q33r8PhT3VPyNMaJ7ZFoqzBnZlCcS/0f4Sp8WBxylXfg==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.10.tgz", + "integrity": "sha512-Ecvww6sCkcjatcyctUrn22neSJHLN/TTzolMGG/N7S9rpbsTZ8c6Bl98GpSpV77EvzNijiNRHBG0+JO99qKz6g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.10.tgz", + "integrity": "sha512-HRcWcY+YWt4+s/CvQn+vnSPfRaD4KkuzQFt5MNaELXXHSjelHlSEA8ZcqT69q0GTIuLWZ6JaoKar4yWHVpZHsQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.10.tgz", + "integrity": "sha512-og8MciYlA8hvzCLR71hCuZKPbVBfLQeHv7ImKZ4nlyxrYbG7uJHYtHiHu6OV9SqrGuD03H/HtXC4Bgdjfm9FHw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.1" + } + }, + "@webassemblyjs/utf8": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.10.tgz", + "integrity": "sha512-Ng6Pxv6siyZp635xCSnH3mKmIFgqWPCcGdoo0GBYgyGdxu7cUj4agV7Uu1a8REP66UYUFXJLudeGgd4RvuJAnQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.10.tgz", + "integrity": "sha512-e9RZFQlb+ZuYcKRcW9yl+mqX/Ycj9+3/+ppDI8nEE/NCY6FoK8f3dKBcfubYV/HZn44b+ND4hjh+4BYBt+sDnA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/helper-wasm-section": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10", + "@webassemblyjs/wasm-opt": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10", + "@webassemblyjs/wast-printer": "1.7.10" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.10.tgz", + "integrity": "sha512-M0lb6cO2Y0PzDye/L39PqwV+jvO+2YxEG5ax+7dgq7EwXdAlpOMx1jxyXJTScQoeTpzOPIb+fLgX/IkLF8h2yw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/ieee754": "1.7.10", + "@webassemblyjs/leb128": "1.7.10", + "@webassemblyjs/utf8": "1.7.10" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.10.tgz", + "integrity": "sha512-R66IHGCdicgF5ZliN10yn5HaC7vwYAqrSVJGjtJJQp5+QNPBye6heWdVH/at40uh0uoaDN/UVUfXK0gvuUqtVg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-buffer": "1.7.10", + "@webassemblyjs/wasm-gen": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.10.tgz", + "integrity": "sha512-AEv8mkXVK63n/iDR3T693EzoGPnNAwKwT3iHmKJNBrrALAhhEjuPzo/lTE4U7LquEwyvg5nneSNdTdgrBaGJcA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-api-error": "1.7.10", + "@webassemblyjs/helper-wasm-bytecode": "1.7.10", + "@webassemblyjs/ieee754": "1.7.10", + "@webassemblyjs/leb128": "1.7.10", + "@webassemblyjs/utf8": "1.7.10" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.10.tgz", + "integrity": "sha512-YTPEtOBljkCL0VjDp4sHe22dAYSm3ZwdJ9+2NTGdtC7ayNvuip1wAhaAS8Zt9Q6SW9E5Jf5PX7YE3XWlrzR9cw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/floating-point-hex-parser": "1.7.10", + "@webassemblyjs/helper-api-error": "1.7.10", + "@webassemblyjs/helper-code-frame": "1.7.10", + "@webassemblyjs/helper-fsm": "1.7.10", + "@xtuc/long": "4.2.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.7.10", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.10.tgz", + "integrity": "sha512-mJ3QKWtCchL1vhU/kZlJnLPuQZnlDOdZsyP0bbLWPGdYsQDnSBvyTLhzwBA3QAMlzEL9V4JHygEmK6/OTEyytA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/wast-parser": "1.7.10", + "@xtuc/long": "4.2.1" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", + "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", + "dev": true + }, + "abab": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==" + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -56,8 +272,31 @@ "acorn": { "version": "5.7.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + }, + "acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "requires": { + "acorn": "^5.0.0" + } + }, + "acorn-globals": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", + "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz", + "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==" + } + } }, "acorn-jsx": { "version": "3.0.1", @@ -76,6 +315,11 @@ } } }, + "acorn-walk": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.0.tgz", + "integrity": "sha512-ugTb7Lq7u4GfWSqqpwE0bGyoBZNMTok/zDBXxfEG0QM50jNlGhIWjRC1pPN7bvV1anhF+bs+/gNcRw+o55Evbg==" + }, "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", @@ -237,8 +481,7 @@ "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 + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "arr-union": { "version": "3.1.0", @@ -311,6 +554,56 @@ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "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, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -352,11 +645,16 @@ } } }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, "async-limiter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", - "dev": true + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" }, "async-promise-queue": { "version": "1.0.4", @@ -367,12 +665,74 @@ "debug": "^2.6.8" } }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, + "aws-sdk": { + "version": "2.361.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.361.0.tgz", + "integrity": "sha512-dS6R7Ox5IKe1fpNAymaQSumLri6Eq7Gl4qgY4++cbARhMnqCes8f2jpoctlgJB+oZKiZITj2G9bHh5OIKRMlzA==", + "requires": { + "buffer": "4.9.1", + "events": "1.1.1", + "ieee754": "1.1.8", + "jmespath": "0.15.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.1.0", + "xml2js": "0.4.19" + }, + "dependencies": { + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "sax": { + "version": "1.2.1", + "resolved": "http://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -588,6 +948,16 @@ "ember-rfc176-data": "^0.3.5" } }, + "babel-plugin-feature-flags": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-feature-flags/-/babel-plugin-feature-flags-0.3.1.tgz", + "integrity": "sha1-nIJ8+aTrmhn3JcyyOehcqwIDb8E=" + }, + "babel-plugin-filter-imports": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-filter-imports/-/babel-plugin-filter-imports-0.3.1.tgz", + "integrity": "sha1-54WbVohrF13SYWQl0neyGeIJ6os=" + }, "babel-plugin-htmlbars-inline-precompile": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/babel-plugin-htmlbars-inline-precompile/-/babel-plugin-htmlbars-inline-precompile-0.2.6.tgz", @@ -599,6 +969,12 @@ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", @@ -974,6 +1350,16 @@ "to-fast-properties": "^1.0.3" } }, + "babel6-plugin-strip-class-callcheck": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel6-plugin-strip-class-callcheck/-/babel6-plugin-strip-class-callcheck-6.0.0.tgz", + "integrity": "sha1-3oQcGr6705943gr/ssmlLuIo/d8=" + }, + "babel6-plugin-strip-heimdall": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/babel6-plugin-strip-heimdall/-/babel6-plugin-strip-heimdall-6.0.1.tgz", + "integrity": "sha1-NfgO3ewff//cAJgR371G2ZZQcrY=" + }, "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", @@ -1060,6 +1446,11 @@ "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", "dev": true }, + "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==" + }, "base64id": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", @@ -1075,6 +1466,14 @@ "safe-buffer": "5.1.2" } }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, "better-assert": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", @@ -1084,6 +1483,18 @@ "callsite": "1.0.0" } }, + "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 + }, + "binary-extensions": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", + "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", + "dev": true + }, "binaryextensions": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.1.tgz", @@ -1106,6 +1517,12 @@ "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==", "dev": true }, + "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 + }, "body": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", @@ -1154,6 +1571,29 @@ "type-is": "~1.6.16" } }, + "bootstrap": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.1.3.tgz", + "integrity": "sha512-rDFIzgXcof0jDyjNosjv4Sno77X4KuPeFxG2XZZv1/Kc8DRVGVADdoQyyOVDwPqL36DDmtCQbrpMCqvpPLJQ0w==" + }, + "bops": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/bops/-/bops-0.0.3.tgz", + "integrity": "sha1-xcv2/qi+dAHKXqbRZ55sTotAfHk=", + "dev": true, + "requires": { + "base64-js": "0.0.2", + "to-utf8": "0.0.1" + }, + "dependencies": { + "base64-js": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz", + "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q=", + "dev": true + } + } + }, "bower-config": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-1.4.1.tgz", @@ -1410,7 +1850,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/broccoli-file-creator/-/broccoli-file-creator-1.2.0.tgz", "integrity": "sha512-l9zthHg6bAtnOfRr/ieZ1srRQEsufMZID7xGYRW3aBDv3u/3Eux+Iawl10tAGYE5pL9YB4n5X4vxkp6iNOoZ9g==", - "dev": true, "requires": { "broccoli-plugin": "^1.1.0", "mkdirp": "^0.5.1" @@ -1568,6 +2007,24 @@ "symlink-or-copy": "^1.1.8" } }, + "broccoli-rollup": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/broccoli-rollup/-/broccoli-rollup-2.1.1.tgz", + "integrity": "sha512-aky/Ovg5DbsrsJEx2QCXxHLA6ZR+9u1TNVTf85soP4gL8CjGGKQ/JU8R3BZ2ntkWzo6/83RCKzX6O+nlNKR5MQ==", + "requires": { + "@types/node": "^9.6.0", + "amd-name-resolver": "^1.2.0", + "broccoli-plugin": "^1.2.1", + "fs-tree-diff": "^0.5.2", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "magic-string": "^0.24.0", + "node-modules-path": "^1.0.1", + "rollup": "^0.57.1", + "symlink-or-copy": "^1.1.8", + "walk-sync": "^0.3.1" + } + }, "broccoli-slow-trees": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/broccoli-slow-trees/-/broccoli-slow-trees-3.0.1.tgz", @@ -1666,7 +2123,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/broccoli-stew/-/broccoli-stew-1.6.0.tgz", "integrity": "sha512-sUwCJNnYH4Na690By5xcEMAZqKgquUQnMAEuIiL3Z2k63mSw9Xg+7Ew4wCrFrMmXMcLpWjZDOm6Yqnq268N+ZQ==", - "dev": true, "requires": { "broccoli-debug": "^0.6.1", "broccoli-funnel": "^2.0.0", @@ -1688,7 +2144,6 @@ "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, "requires": { "color-convert": "^1.9.0" } @@ -1697,7 +2152,6 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -1708,7 +2162,6 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -1716,20 +2169,27 @@ "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" }, "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, "requires": { "has-flag": "^3.0.0" } } } }, + "broccoli-string-replace": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/broccoli-string-replace/-/broccoli-string-replace-0.1.2.tgz", + "integrity": "sha1-HtkvhWgK+NUDAjkl51Tk4zZ2uR8=", + "requires": { + "broccoli-persistent-filter": "^1.1.5", + "minimatch": "^3.0.3" + } + }, "broccoli-uglify-sourcemap": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/broccoli-uglify-sourcemap/-/broccoli-uglify-sourcemap-2.2.0.tgz", @@ -1772,6 +2232,96 @@ } } }, + "broccoli-unwatched-tree": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/broccoli-unwatched-tree/-/broccoli-unwatched-tree-0.1.3.tgz", + "integrity": "sha1-qw+4IPYThFv2eoA7qtgg9oseOq4=", + "requires": { + "broccoli-source": "^1.1.0" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "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, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "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, + "requires": { + "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" + } + }, + "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, + "requires": { + "pako": "~1.0.5" + } + }, "browserslist": { "version": "3.2.8", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", @@ -1790,6 +2340,23 @@ "node-int64": "^0.4.0" } }, + "buffer": { + "version": "4.9.1", + "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } + } + }, "buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", @@ -1818,12 +2385,24 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, "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 }, + "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 + }, "builtins": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", @@ -1836,9 +2415,30 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "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, "requires": { @@ -1880,7 +2480,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/calculate-cache-key-for-tree/-/calculate-cache-key-for-tree-1.1.0.tgz", "integrity": "sha1-DD5CycE088neU1jA8WeTYn6pdtY=", - "dev": true, "requires": { "json-stable-stringify": "^1.0.1" } @@ -1952,6 +2551,12 @@ } } }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, "cardinal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz", @@ -1962,6 +2567,11 @@ "redeyed": "~1.0.0" } }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, "chalk": { "version": "1.1.3", "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -1989,6 +2599,77 @@ "inherits": "^2.0.1" } }, + "chevrotain": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-4.1.0.tgz", + "integrity": "sha512-iwuK4FOV+vZlvKonoXVw6G+rXJm4jWk17aJFkm6FloVYcVSrAaJLdCdQo+IIyX98jm0WJVcdK9cllRZQpNBnBg==", + "requires": { + "regexp-to-ast": "0.3.5" + } + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "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" + }, + "dependencies": { + "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, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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 + } + } + }, + "chownr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", + "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "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, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", @@ -2065,6 +2746,11 @@ "pinkie-promise": "^2.0.0" } }, + "clean-up-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-up-path/-/clean-up-path-1.0.0.tgz", + "integrity": "sha512-PHGlEF0Z6976qQyN6gM7kKH6EH0RdfZcc8V+QhFe36eRxV0SMH5OUBZG7Bxa9YcreNzyNbK63cGiZxdSZgosRw==" + }, "cli-cursor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", @@ -2089,15 +2775,15 @@ "colors": "1.0.3" } }, - "cli-table2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/cli-table2/-/cli-table2-0.2.0.tgz", - "integrity": "sha1-LR738hig54biFFQFYtS9F3/jLZc=", + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", "dev": true, "requires": { "colors": "^1.1.2", - "lodash": "^3.10.1", - "string-width": "^1.0.1" + "object-assign": "^4.1.0", + "string-width": "^2.1.1" }, "dependencies": { "colors": { @@ -2106,32 +2792,6 @@ "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==", "dev": true, "optional": true - }, - "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, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "lodash": { - "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } } } }, @@ -2177,11 +2837,19 @@ "object-visit": "^1.0.0" } }, + "color": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", + "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -2189,8 +2857,21 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colornames": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz", + "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=" }, "colors": { "version": "1.0.3", @@ -2198,6 +2879,23 @@ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true }, + "colorspace": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.1.tgz", + "integrity": "sha512-pI3btWyiuz7Ken0BWh9Elzsmv2bM9AhA7psXib4anUXy/orfZ/E0MbQwhSOG/9L8hLlalqrU0UhOuqxW1YjmVw==", + "requires": { + "color": "3.0.x", + "text-hex": "1.0.x" + } + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "2.17.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", @@ -2210,6 +2908,12 @@ "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", "dev": true }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", @@ -2315,6 +3019,15 @@ "xdg-basedir": "^3.0.0" } }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -2375,6 +3088,12 @@ "bluebird": "^3.1.1" } }, + "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 + }, "content-disposition": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", @@ -2413,6 +3132,20 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, "copy-dereference": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/copy-dereference/-/copy-dereference-1.0.0.tgz", @@ -2473,8 +3206,53 @@ "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 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "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, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "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" + } }, "cross-spawn": { "version": "5.1.0", @@ -2487,12 +3265,44 @@ "which": "^1.2.9" } }, + "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, + "requires": { + "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" + } + }, "crypto-random-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, + "cssom": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", + "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==" + }, + "cssstyle": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", + "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", + "requires": { + "cssom": "0.3.x" + } + }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -2502,12 +3312,62 @@ "array-find-index": "^1.0.1" } }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, "dag-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-2.0.2.tgz", "integrity": "sha1-lxS0ct6CoYQ94vuptodpOMq0TGg=", "dev": true }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "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 + }, + "date-time": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-2.1.0.tgz", + "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", + "requires": { + "time-zone": "^1.0.0" + } + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -2537,11 +3397,16 @@ "mimic-response": "^1.0.0" } }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "defaults": { "version": "1.0.3", @@ -2624,6 +3489,11 @@ } } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -2636,6 +3506,16 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", @@ -2656,12 +3536,33 @@ "repeating": "^2.0.0" } }, + "diagnostics": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz", + "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==", + "requires": { + "colorspace": "1.1.x", + "enabled": "1.0.x", + "kuler": "1.0.x" + } + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, "doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -2671,6 +3572,20 @@ "esutils": "^2.0.2" } }, + "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 + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "requires": { + "webidl-conversions": "^4.0.2" + } + }, "dot-prop": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", @@ -2680,12 +3595,71 @@ "is-obj": "^1.0.0" } }, + "duplex": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/duplex/-/duplex-1.0.0.tgz", + "integrity": "sha1-arxcFuwX5MV4V4cnEmcAWQ06Ldo=", + "dev": true + }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, + "duplexify": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", + "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, "editions": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", @@ -2702,6 +3676,21 @@ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.83.tgz", "integrity": "sha512-DqJoDarxq50dcHsOOlMLNoy+qQitlMNbYb6wwbE0oUw2veHdRkpNrhmngiUYKMErdJ8SJ48rpJsZTQgy5SoEAA==" }, + "elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "dev": true, + "requires": { + "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" + } + }, "ember-ajax": { "version": "3.1.0", "resolved": "http://registry.npmjs.org/ember-ajax/-/ember-ajax-3.1.0.tgz", @@ -2715,25 +3704,414 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/ember-assign-polyfill/-/ember-assign-polyfill-2.4.0.tgz", "integrity": "sha512-0SnGQb9CenRqbZdIa1KFsEjT+1ijGWfAbCSaDbg5uVa5l6HPdppuTzOXK6sfEQMsd2nbrp27QWFy7W5VX6l4Ag==", - "dev": true, "requires": { "ember-cli-babel": "^6.6.0", "ember-cli-version-checker": "^2.0.0" } }, - "ember-cli": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/ember-cli/-/ember-cli-3.1.4.tgz", - "integrity": "sha512-2MhYzsQbhY8RlXtnpkQ1+X3qkVOMzV1LqQ8IbY+4+88Z8Ys/f0BeXGwpOob36HnjalLCFV5BYdzDdTdFnBtT6w==", + "ember-auto-import": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/ember-auto-import/-/ember-auto-import-1.2.15.tgz", + "integrity": "sha512-L9eyO5b135BXdzNMexhoxkPETBUQCkwp3lp4O2uu+hVEDUe2Z9m+/X8TdTRcuavkeFbQk5bgoXAGPzv4yaPjIg==", "dev": true, "requires": { - "amd-name-resolver": "^1.2.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.0", - "bower-config": "^1.3.0", - "bower-endpoint-parser": "0.2.2", - "broccoli-babel-transpiler": "^6.0.0", - "broccoli-builder": "^0.18.8", - "broccoli-concat": "^3.2.2", + "babel-core": "^6.26.3", + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-template": "^6.26.0", + "babylon": "^6.18.0", + "broccoli-debug": "^0.6.4", + "broccoli-plugin": "^1.3.0", + "debug": "^3.1.0", + "ember-cli-babel": "^6.6.0", + "enhanced-resolve": "^4.0.0", + "fs-extra": "^6.0.1", + "fs-tree-diff": "^0.5.7", + "handlebars": "^4.0.11", + "js-string-escape": "^1.0.1", + "lodash": "^4.17.10", + "mkdirp": "^0.5.1", + "pkg-up": "^2.0.0", + "resolve": "^1.7.1", + "rimraf": "^2.6.2", + "symlink-or-copy": "^1.2.0", + "walk-sync": "^0.3.2", + "webpack": "^4.12.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fs-extra": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", + "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "ember-bootstrap": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ember-bootstrap/-/ember-bootstrap-2.2.0.tgz", + "integrity": "sha512-u3XUa69BSAkrKYMduP4Ar1Uhd9G1UhCgXMhiNL6P4+Md7s4bDjcSazoSEhE+PWUtwoMS+X6hZ770wtuyr8VS/A==", + "requires": { + "broccoli-debug": "^0.6.3", + "broccoli-funnel": "^2.0.0", + "broccoli-merge-trees": "^3.0.1", + "broccoli-stew": "^2.0.0", + "chalk": "^2.1.0", + "ember-assign-polyfill": "^2.0.1", + "ember-cli-babel": "^6.8.2", + "ember-cli-build-config-editor": "0.5.0", + "ember-cli-htmlbars": "^3.0.0", + "ember-cli-version-checker": "^2.1.0", + "ember-concurrency": "^0.8.7", + "ember-in-element-polyfill": "^0.1.2", + "ember-maybe-in-element": "^0.1.3", + "ember-popper": "^0.9.0", + "ember-runtime-enumerable-includes-polyfill": "^2.0.0", + "findup-sync": "^1.0.0", + "fs-extra": "^4.0.1", + "resolve": "^1.5.0", + "rsvp": "^4.0.1", + "silent-error": "^1.0.1" + }, + "dependencies": { + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "broccoli-merge-trees": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-3.0.1.tgz", + "integrity": "sha512-EFPBLbCoyCLdjJx0lxn+acWXK/GAZesXokS4OsF7HuB+WdnV76HVJPdfwp9TaXaUkrtb7eU+ymh9tY9wOGQjMQ==", + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^2.0.0" + } + }, + "broccoli-persistent-filter": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-2.1.1.tgz", + "integrity": "sha512-2VCbLJqMg/AWJ6WTmv83X13a6DD3BS7Gngc932jrg1snVqsB8LJDyJh+Hd9v1tQ/vMA+4vbWgwk4tDmI/tAZWg==", + "requires": { + "async-disk-cache": "^1.2.1", + "async-promise-queue": "^1.0.3", + "broccoli-plugin": "^1.0.0", + "fs-tree-diff": "^0.5.2", + "hash-for-dep": "^1.0.2", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rimraf": "^2.6.1", + "rsvp": "^4.7.0", + "symlink-or-copy": "^1.0.1", + "walk-sync": "^0.3.1" + } + }, + "broccoli-stew": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/broccoli-stew/-/broccoli-stew-2.0.1.tgz", + "integrity": "sha512-EUzgkbYF4m8YVD2bkEa7OfYJ11V3dQ+yPuxdz/nFh8eMEn6dhOujtuSBnOWsvGDgsS9oqNZgx/MHJxI6Rr3AqQ==", + "requires": { + "broccoli-debug": "^0.6.5", + "broccoli-funnel": "^2.0.0", + "broccoli-merge-trees": "^3.0.1", + "broccoli-persistent-filter": "^2.1.1", + "broccoli-plugin": "^1.3.1", + "chalk": "^2.4.1", + "debug": "^3.1.0", + "ensure-posix-path": "^1.0.1", + "fs-extra": "^6.0.1", + "minimatch": "^3.0.4", + "resolve": "^1.8.1", + "rsvp": "^4.8.4", + "symlink-or-copy": "^1.2.0", + "walk-sync": "^0.3.3" + }, + "dependencies": { + "fs-extra": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", + "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "detect-file": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz", + "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", + "requires": { + "fs-exists-sync": "^0.1.0" + } + }, + "ember-cli-htmlbars": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-3.0.1.tgz", + "integrity": "sha512-pyyB2s52vKTXDC5svU3IjU7GRLg2+5O81o9Ui0ZSiBS14US/bZl46H2dwcdSJAK+T+Za36ZkQM9eh1rNwOxfoA==", + "requires": { + "broccoli-persistent-filter": "^1.4.3", + "hash-for-dep": "^1.2.3", + "json-stable-stringify": "^1.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "broccoli-persistent-filter": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/broccoli-persistent-filter/-/broccoli-persistent-filter-1.4.6.tgz", + "integrity": "sha512-0RejLwoC95kv4kta8KAa+FmECJCK78Qgm8SRDEK7YyU0N9Cx6KpY3UCDy9WELl3mCXLN8TokNxc7/hp3lL4lfw==", + "requires": { + "async-disk-cache": "^1.2.1", + "async-promise-queue": "^1.0.3", + "broccoli-plugin": "^1.0.0", + "fs-tree-diff": "^0.5.2", + "hash-for-dep": "^1.0.2", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "mkdirp": "^0.5.1", + "promise-map-series": "^0.2.1", + "rimraf": "^2.6.1", + "rsvp": "^3.0.18", + "symlink-or-copy": "^1.0.1", + "walk-sync": "^0.3.1" + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==" + } + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", + "requires": { + "os-homedir": "^1.0.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "findup-sync": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-1.0.0.tgz", + "integrity": "sha1-b35LV7buOkA3tEFOrt6j9Y9x4Ow=", + "requires": { + "detect-file": "^0.1.0", + "is-glob": "^2.0.1", + "micromatch": "^2.3.7", + "resolve-dir": "^0.1.0" + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", + "requires": { + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" + } + }, + "global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", + "requires": { + "homedir-polyfill": "^1.0.0", + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "which": "^1.2.12" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "merge-trees": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-2.0.0.tgz", + "integrity": "sha512-5xBbmqYBalWqmhYm51XlohhkmVOua3VAUrrWh8t9iOkaLpS6ifqm/UVuUjQCeDVJ9Vx3g2l6ihfkbLSTeKsHbw==", + "requires": { + "fs-updater": "^1.0.4", + "heimdalljs": "^0.2.5" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", + "requires": { + "expand-tilde": "^1.2.2", + "global-modules": "^0.2.3" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "ember-cli": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/ember-cli/-/ember-cli-3.1.4.tgz", + "integrity": "sha512-2MhYzsQbhY8RlXtnpkQ1+X3qkVOMzV1LqQ8IbY+4+88Z8Ys/f0BeXGwpOob36HnjalLCFV5BYdzDdTdFnBtT6w==", + "dev": true, + "requires": { + "amd-name-resolver": "^1.2.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.0", + "bower-config": "^1.3.0", + "bower-endpoint-parser": "0.2.2", + "broccoli-babel-transpiler": "^6.0.0", + "broccoli-builder": "^0.18.8", + "broccoli-concat": "^3.2.2", "broccoli-config-loader": "^1.0.0", "broccoli-config-replace": "^1.1.2", "broccoli-debug": "^0.6.3", @@ -2884,6 +4262,38 @@ } } }, + "ember-cli-build-config-editor": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/ember-cli-build-config-editor/-/ember-cli-build-config-editor-0.5.0.tgz", + "integrity": "sha1-4ZoG9NouPlebQHlkty35+/ODn0s=", + "requires": { + "recast": "^0.12.0" + }, + "dependencies": { + "ast-types": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.10.1.tgz", + "integrity": "sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ==" + }, + "recast": { + "version": "0.12.9", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.12.9.tgz", + "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", + "requires": { + "ast-types": "0.10.1", + "core-js": "^2.4.1", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, "ember-cli-dependency-checker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ember-cli-dependency-checker/-/ember-cli-dependency-checker-2.2.1.tgz", @@ -2950,7 +4360,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/ember-cli-htmlbars/-/ember-cli-htmlbars-2.0.5.tgz", "integrity": "sha512-3f3PAxdnQ/fhQa8XP/3z4RLRgLHxV8j4Ln75aHbRdemOCjBa048KxL9l+acRLhCulbGQCMnLiIUIC89PAzLrcA==", - "dev": true, "requires": { "broccoli-persistent-filter": "^1.4.3", "hash-for-dep": "^1.2.3", @@ -2961,8 +4370,7 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" } } }, @@ -3001,41 +4409,32 @@ "integrity": "sha1-IMtop5D+D94kiN39jvu332/nZvI=", "dev": true }, - "ember-cli-normalize-entity-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-normalize-entity-name/-/ember-cli-normalize-entity-name-1.0.0.tgz", - "integrity": "sha1-CxT3vLxZmqEXtf3cgeT9A8S61bc=", - "dev": true, - "requires": { - "silent-error": "^1.0.0" - } - }, - "ember-cli-path-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ember-cli-path-utils/-/ember-cli-path-utils-1.0.0.tgz", - "integrity": "sha1-Tjmvi1UwHN3FAXc5t3qAT7ogce0=", - "dev": true - }, - "ember-cli-preprocess-registry": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/ember-cli-preprocess-registry/-/ember-cli-preprocess-registry-3.1.2.tgz", - "integrity": "sha512-YJfcDHMBEjtD505CIhM8dtu5FO2Ku+0OTs/0kdLlj9mhXlbzC+k0JAS5c/0AQ+Nh2f+qZZJ8G19ySdzWwTLSCQ==", - "dev": true, + "ember-cli-mirage": { + "version": "0.4.9", + "resolved": "https://registry.npmjs.org/ember-cli-mirage/-/ember-cli-mirage-0.4.9.tgz", + "integrity": "sha512-uBZwRrnLmIWXkiMNxrtwkzg+rA+J/lojfb4JWLARfp8LqB+eBK/K+uPyb6sYO8TS6FXrCdumqFHnDlfVy+4azQ==", "requires": { - "broccoli-clean-css": "^1.1.0", - "broccoli-funnel": "^1.0.0", - "broccoli-merge-trees": "^1.0.0", - "debug": "^2.2.0", - "ember-cli-lodash-subset": "^1.0.7", - "process-relative-require": "^1.0.0", - "silent-error": "^1.0.0" + "broccoli-funnel": "^1.0.2", + "broccoli-merge-trees": "^1.1.0", + "broccoli-stew": "^1.5.0", + "broccoli-string-replace": "^0.1.2", + "chalk": "^1.1.1", + "ember-cli-babel": "^6.8.2", + "ember-cli-node-assets": "^0.1.4", + "ember-get-config": "^0.2.2", + "ember-inflector": "^2.0.0", + "ember-lodash": "^4.17.3", + "fake-xml-http-request": "^1.4.0", + "faker": "^3.0.0", + "jsdom": "^11.12.0", + "pretender": "^1.6.1", + "route-recognizer": "^0.2.3" }, "dependencies": { "broccoli-funnel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", "integrity": "sha1-zdw6/F/xaFqAI0iP/3TOb7WlEpY=", - "dev": true, "requires": { "array-equal": "^1.0.0", "blank-object": "^1.0.1", @@ -3057,7 +4456,6 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-1.2.4.tgz", "integrity": "sha1-oAFRm7UGfwZYnZGvopQkRaLQ/bU=", - "dev": true, "requires": { "broccoli-plugin": "^1.3.0", "can-symlink": "^1.0.0", @@ -3068,11 +4466,131 @@ "rimraf": "^2.4.3", "symlink-or-copy": "^1.0.0" } - }, - "ember-cli-lodash-subset": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/ember-cli-lodash-subset/-/ember-cli-lodash-subset-1.0.12.tgz", - "integrity": "sha1-ry5366XcsNd/MwjTpv19NFD25Tc=", + } + } + }, + "ember-cli-node-assets": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ember-cli-node-assets/-/ember-cli-node-assets-0.1.6.tgz", + "integrity": "sha1-ZIiilJBIyAGtbZ4zdTx7zjL8EUY=", + "requires": { + "broccoli-funnel": "^1.0.1", + "broccoli-merge-trees": "^1.1.1", + "broccoli-unwatched-tree": "^0.1.1", + "debug": "^2.2.0", + "lodash": "^4.5.1", + "resolve": "^1.1.7" + }, + "dependencies": { + "broccoli-funnel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", + "integrity": "sha1-zdw6/F/xaFqAI0iP/3TOb7WlEpY=", + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "exists-sync": "0.0.4", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "broccoli-merge-trees": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-1.2.4.tgz", + "integrity": "sha1-oAFRm7UGfwZYnZGvopQkRaLQ/bU=", + "requires": { + "broccoli-plugin": "^1.3.0", + "can-symlink": "^1.0.0", + "fast-ordered-set": "^1.0.2", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + } + } + }, + "ember-cli-normalize-entity-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-normalize-entity-name/-/ember-cli-normalize-entity-name-1.0.0.tgz", + "integrity": "sha1-CxT3vLxZmqEXtf3cgeT9A8S61bc=", + "dev": true, + "requires": { + "silent-error": "^1.0.0" + } + }, + "ember-cli-path-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-path-utils/-/ember-cli-path-utils-1.0.0.tgz", + "integrity": "sha1-Tjmvi1UwHN3FAXc5t3qAT7ogce0=" + }, + "ember-cli-preprocess-registry": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/ember-cli-preprocess-registry/-/ember-cli-preprocess-registry-3.1.2.tgz", + "integrity": "sha512-YJfcDHMBEjtD505CIhM8dtu5FO2Ku+0OTs/0kdLlj9mhXlbzC+k0JAS5c/0AQ+Nh2f+qZZJ8G19ySdzWwTLSCQ==", + "dev": true, + "requires": { + "broccoli-clean-css": "^1.1.0", + "broccoli-funnel": "^1.0.0", + "broccoli-merge-trees": "^1.0.0", + "debug": "^2.2.0", + "ember-cli-lodash-subset": "^1.0.7", + "process-relative-require": "^1.0.0", + "silent-error": "^1.0.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", + "integrity": "sha1-zdw6/F/xaFqAI0iP/3TOb7WlEpY=", + "dev": true, + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "exists-sync": "0.0.4", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "broccoli-merge-trees": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-1.2.4.tgz", + "integrity": "sha1-oAFRm7UGfwZYnZGvopQkRaLQ/bU=", + "dev": true, + "requires": { + "broccoli-plugin": "^1.3.0", + "can-symlink": "^1.0.0", + "fast-ordered-set": "^1.0.2", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + }, + "ember-cli-lodash-subset": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/ember-cli-lodash-subset/-/ember-cli-lodash-subset-1.0.12.tgz", + "integrity": "sha1-ry5366XcsNd/MwjTpv19NFD25Tc=", "dev": true } } @@ -3112,8 +4630,15 @@ "ember-cli-string-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz", - "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=", - "dev": true + "integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=" + }, + "ember-cli-test-info": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ember-cli-test-info/-/ember-cli-test-info-1.0.0.tgz", + "integrity": "sha1-7U6WDySel1I8+JHkrtIHLOhFd7Q=", + "requires": { + "ember-cli-string-utils": "^1.0.0" + } }, "ember-cli-test-loader": { "version": "2.2.0", @@ -3152,6 +4677,182 @@ "semver": "^5.3.0" } }, + "ember-compatibility-helpers": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ember-compatibility-helpers/-/ember-compatibility-helpers-1.1.2.tgz", + "integrity": "sha512-yN163MzERpotO8M0b+q+kXs4i3Nx6aIriiZHWv+yXQzr2TAtYlVwg9V7/3+jcurOa3oDEYDpN7y9UZ6q3mnoTg==", + "requires": { + "babel-plugin-debug-macros": "^0.2.0", + "ember-cli-version-checker": "^2.1.1", + "semver": "^5.4.1" + } + }, + "ember-composable-helpers": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ember-composable-helpers/-/ember-composable-helpers-2.1.0.tgz", + "integrity": "sha512-H6KCyB/BzjR18MxQFcQQR5MDRmawCmCCZKHQTEpAwhs5wCDhnMMLUGINan+sY4NRPrStfpUlMoGg9fsksN2wJA==", + "requires": { + "broccoli-funnel": "^1.0.1", + "ember-cli-babel": "^6.6.0" + }, + "dependencies": { + "broccoli-funnel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", + "integrity": "sha1-zdw6/F/xaFqAI0iP/3TOb7WlEpY=", + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "exists-sync": "0.0.4", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + } + } + }, + "ember-concurrency": { + "version": "0.8.22", + "resolved": "https://registry.npmjs.org/ember-concurrency/-/ember-concurrency-0.8.22.tgz", + "integrity": "sha512-njLqyjMxBf8fapIV8WPyG2gFbSCIQgMpk33uSs5Ih7HsfFAz60KwVo9sMVPBYAJwQmF8jFPm7Ph+mjkiQXHmmA==", + "requires": { + "babel-core": "^6.24.1", + "ember-cli-babel": "^6.8.2", + "ember-maybe-import-regenerator": "^0.1.5" + } + }, + "ember-data": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ember-data/-/ember-data-3.5.0.tgz", + "integrity": "sha512-BVfObUyajwP93/dTeSiCSUQSU28EVLsq2G8OithwnAgxg2Neupln2cnRBW2+Gv4JzWwUFk075GcuL7qsD+xNmQ==", + "requires": { + "@ember/ordered-set": "^2.0.0", + "babel-plugin-feature-flags": "^0.3.1", + "babel-plugin-filter-imports": "^0.3.1", + "babel-plugin-transform-es2015-block-scoping": "^6.26.0", + "babel6-plugin-strip-class-callcheck": "^6.0.0", + "babel6-plugin-strip-heimdall": "^6.0.1", + "broccoli-debug": "^0.6.4", + "broccoli-file-creator": "^2.1.1", + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^3.0.0", + "broccoli-rollup": "^2.1.1", + "calculate-cache-key-for-tree": "^1.1.0", + "chalk": "^2.4.1", + "ember-cli-babel": "^6.16.0", + "ember-cli-path-utils": "^1.0.0", + "ember-cli-string-utils": "^1.1.0", + "ember-cli-test-info": "^1.0.0", + "ember-cli-version-checker": "^2.1.2", + "ember-inflector": "^3.0.0", + "git-repo-info": "^2.0.0", + "heimdalljs": "^0.3.0", + "inflection": "^1.12.0", + "npm-git-info": "^1.0.3", + "resolve": "^1.8.1", + "semver": "^5.5.0", + "silent-error": "^1.1.0" + }, + "dependencies": { + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "broccoli-file-creator": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/broccoli-file-creator/-/broccoli-file-creator-2.1.1.tgz", + "integrity": "sha512-YpjOExWr92C5vhnK0kmD81kM7U09kdIRZk9w4ZDCDHuHXW+VE/x6AGEOQQW3loBQQ6Jk+k+TSm8dESy4uZsnjw==", + "requires": { + "broccoli-plugin": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "broccoli-merge-trees": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-3.0.1.tgz", + "integrity": "sha512-EFPBLbCoyCLdjJx0lxn+acWXK/GAZesXokS4OsF7HuB+WdnV76HVJPdfwp9TaXaUkrtb7eU+ymh9tY9wOGQjMQ==", + "requires": { + "broccoli-plugin": "^1.3.0", + "merge-trees": "^2.0.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "ember-inflector": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ember-inflector/-/ember-inflector-3.0.0.tgz", + "integrity": "sha512-tLWfYolZAkLnkTvvBkjizy4Wmj8yI8wqHZFK+leh0iScHiC3r1Yh5C4qO+OMGiBTMLwfTy+YqVoE/Nu3hGNkcA==", + "requires": { + "ember-cli-babel": "^6.6.0" + } + }, + "git-repo-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-2.0.0.tgz", + "integrity": "sha512-5wiwo0Pert7y8YtAC6Gym+ekeKojBospUEaQIPjK/djKvmONk7ZDpM986Q2OP5LEuwlmOom9Ji0XsGe78EFBeQ==" + }, + "heimdalljs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.3.3.tgz", + "integrity": "sha1-6S0sb3f9RtW/ULYQ0orTF1UFTQs=", + "requires": { + "rsvp": "~3.2.1" + } + }, + "merge-trees": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-trees/-/merge-trees-2.0.0.tgz", + "integrity": "sha512-5xBbmqYBalWqmhYm51XlohhkmVOua3VAUrrWh8t9iOkaLpS6ifqm/UVuUjQCeDVJ9Vx3g2l6ihfkbLSTeKsHbw==", + "requires": { + "fs-updater": "^1.0.4", + "heimdalljs": "^0.2.5" + }, + "dependencies": { + "heimdalljs": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.2.6.tgz", + "integrity": "sha512-o9bd30+5vLBvBtzCPwwGqpry2+n0Hi6H1+qwt6y+0kwRHGGF8TFIhJPmnuM0xO97zaKrDZMwO/V56fAnn8m/tA==", + "requires": { + "rsvp": "~3.2.1" + } + } + } + }, + "rsvp": { + "version": "3.2.1", + "resolved": "http://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz", + "integrity": "sha1-B8tKXfJa3Z6Cbrxn3Mn9idsn2Eo=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "ember-disable-prototype-extensions": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/ember-disable-prototype-extensions/-/ember-disable-prototype-extensions-1.1.3.tgz", @@ -3167,32 +4868,163 @@ "ember-cli-babel": "^6.0.0-beta.7" } }, - "ember-load-initializers": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ember-load-initializers/-/ember-load-initializers-1.1.0.tgz", - "integrity": "sha512-WiciFi8IXOqjyJ65M4iBNIthqcy4uXXQq5n3WxeMMhvJVk5JNSd9hynNECNz3nqfEYuZQ9c04UWkmFIQXRfl4Q==", - "dev": true, + "ember-get-config": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/ember-get-config/-/ember-get-config-0.2.4.tgz", + "integrity": "sha1-EYSSoqA9c+RgBO13eSiUICH+Hs0=", + "requires": { + "broccoli-file-creator": "^1.1.1", + "ember-cli-babel": "^6.3.0" + } + }, + "ember-in-element-polyfill": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ember-in-element-polyfill/-/ember-in-element-polyfill-0.1.3.tgz", + "integrity": "sha512-zZfjJC0wE1s0yH/UPPPvy64PuEInQ+GdO5v7tqTm/TfR8BiKGvHayxLZ0Kc3C06RGcfiFPU50HvWzLglTpeR+Q==", + "requires": { + "debug": "^3.1.0", + "ember-cli-babel": "^6.6.0", + "ember-cli-version-checker": "^2.1.0", + "ember-wormhole": "^0.5.4" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "ember-inflector": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ember-inflector/-/ember-inflector-2.3.0.tgz", + "integrity": "sha1-lHl+ug7qmNkCqh5doPCu72BTMX8=", + "requires": { + "ember-cli-babel": "^6.0.0" + } + }, + "ember-load-initializers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ember-load-initializers/-/ember-load-initializers-1.1.0.tgz", + "integrity": "sha512-WiciFi8IXOqjyJ65M4iBNIthqcy4uXXQq5n3WxeMMhvJVk5JNSd9hynNECNz3nqfEYuZQ9c04UWkmFIQXRfl4Q==", + "dev": true, + "requires": { + "ember-cli-babel": "^6.6.0" + } + }, + "ember-lodash": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/ember-lodash/-/ember-lodash-4.18.0.tgz", + "integrity": "sha1-Rd5wDWpPaPHNYoiNkLUKpkd7moM=", + "requires": { + "broccoli-debug": "^0.6.1", + "broccoli-funnel": "^2.0.1", + "broccoli-merge-trees": "^2.0.0", + "broccoli-string-replace": "^0.1.1", + "ember-cli-babel": "^6.10.0", + "lodash-es": "^4.17.4" + } + }, + "ember-maybe-import-regenerator": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ember-maybe-import-regenerator/-/ember-maybe-import-regenerator-0.1.6.tgz", + "integrity": "sha1-NdQYKK+m1qWbwNo85H80xXPXdso=", + "requires": { + "broccoli-funnel": "^1.0.1", + "broccoli-merge-trees": "^1.0.0", + "ember-cli-babel": "^6.0.0-beta.4", + "regenerator-runtime": "^0.9.5" + }, + "dependencies": { + "broccoli-funnel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", + "integrity": "sha1-zdw6/F/xaFqAI0iP/3TOb7WlEpY=", + "requires": { + "array-equal": "^1.0.0", + "blank-object": "^1.0.1", + "broccoli-plugin": "^1.3.0", + "debug": "^2.2.0", + "exists-sync": "0.0.4", + "fast-ordered-set": "^1.0.0", + "fs-tree-diff": "^0.5.3", + "heimdalljs": "^0.2.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.0", + "path-posix": "^1.0.0", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0", + "walk-sync": "^0.3.1" + } + }, + "broccoli-merge-trees": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-1.2.4.tgz", + "integrity": "sha1-oAFRm7UGfwZYnZGvopQkRaLQ/bU=", + "requires": { + "broccoli-plugin": "^1.3.0", + "can-symlink": "^1.0.0", + "fast-ordered-set": "^1.0.2", + "fs-tree-diff": "^0.5.4", + "heimdalljs": "^0.2.1", + "heimdalljs-logger": "^0.1.7", + "rimraf": "^2.4.3", + "symlink-or-copy": "^1.0.0" + } + }, + "regenerator-runtime": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz", + "integrity": "sha1-0z65XQ0gAaS+OWWXB8UbDLcc4Ck=" + } + } + }, + "ember-maybe-in-element": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ember-maybe-in-element/-/ember-maybe-in-element-0.1.3.tgz", + "integrity": "sha512-cAiG6N9HwvoPsMIePgwECilPrKRrIdfKqx9g8qWHKPS4vwrgS2PTeLmOcJvVYbBTXkHaFZmecDRpf6xAj6zk7A==", "requires": { - "ember-cli-babel": "^6.6.0" + "ember-cli-babel": "^6.11.0" } }, - "ember-maybe-import-regenerator": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ember-maybe-import-regenerator/-/ember-maybe-import-regenerator-0.1.6.tgz", - "integrity": "sha1-NdQYKK+m1qWbwNo85H80xXPXdso=", - "dev": true, - "requires": { - "broccoli-funnel": "^1.0.1", - "broccoli-merge-trees": "^1.0.0", - "ember-cli-babel": "^6.0.0-beta.4", - "regenerator-runtime": "^0.9.5" + "ember-models-table": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/ember-models-table/-/ember-models-table-2.7.0.tgz", + "integrity": "sha512-pFDXdo2uz1yJYxtUUsx8wOC3C+BrrNZuLye8VR58u5OXqLEZ+lfb7Pji6jzix4AXP0jx+GqBxKWAf6x+e6YzLQ==", + "requires": { + "ember-cli-babel": "^6.16.0", + "ember-cli-htmlbars": "^2.0.1", + "ember-composable-helpers": "^2.0.3" + } + }, + "ember-popper": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/ember-popper/-/ember-popper-0.9.2.tgz", + "integrity": "sha512-Umm3NCOAnDqaBUcjlfA8alaDqcZIiNaLzpisFPQ/DMrc8lVUGBhmB6HTmshfAoU22ljZ8FSLk6aUUW10VL/3pg==", + "requires": { + "babel6-plugin-strip-class-callcheck": "^6.0.0", + "ember-cli-babel": "^6.10.0", + "ember-cli-htmlbars": "^2.0.3", + "ember-cli-node-assets": "^0.2.2", + "ember-in-element-polyfill": "^0.1.2", + "ember-maybe-in-element": "^0.1.3", + "ember-raf-scheduler": "^0.1.0", + "fastboot-transform": "^0.1.0", + "popper.js": "^1.14.1" }, "dependencies": { "broccoli-funnel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz", "integrity": "sha1-zdw6/F/xaFqAI0iP/3TOb7WlEpY=", - "dev": true, "requires": { "array-equal": "^1.0.0", "blank-object": "^1.0.1", @@ -3214,7 +5046,6 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/broccoli-merge-trees/-/broccoli-merge-trees-1.2.4.tgz", "integrity": "sha1-oAFRm7UGfwZYnZGvopQkRaLQ/bU=", - "dev": true, "requires": { "broccoli-plugin": "^1.3.0", "can-symlink": "^1.0.0", @@ -3226,11 +5057,18 @@ "symlink-or-copy": "^1.0.0" } }, - "regenerator-runtime": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz", - "integrity": "sha1-0z65XQ0gAaS+OWWXB8UbDLcc4Ck=", - "dev": true + "ember-cli-node-assets": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ember-cli-node-assets/-/ember-cli-node-assets-0.2.2.tgz", + "integrity": "sha1-0tVWJufMZhn4gtf+VXUfkmYCJwg=", + "requires": { + "broccoli-funnel": "^1.0.1", + "broccoli-merge-trees": "^1.1.1", + "broccoli-source": "^1.1.0", + "debug": "^2.2.0", + "lodash": "^4.5.1", + "resolve": "^1.1.7" + } } } }, @@ -3249,6 +5087,14 @@ "qunit": "~2.6.0" } }, + "ember-raf-scheduler": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ember-raf-scheduler/-/ember-raf-scheduler-0.1.0.tgz", + "integrity": "sha1-oioC0jjDdEmSMcA6ucW5iHxyqFM=", + "requires": { + "ember-cli-babel": "^6.6.0" + } + }, "ember-resolver": { "version": "4.5.6", "resolved": "https://registry.npmjs.org/ember-resolver/-/ember-resolver-4.5.6.tgz", @@ -3311,6 +5157,15 @@ "recast": "^0.11.3" } }, + "ember-runtime-enumerable-includes-polyfill": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ember-runtime-enumerable-includes-polyfill/-/ember-runtime-enumerable-includes-polyfill-2.1.0.tgz", + "integrity": "sha512-au18iI8VbEDYn3jLFZzETnKN5ciPgCUxMRucEP3jkq7qZ6sE0FVKpWMPY/h9tTND3VOBJt6fgPpEBJoJVCUudg==", + "requires": { + "ember-cli-babel": "^6.9.0", + "ember-cli-version-checker": "^2.1.0" + } + }, "ember-source": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/ember-source/-/ember-source-3.1.4.tgz", @@ -3342,79 +5197,150 @@ } }, "ember-try": { - "version": "0.2.23", - "resolved": "https://registry.npmjs.org/ember-try/-/ember-try-0.2.23.tgz", - "integrity": "sha512-kmVNsSFFafGinFhERMox3SXHoU+V1td1538SbhpslPtf7S2BZYr7JdAwOCIRoRtpcWeNdYgdQGzJZxNvUc8aLg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ember-try/-/ember-try-1.1.0.tgz", + "integrity": "sha512-NL1rKPz2LuyVEqwoNV+SQD4c2w1/A0rrdeT6jqTYqlt/P7y3+SWcsxyReBnImebaIu7Drtz6p9yiAsrJq5Chyg==", "dev": true, "requires": { - "chalk": "^1.0.0", - "cli-table2": "^0.2.0", - "core-object": "^1.1.0", - "debug": "^2.2.0", - "ember-try-config": "^2.2.0", + "chalk": "^2.3.0", + "cli-table3": "^0.5.1", + "core-object": "^3.1.5", + "debug": "^3.1.0", + "ember-try-config": "^3.0.0", + "execa": "^1.0.0", "extend": "^3.0.0", - "fs-extra": "^0.26.0", + "fs-extra": "^5.0.0", "promise-map-series": "^0.2.1", "resolve": "^1.1.6", "rimraf": "^2.3.2", - "rsvp": "^3.0.17", - "semver": "^5.1.0" + "rsvp": "^4.7.0", + "walk-sync": "^0.3.3" }, "dependencies": { - "core-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/core-object/-/core-object-1.1.0.tgz", - "integrity": "sha1-htY5GHM8+doaWq5ynmLAqI5mrQo=", - "dev": true + "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, + "requires": { + "color-convert": "^1.9.0" + } }, - "fs-extra": { - "version": "0.26.7", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", - "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "jsonfile": { - "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } } } }, "ember-try-config": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ember-try-config/-/ember-try-config-2.2.0.tgz", - "integrity": "sha1-a+CvbHGUmBPgKseTVk/dv4M2uAc=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ember-try-config/-/ember-try-config-3.0.0.tgz", + "integrity": "sha512-pNwHS29O1ACczkrxBKRtDY0TzTb7uPnA5eHEe+4NF6qpLK5FVnL3EtgZ8+yVYtnm1If5mZ07rIubw45vaSek7w==", "dev": true, "requires": { + "ember-source-channel-url": "^1.0.1", "lodash": "^4.6.1", - "node-fetch": "^1.3.3", - "rsvp": "^3.2.1", - "semver": "^5.1.0" - }, - "dependencies": { - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", - "dev": true - } + "package-json": "^4.0.1", + "remote-git-tags": "^2.0.0", + "rsvp": "^4.8.1", + "semver": "^5.5.0" + } + }, + "ember-wormhole": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/ember-wormhole/-/ember-wormhole-0.5.5.tgz", + "integrity": "sha512-z8l3gpoKmRA2BnTwvnYRk4jKVcETKHpddsD6kpS+EJ4EfyugadFS3zUqBmRDuJhFbNP8BVBLXlbbATj+Rk1Kgg==", + "requires": { + "ember-cli-babel": "^6.10.0", + "ember-cli-htmlbars": "^2.0.1" + } + }, + "emit-function": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/emit-function/-/emit-function-0.0.2.tgz", + "integrity": "sha1-46ULPWG+G/jKiLkkv3ExV6W+wSQ=", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "enabled": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "requires": { + "env-variable": "0.0.x" } }, "encodeurl": { @@ -3423,15 +5349,6 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, - "requires": { - "iconv-lite": "~0.4.13" - } - }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -3509,6 +5426,17 @@ "has-binary2": "~1.0.2" } }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, "ensure-posix-path": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz", @@ -3520,6 +5448,20 @@ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, + "env-variable": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz", + "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, "error": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", @@ -3550,6 +5492,31 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, + "escodegen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, "eslint": { "version": "4.19.1", "resolved": "http://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", @@ -3796,8 +5763,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { "version": "1.0.1", @@ -3820,8 +5786,12 @@ "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "estree-walker": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", + "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==" }, "esutils": { "version": "2.0.2", @@ -3840,12 +5810,27 @@ "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", "dev": true }, + "events": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, "events-to-array": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", "dev": true }, + "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, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, "exec-file-sync": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/exec-file-sync/-/exec-file-sync-2.0.2.tgz", @@ -3890,8 +5875,7 @@ "exists-sync": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/exists-sync/-/exists-sync-0.0.4.tgz", - "integrity": "sha1-l0TCxCjMA7AQYNtFTUsS8O88iHk=", - "dev": true + "integrity": "sha1-l0TCxCjMA7AQYNtFTUsS8O88iHk=" }, "exit": { "version": "0.1.2", @@ -3940,6 +5924,57 @@ } } }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -3990,8 +6025,7 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "extend-shallow": { "version": "3.0.2", @@ -4101,6 +6135,21 @@ } } }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fake-xml-http-request": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/fake-xml-http-request/-/fake-xml-http-request-1.6.0.tgz", + "integrity": "sha512-99XPwwSg89BfzPuv4XCpZxn3EbauMCgAQCxq9MzrvS6DFD73OON6AnUTicL4A0HZtYMBwCZBWVnRqGjZDgQkTg==" + }, + "faker": { + "version": "3.1.0", + "resolved": "http://registry.npmjs.org/faker/-/faker-3.1.0.tgz", + "integrity": "sha1-D5CPr05uwCUk5UpX5DLFwBPgjJ8=" + }, "fast-deep-equal": { "version": "1.1.0", "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", @@ -4110,14 +6159,12 @@ "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 + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fast-ordered-set": { "version": "1.0.3", @@ -4127,6 +6174,11 @@ "blank-object": "^1.0.1" } }, + "fast-safe-stringify": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz", + "integrity": "sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg==" + }, "fast-sourcemap-concat": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/fast-sourcemap-concat/-/fast-sourcemap-concat-1.4.0.tgz", @@ -4183,6 +6235,15 @@ } } }, + "fastboot-transform": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/fastboot-transform/-/fastboot-transform-0.1.3.tgz", + "integrity": "sha512-6otygPIJw1ARp1jJb+6KVO56iKBjhO+5x59RSC9qiZTbZRrv+HZAuP00KD3s+nWMvcFDemtdkugki9DNFTTwCQ==", + "requires": { + "broccoli-stew": "^1.5.0", + "convert-source-map": "^1.5.1" + } + }, "faye-websocket": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", @@ -4201,6 +6262,11 @@ "bser": "^2.0.0" } }, + "fecha": { + "version": "2.3.3", + "resolved": "http://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", + "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==" + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -4220,6 +6286,11 @@ "object-assign": "^4.0.1" } }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -4264,6 +6335,17 @@ "unpipe": "~1.0.0" } }, + "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, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, "find-index": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-index/-/find-index-1.1.0.tgz", @@ -4347,6 +6429,48 @@ "write": "^0.2.1" } }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "follow-redirects": { "version": "1.5.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", @@ -4370,8 +6494,30 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } }, "forwarded": { "version": "0.1.2", @@ -4436,11 +6582,15 @@ } } }, + "fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=" + }, "fs-extra": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -4458,6 +6608,30 @@ "symlink-or-copy": "^1.1.8" } }, + "fs-updater": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fs-updater/-/fs-updater-1.0.4.tgz", + "integrity": "sha512-0pJX4mJF/qLsNEwTct8CdnnRdagfb+LmjRPJ8sO+nCnAZLW0cTmz4rTgU25n+RvTuWSITiLKrGVJceJPBIPlKg==", + "requires": { + "can-symlink": "^1.0.0", + "clean-up-path": "^1.0.0", + "heimdalljs": "^0.2.5", + "heimdalljs-logger": "^0.1.9", + "rimraf": "^2.6.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -5060,12 +7234,115 @@ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-fetch-pack": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/git-fetch-pack/-/git-fetch-pack-0.1.1.tgz", + "integrity": "sha1-dwOjLPDbgPBg0nZqNKwA0CzrzfU=", + "dev": true, + "requires": { + "bops": "0.0.3", + "emit-function": "0.0.2", + "git-packed-ref-parse": "0.0.0", + "through": "~2.2.7" + }, + "dependencies": { + "through": { + "version": "2.2.7", + "resolved": "http://registry.npmjs.org/through/-/through-2.2.7.tgz", + "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=", + "dev": true + } + } + }, + "git-packed-ref-parse": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/git-packed-ref-parse/-/git-packed-ref-parse-0.0.0.tgz", + "integrity": "sha1-uFBGkx8+SmVnm13lSvOl0983JkY=", + "dev": true, + "requires": { + "line-stream": "0.0.0", + "through": "~2.2.7" + }, + "dependencies": { + "through": { + "version": "2.2.7", + "resolved": "http://registry.npmjs.org/through/-/through-2.2.7.tgz", + "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=", + "dev": true + } + } + }, + "git-read-pkt-line": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/git-read-pkt-line/-/git-read-pkt-line-0.0.8.tgz", + "integrity": "sha1-SUA3hU7Ve9kM1VZ2VA2GqwyzbKo=", + "dev": true, + "requires": { + "bops": "0.0.3", + "through": "~2.2.7" + }, + "dependencies": { + "through": { + "version": "2.2.7", + "resolved": "http://registry.npmjs.org/through/-/through-2.2.7.tgz", + "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=", + "dev": true + } + } + }, "git-repo-info": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/git-repo-info/-/git-repo-info-1.4.1.tgz", "integrity": "sha1-KgcoIyVKr2L88HZgB9e2ZRvUGUM=", "dev": true }, + "git-transport-protocol": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/git-transport-protocol/-/git-transport-protocol-0.1.0.tgz", + "integrity": "sha1-mfTdY4m5Fh7e10qeYX1rpe0KbCw=", + "dev": true, + "requires": { + "duplex": "~1.0.0", + "emit-function": "0.0.2", + "git-read-pkt-line": "0.0.8", + "git-write-pkt-line": "0.1.0", + "through": "~2.2.7" + }, + "dependencies": { + "through": { + "version": "2.2.7", + "resolved": "http://registry.npmjs.org/through/-/through-2.2.7.tgz", + "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=", + "dev": true + } + } + }, + "git-write-pkt-line": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/git-write-pkt-line/-/git-write-pkt-line-0.1.0.tgz", + "integrity": "sha1-qEwYVsCQEZCDibLwb5EdkfY5RpQ=", + "dev": true, + "requires": { + "bops": "0.0.3", + "through": "~2.2.7" + }, + "dependencies": { + "through": { + "version": "2.2.7", + "resolved": "http://registry.npmjs.org/through/-/through-2.2.7.tgz", + "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=", + "dev": true + } + } + }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -5079,6 +7356,48 @@ "path-is-absolute": "^1.0.0" } }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -5158,8 +7477,7 @@ "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, "graceful-readlink": { "version": "1.0.1", @@ -5193,6 +7511,43 @@ } } }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.2.tgz", + "integrity": "sha512-OFxb5MZXCUMx43X7O8LK4FKggEQx6yC5QPmOcBnYbJ9UjxEcMcrMbaR0af5HZpqeFopw2GwQRQi34ZXI7YLM5w==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "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=" + }, + "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==" + } + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -5227,8 +7582,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbol-support-x": { "version": "1.4.2", @@ -5283,6 +7637,16 @@ } } }, + "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, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "hash-for-dep": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/hash-for-dep/-/hash-for-dep-1.2.3.tgz", @@ -5294,6 +7658,16 @@ "resolve": "^1.4.0" } }, + "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, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "heimdalljs": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/heimdalljs/-/heimdalljs-0.2.6.tgz", @@ -5334,6 +7708,17 @@ "heimdalljs": "^0.2.6" } }, + "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, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", @@ -5347,7 +7732,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", - "dev": true, "requires": { "parse-passwd": "^1.0.0" } @@ -5358,6 +7742,14 @@ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", "dev": true }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, "http-cache-semantics": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", @@ -5393,6 +7785,22 @@ "requires-port": "^1.0.0" } }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "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 + }, "iconv-lite": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", @@ -5402,6 +7810,17 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, "ignore": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", @@ -5432,8 +7851,7 @@ "inflection": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", - "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=", - "dev": true + "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=" }, "inflight": { "version": "1.0.6", @@ -5452,8 +7870,7 @@ "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "inline-source-map-comment": { "version": "1.0.5", @@ -5498,6 +7915,11 @@ "through": "^2.3.6" } }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" + }, "into-stream": { "version": "3.1.0", "resolved": "http://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", @@ -5548,11 +7970,19 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "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, + "requires": { + "binary-extensions": "^1.0.0" + } + }, "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 + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-builtin-module": { "version": "1.0.0", @@ -5602,11 +8032,23 @@ } } }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "requires": { + "is-primitive": "^2.0.0" + } + }, "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 + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "2.1.1", @@ -5714,12 +8156,43 @@ "isobject": "^3.0.1" } }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.0.tgz", + "integrity": "sha512-h37O/IX4efe56o9k41II1ECMqKwtqHa7/12dLDEzJIFux2x15an4WCDb0/eKdmUgRpLJ3bR0DrzDc7vOrVgRDw==", + "requires": { + "@types/estree": "0.0.38" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.38", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.38.tgz", + "integrity": "sha512-F/v7t1LwS4vnXuPooJQGBRKRGIoxWUTmA4VHfqjOccFsNDThD5bfUNpITive6s352O7o384wcpEaDV8rHCehDA==" + } + } + }, "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", @@ -5735,8 +8208,7 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-type": { "version": "0.0.1", @@ -5747,6 +8219,11 @@ "core-util-is": "~1.0.0" } }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -5777,8 +8254,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "3.0.1", @@ -5786,6 +8262,11 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, "istextorbinary": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.1.0.tgz", @@ -5806,6 +8287,34 @@ "is-object": "^1.0.1" } }, + "jhipster-core": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jhipster-core/-/jhipster-core-3.4.0.tgz", + "integrity": "sha512-iVJ6MF4jlpvtVL5gbn9t4Jw27RodjY04SXYSGfTLAzHyQRMmehHLvNq/3DBjVwHgBrDn1u2k17oLGouJus9MhA==", + "requires": { + "chevrotain": "4.1.0", + "fs-extra": "7.0.0", + "lodash": "4.17.11", + "winston": "3.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", + "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "jmespath": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" + }, "jquery": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", @@ -5818,6 +8327,12 @@ "integrity": "sha1-+IxgjjJKM3OpW8xFrTBeXJecRZs=", "dev": true }, + "js-string-escape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", + "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", + "dev": true + }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -5833,6 +8348,54 @@ "esprima": "^4.0.0" } }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", @@ -5844,6 +8407,17 @@ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", "dev": true }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", @@ -5864,6 +8438,11 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, "json5": { "version": "0.5.1", "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", @@ -5873,7 +8452,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -5883,6 +8461,17 @@ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, "keyv": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", @@ -5895,16 +8484,14 @@ "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 + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dev": true, + "kuler": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz", + "integrity": "sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==", "requires": { - "graceful-fs": "^4.1.9" + "colornames": "^1.1.1" } }, "leek": { @@ -5926,16 +8513,37 @@ } } }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" } }, + "line-stream": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/line-stream/-/line-stream-0.0.0.tgz", + "integrity": "sha1-iIt8x5UcagXOTWlt0ea4JiNxu0U=", + "dev": true, + "requires": { + "through": "~2.2.0" + }, + "dependencies": { + "through": { + "version": "2.2.7", + "resolved": "http://registry.npmjs.org/through/-/through-2.2.7.tgz", + "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=", + "dev": true + } + } + }, "linkify-it": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", @@ -5972,12 +8580,34 @@ } } }, + "loader-runner": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz", + "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==", + "dev": true + }, + "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, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" + } + }, "loader.js": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/loader.js/-/loader.js-4.7.0.tgz", "integrity": "sha512-9M2KvGT6duzGMgkOcTkWb+PR/Q2Oe54df/tLgHGVmFpAmtqJ553xJh6N63iFYI2yjo2PeJXbS5skHi/QpJq4vA==", "dev": true }, + "locate-character": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-2.0.5.tgz", + "integrity": "sha512-n2GmejDXtOPBAZdIiEFy5dJ5N38xBCXLNOtw2WpB9kGh6pnrEuKlwYI+Tkpofc4wDtVXHtoAOJaMRlYG/oYaxg==" + }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -6001,6 +8631,11 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, + "lodash-es": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.11.tgz", + "integrity": "sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q==" + }, "lodash._baseassign": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", @@ -6394,6 +9029,11 @@ "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", "dev": true }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, "lodash.support": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.3.0.tgz", @@ -6501,6 +9141,30 @@ } } }, + "logform": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-1.10.0.tgz", + "integrity": "sha512-em5ojIhU18fIMOw/333mD+ZLE2fis0EzXl1ZwHx4iQzmpQi6odNiY/t+ITNr33JZhT9/KEaH+UPIipr6a9EjWg==", + "requires": { + "colors": "^1.2.1", + "fast-safe-stringify": "^2.0.4", + "fecha": "^2.3.3", + "ms": "^2.1.1", + "triple-beam": "^1.2.0" + }, + "dependencies": { + "colors": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", + "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -6541,6 +9205,14 @@ "yallist": "^2.1.2" } }, + "magic-string": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.24.1.tgz", + "integrity": "sha512-YBfNxbJiixMzxW40XqJEIldzHyh5f7CZKalo1uZffevyrPEX8Qgo9s0dmcORLHdV47UyvJg8/zD+6hQG3qvJrA==", + "requires": { + "sourcemap-codec": "^1.4.1" + } + }, "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", @@ -6625,6 +9297,11 @@ "minimatch": "^3.0.2" } }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" + }, "md5-hex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", @@ -6640,6 +9317,17 @@ "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", "dev": true }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -6652,6 +9340,48 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, + "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, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "memory-streams": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/memory-streams/-/memory-streams-0.1.3.tgz", @@ -6739,6 +9469,16 @@ "to-regex": "^3.0.2" } }, + "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, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", @@ -6748,14 +9488,12 @@ "mime-db": { "version": "1.37.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "dev": true + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" }, "mime-types": { "version": "2.1.21", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "dev": true, "requires": { "mime-db": "~1.37.0" } @@ -6772,6 +9510,18 @@ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true }, + "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 + }, + "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 + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -6803,6 +9553,36 @@ } } }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, "mixin-deep": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", @@ -6856,6 +9636,20 @@ "integrity": "sha512-XsP0vf4As6BfqglxZqbqQ8SR6KQot2AgxvR0gG+WtUkf90vUXchMOZQtPf/Hml1rEffJupqL/tIrU6EYhsUQjw==", "dev": true }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -6911,6 +9705,12 @@ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", "dev": true }, + "neo-async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", + "dev": true + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -6926,27 +9726,85 @@ "lower-case": "^1.1.1" } }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, + "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, + "requires": { + "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" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "node-modules-path": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/node-modules-path/-/node-modules-path-1.0.2.tgz", - "integrity": "sha512-6Gbjq+d7uhkO7epaKi5DNgUJn7H0gEyA4Jg0Mo1uQOi3Rk50G83LtmhhFyw0LxnAFhtlspkiiw52ISP13qzcBg==", - "dev": true + "integrity": "sha512-6Gbjq+d7uhkO7epaKi5DNgUJn7H0gEyA4Jg0Mo1uQOi3Rk50G83LtmhhFyw0LxnAFhtlspkiiw52ISP13qzcBg==" }, "node-notifier": { "version": "5.3.0", @@ -6985,7 +9843,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, "requires": { "remove-trailing-separator": "^1.0.1" } @@ -7001,6 +9858,11 @@ "sort-keys": "^2.0.0" } }, + "npm-git-info": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/npm-git-info/-/npm-git-info-1.0.3.tgz", + "integrity": "sha1-qTPELsMh6A02RuDW6ESv6UYw4dU=" + }, "npm-package-arg": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", @@ -7039,6 +9901,16 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, + "nwsapi": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.9.tgz", + "integrity": "sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -7090,6 +9962,15 @@ "isobject": "^3.0.0" } }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -7122,6 +10003,11 @@ "wrappy": "1" } }, + "one-time": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", + "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=" + }, "onetime": { "version": "1.1.0", "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", @@ -7142,7 +10028,6 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, "requires": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.4", @@ -7155,8 +10040,7 @@ "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" } } }, @@ -7248,6 +10132,12 @@ } } }, + "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 + }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", @@ -7301,30 +10191,166 @@ "p-try": "^1.0.0" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "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 + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "dependencies": { + "got": { + "version": "6.7.1", + "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "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 + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dev": true, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "p-finally": "^1.0.0" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + } } }, - "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 - }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", @@ -7334,11 +10360,20 @@ "error-ex": "^1.2.0" } }, + "parse-ms": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", + "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=" + }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" }, "parseqs": { "version": "0.0.5", @@ -7379,6 +10414,18 @@ "exec-file-sync": "^2.0.0" } }, + "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 + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -7440,6 +10487,24 @@ } } }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -7461,12 +10526,40 @@ "pinkie": "^2.0.0" } }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, "pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "popper.js": { + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.4.tgz", + "integrity": "sha1-juwdj/AqWjoVLdQ0FKFce3n9abY=" + }, "portfinder": { "version": "1.0.19", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.19.tgz", @@ -7495,8 +10588,7 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, "prepend-http": { "version": "2.0.0", @@ -7504,6 +10596,35 @@ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", "dev": true }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + }, + "pretender": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/pretender/-/pretender-1.6.1.tgz", + "integrity": "sha1-d9HkKsjGspj1zUNTSodkXfA124w=", + "requires": { + "fake-xml-http-request": "^1.6.0", + "route-recognizer": "^0.3.3" + }, + "dependencies": { + "route-recognizer": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/route-recognizer/-/route-recognizer-0.3.4.tgz", + "integrity": "sha512-2+MhsfPhvauN1O8KaXpXAOfR/fwe8dnUXVM+xw7yt40lJRfPVQxV6yryZm0cgRvAj5fMF/mdRZbL2ptwbs5i2g==" + } + } + }, + "pretty-ms": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.2.0.tgz", + "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", + "requires": { + "parse-ms": "^1.0.0" + } + }, "printf": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/printf/-/printf-0.5.1.tgz", @@ -7515,11 +10636,16 @@ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, "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 + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "process-relative-require": { "version": "1.0.0", @@ -7536,6 +10662,12 @@ "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==", "dev": true }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, "promise-map-series": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/promise-map-series/-/promise-map-series-0.2.3.tgz", @@ -7561,12 +10693,37 @@ "ipaddr.js": "1.8.0" } }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -7577,11 +10734,38 @@ "once": "^1.3.1" } }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, "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 + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "query-string": { "version": "5.1.1", @@ -7594,6 +10778,17 @@ "strict-uri-encode": "^1.0.0" } }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, "quick-temp": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/quick-temp/-/quick-temp-0.1.8.tgz", @@ -7646,6 +10841,42 @@ } } }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + } + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "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, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", @@ -7664,6 +10895,26 @@ "unpipe": "1.0.0" } }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -7709,6 +10960,49 @@ "string_decoder": "~0.10.x" } }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "recast": { "version": "0.11.23", "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", @@ -7729,6 +11023,14 @@ } } }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, "redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", @@ -7776,6 +11078,14 @@ "private": "^0.1.6" } }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -7786,6 +11096,11 @@ "safe-regex": "^1.1.0" } }, + "regexp-to-ast": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.3.5.tgz", + "integrity": "sha512-1CJygtdvsfNFwiyjaMLBWtg2tfEqx/jSZ8S6TV+GlNL8kiH8rb4cm5Pb7A/C2BpyM/fA8ZJEudlCwi/jvAY+Ow==" + }, "regexpp": { "version": "1.1.0", "resolved": "http://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", @@ -7802,6 +11117,25 @@ "regjsparser": "^0.1.4" } }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, "regjsgen": { "version": "0.2.0", "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", @@ -7815,23 +11149,30 @@ "jsesc": "~0.5.0" } }, + "remote-git-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/remote-git-tags/-/remote-git-tags-2.0.0.tgz", + "integrity": "sha1-EVLznPi1Jorg5DB2Nu90HsNBZkw=", + "dev": true, + "requires": { + "git-fetch-pack": "^0.1.1", + "git-transport-protocol": "^0.1.0" + } + }, "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 + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" }, "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 + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "repeating": { "version": "2.0.1", @@ -7841,6 +11182,56 @@ "is-finite": "^1.0.0" } }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "request-promise-core": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", + "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", + "requires": { + "lodash": "^4.13.1" + } + }, + "request-promise-native": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", + "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", + "requires": { + "request-promise-core": "1.1.1", + "stealthy-require": "^1.1.0", + "tough-cookie": ">=2.3.3" + } + }, + "require-relative": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=" + }, "require-uncached": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", @@ -7906,20 +11297,144 @@ "onetime": "^1.0.0" } }, - "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 - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "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 + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "requires": { + "glob": "^7.0.5" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rollup": { + "version": "0.57.1", + "resolved": "http://registry.npmjs.org/rollup/-/rollup-0.57.1.tgz", + "integrity": "sha512-I18GBqP0qJoJC1K1osYjreqA8VAKovxuI3I81RSk0Dmr4TgloI0tAULjZaox8OsJ+n7XRrhH6i0G2By/pj1LCA==", + "requires": { + "@types/acorn": "^4.0.3", + "acorn": "^5.5.3", + "acorn-dynamic-import": "^3.0.0", + "date-time": "^2.1.0", + "is-reference": "^1.1.0", + "locate-character": "^2.0.5", + "pretty-ms": "^3.1.0", + "require-relative": "^0.8.7", + "rollup-pluginutils": "^2.0.1", + "signal-exit": "^3.0.2", + "sourcemap-codec": "^1.4.1" + } + }, + "rollup-pluginutils": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz", + "integrity": "sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA==", "requires": { - "glob": "^7.0.5" + "estree-walker": "^0.5.2", + "micromatch": "^2.3.11" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + } } }, + "route-recognizer": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/route-recognizer/-/route-recognizer-0.2.10.tgz", + "integrity": "sha1-Aksig8LmjROnx/UXOlkkZF6JAt8=" + }, "rsvp": { "version": "4.8.4", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", @@ -7934,6 +11449,15 @@ "is-promise": "^2.1.0" } }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, "rx": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", @@ -7978,8 +11502,7 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sane": { "version": "2.5.2", @@ -8006,6 +11529,53 @@ } } }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", + "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "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 + }, + "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 + } + } + }, "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", @@ -8032,6 +11602,12 @@ "statuses": "~1.4.0" } }, + "serialize-javascript": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", + "dev": true + }, "serve-static": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", @@ -8073,12 +11649,28 @@ } } }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, + "sha.js": { + "version": "2.4.11", + "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -8094,6 +11686,16 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "shelljs": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", + "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, "shellwords": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", @@ -8103,18 +11705,31 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "silent-error": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/silent-error/-/silent-error-1.1.1.tgz", "integrity": "sha512-n4iEKyNcg4v6/jpb3c0/iyH2G1nzUNl7Gpqtn/mHIJK9S/q/7MCfoO4rwVOoO59qPFIc0hVHvMbiOJ0NdtxKKw==", - "dev": true, "requires": { "debug": "^2.2.0" } }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -8370,6 +11985,12 @@ } } }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -8410,6 +12031,11 @@ "integrity": "sha1-fsrxO1e80J2opAxdJp2zN5nUqvk=", "dev": true }, + "sourcemap-codec": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.3.tgz", + "integrity": "sha512-vFrY/x/NdsD7Yc8mpTJXuao9S8lq08Z/kOITHz6b7YbfI9xL8Spe5EvSQUHOI7SbpY8bRPr0U3kKSsPuqEGSfA==" + }, "sourcemap-validator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/sourcemap-validator/-/sourcemap-validator-1.1.0.tgz", @@ -8522,6 +12148,36 @@ "integrity": "sha1-p/6lw/3lXmdc8cjAbz67XCk1g14=", "dev": true }, + "sshpk": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", + "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -8549,6 +12205,114 @@ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", "dev": true }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "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, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, "strict-uri-encode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", @@ -8652,6 +12416,11 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=" + }, "symlink-or-copy": { "version": "1.2.0", "resolved": "http://registry.npmjs.org/symlink-or-copy/-/symlink-or-copy-1.2.0.tgz", @@ -8713,6 +12482,12 @@ "minipass": "^2.2.0" } }, + "tapable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", + "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", + "dev": true + }, "temp": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", @@ -8839,27 +12614,79 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "~1.0.2" + } + } + } + }, + "text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "textextensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz", + "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==" + }, + "through": { + "version": "2.3.8", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" } } } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "textextensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz", - "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==" - }, - "through": { - "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "time-zone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", + "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=" }, "timed-out": { "version": "4.0.1", @@ -8867,6 +12694,15 @@ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, + "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, + "requires": { + "setimmediate": "^1.0.4" + } + }, "tiny-lr": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", @@ -8918,6 +12754,12 @@ "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", "dev": true }, + "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 + }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", @@ -8965,6 +12807,36 @@ "repeat-string": "^1.6.1" } }, + "to-utf8": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/to-utf8/-/to-utf8-0.0.1.tgz", + "integrity": "sha1-0Xrqcv8vujm55DYBvns/9y4ImFI=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "requires": { + "punycode": "^2.1.0" + } + }, "tree-sync": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-sync/-/tree-sync-1.2.2.tgz", @@ -8999,11 +12871,40 @@ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" }, + "triple-beam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", + "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "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 + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, "requires": { "prelude-ls": "~1.1.2" } @@ -9050,6 +12951,46 @@ } } }, + "uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "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 + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + } + } + } + }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", @@ -9106,6 +13047,24 @@ } } }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", + "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, "unique-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", @@ -9118,8 +13077,7 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "unpipe": { "version": "1.0.0", @@ -9182,12 +13140,50 @@ "os-homedir": "^1.0.0" } }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true + }, + "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 + }, + "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==", + "requires": { + "punycode": "^2.1.0" + } + }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, "url-parse-lax": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", @@ -9234,6 +13230,15 @@ "resolved": "https://registry.npmjs.org/username-sync/-/username-sync-1.0.1.tgz", "integrity": "sha1-HN6H7vz5S4gimE2Ti6K3l0Jtrh8=" }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -9248,8 +13253,7 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "validate-npm-package-license": { "version": "3.0.4", @@ -9276,6 +13280,33 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "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, + "requires": { + "indexof": "0.0.1" + } + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "requires": { + "browser-process-hrtime": "^0.1.2" + } + }, "walk-sync": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.3.tgz", @@ -9325,6 +13356,17 @@ "silent-error": "^1.1.0" } }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, "wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -9334,6 +13376,103 @@ "defaults": "^1.0.3" } }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "webpack": { + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.23.1.tgz", + "integrity": "sha512-iE5Cu4rGEDk7ONRjisTOjVHv3dDtcFfwitSxT7evtYj/rANJpt1OuC/Kozh1pBa99AUBr1L/LsaNB+D9Xz3CEg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.7.10", + "@webassemblyjs/helper-module-context": "1.7.10", + "@webassemblyjs/wasm-edit": "1.7.10", + "@webassemblyjs/wasm-parser": "1.7.10", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^0.4.4", + "tapable": "^1.1.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.3.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", + "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "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 + }, + "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 + } + } + }, + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "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 + } + } + }, "websocket-driver": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", @@ -9350,11 +13489,43 @@ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", "dev": true }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-mimetype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.2.0.tgz", + "integrity": "sha512-5YSO1nMd5D1hY3WzAQV3PzZL83W3YeyR1yW9PcH26Weh1t+Vzh9B6XkDh7aXm83HBZ4nSMvkjvN2H2ySWIvBgw==" + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -9368,12 +13539,104 @@ "string-width": "^1.0.2 || 2" } }, + "winston": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.1.0.tgz", + "integrity": "sha512-FsQfEE+8YIEeuZEYhHDk5cILo1HOcWkGwvoidLrDgPog0r4bser1lEIOco2dN9zpDJ1M88hfDgZvxe5z4xNcwg==", + "requires": { + "async": "^2.6.0", + "diagnostics": "^1.1.1", + "is-stream": "^1.1.0", + "logform": "^1.9.1", + "one-time": "0.0.4", + "readable-stream": "^2.3.6", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.2.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "winston-transport": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.2.0.tgz", + "integrity": "sha512-0R1bvFqxSlK/ZKTH86nymOuKv/cT1PQBMuDdA7k7f0S9fM44dNH6bXnuxwXPrN8lefJgtZq08BKdyZ0DZIy/rg==", + "requires": { + "readable-stream": "^2.3.6", + "triple-beam": "^1.2.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "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" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, + "worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, "workerpool": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-2.3.3.tgz", @@ -9424,6 +13687,25 @@ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, "xmldom": { "version": "0.1.27", "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", @@ -9442,6 +13724,12 @@ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", diff --git a/package.json b/package.json index 82c64ce..153cd6e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ember-aws-ehipster", - "version": "0.0.0", + "version": "0.0.4", "description": "The default blueprint for ember-cli addons.", "keywords": [ "ember-addon" @@ -20,15 +20,24 @@ "test:all": "ember try:each" }, "dependencies": { - "ember-cli-babel": "^6.6.0" + "aws-sdk": "^2.361.0", + "bootstrap": "^4.1.3", + "ember-bootstrap": "^2.2.0", + "ember-cli-babel": "^6.6.0", + "ember-cli-htmlbars": "^2.0.1", + "ember-cli-mirage": "^0.4.9", + "ember-data": "^3.5.0", + "ember-models-table": "^2.7.0", + "jhipster-core": "^3.4.0", + "shelljs": "^0.8.2" }, "devDependencies": { "broccoli-asset-rev": "^2.4.5", "ember-ajax": "^3.0.0", + "ember-auto-import": "^1.2.15", "ember-cli": "~3.1.4", "ember-cli-dependency-checker": "^2.0.0", "ember-cli-eslint": "^4.2.1", - "ember-cli-htmlbars": "^2.0.1", "ember-cli-htmlbars-inline-precompile": "^1.0.0", "ember-cli-inject-live-reload": "^1.4.1", "ember-cli-qunit": "^4.1.1", @@ -42,7 +51,7 @@ "ember-resolver": "^4.0.0", "ember-source": "~3.1.0", "ember-source-channel-url": "^1.0.1", - "ember-try": "^0.2.23", + "ember-try": "^1.1.0", "eslint-plugin-ember": "^5.0.0", "eslint-plugin-node": "^6.0.1", "loader.js": "^4.2.3" diff --git a/tests/dummy/app/controllers/entity-factory/toto.js b/tests/dummy/app/controllers/entity-factory/toto.js new file mode 100644 index 0000000..9d46bc4 --- /dev/null +++ b/tests/dummy/app/controllers/entity-factory/toto.js @@ -0,0 +1,30 @@ +import Controller from '@ember/controller'; + +export default Controller.extend({ + +totoTableColumns: Ember.computed(function() { +var col = Ember.A([ + Ember.Object.create({ + propertyName: "title", + title: "title" +}), +Ember.Object.create({ + propertyName: "description", + title: "description" +}), +Ember.Object.create({ + propertyName: "number", + title: "number" +}), +Ember.Object.create({ + propertyName: "isVisible", + title: "isVisible" +}), +]); +return col; +}), + +totoTableContent: Ember.computed(function() { + return this.get("model"); +}) +}); \ No newline at end of file diff --git a/tests/dummy/app/models/toto.js b/tests/dummy/app/models/toto.js new file mode 100644 index 0000000..3e6fad0 --- /dev/null +++ b/tests/dummy/app/models/toto.js @@ -0,0 +1,8 @@ +import DS from 'ember-data'; + +export default DS.Model.extend({ + title: DS.attr('string'), + description: DS.attr('string'), + number: DS.attr('number'), + isVisible: DS.attr('boolean') +}); \ No newline at end of file diff --git a/tests/dummy/app/router.js b/tests/dummy/app/router.js index d0bb009..f765969 100644 --- a/tests/dummy/app/router.js +++ b/tests/dummy/app/router.js @@ -7,6 +7,8 @@ const Router = EmberRouter.extend({ }); Router.map(function() { + this.route('entity-factory/toto'); + this.route('entity-factory/toto'); }); export default Router; diff --git a/tests/dummy/app/routes/entity-factory/toto.js b/tests/dummy/app/routes/entity-factory/toto.js new file mode 100644 index 0000000..268a9b4 --- /dev/null +++ b/tests/dummy/app/routes/entity-factory/toto.js @@ -0,0 +1,8 @@ +import Route from '@ember/routing/route'; + +export default Route.extend({ + model() { + return this.store.findAll('toto'); + } + +}); \ No newline at end of file diff --git a/tests/dummy/app/templates/entity-factory/toto.hbs b/tests/dummy/app/templates/entity-factory/toto.hbs new file mode 100644 index 0000000..64a00b3 --- /dev/null +++ b/tests/dummy/app/templates/entity-factory/toto.hbs @@ -0,0 +1,5 @@ +<h2>List of toto</h2> +{{models-table + data=totoTableContent + columns=totoTableColumns}} +{{outlet}} \ No newline at end of file diff --git a/tests/dummy/mirage/config.js b/tests/dummy/mirage/config.js new file mode 100644 index 0000000..66a08b4 --- /dev/null +++ b/tests/dummy/mirage/config.js @@ -0,0 +1,4 @@ +export default function() { + this.namespace = ''; +this.get('/totos', 'totos'); +} diff --git a/tests/dummy/mirage/factories/toto.js b/tests/dummy/mirage/factories/toto.js new file mode 100644 index 0000000..814694a --- /dev/null +++ b/tests/dummy/mirage/factories/toto.js @@ -0,0 +1,23 @@ +import { + Factory, + faker + } from 'ember-cli-mirage'; + + export default Factory.extend({ + //default generated factory + + title () { + return faker.name.findName() + }, + description () { + return faker.name.findName() + }, + number () { + return faker.random.number({min: 0,max: 10000}) + }, + isVisible () { + return faker.random.boolean() + } + + }) + \ No newline at end of file diff --git a/tests/dummy/mirage/models/toto.js b/tests/dummy/mirage/models/toto.js new file mode 100644 index 0000000..7acee99 --- /dev/null +++ b/tests/dummy/mirage/models/toto.js @@ -0,0 +1,7 @@ +import { + Model + } from 'ember-cli-mirage'; + + export default Model.extend({ + }); + \ No newline at end of file diff --git a/tests/dummy/mirage/scenarios/default.js b/tests/dummy/mirage/scenarios/default.js new file mode 100644 index 0000000..4c68877 --- /dev/null +++ b/tests/dummy/mirage/scenarios/default.js @@ -0,0 +1,3 @@ +export default function(server) { + server.createList('toto', 10); +} diff --git a/tests/dummy/mirage/serializers/application.js b/tests/dummy/mirage/serializers/application.js new file mode 100644 index 0000000..eb1733c --- /dev/null +++ b/tests/dummy/mirage/serializers/application.js @@ -0,0 +1,4 @@ +import { JSONAPISerializer } from 'ember-cli-mirage'; + + export default JSONAPISerializer.extend({ +}); -- GitLab