mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Merge branch 'master' into devel
This commit is contained in:
@@ -61,7 +61,7 @@ run_save_node_bin: &run_save_node_bin
|
||||
build_machine_environment: &build_machine_environment
|
||||
# Specify that we want an actual machine (ala Circle 1.0), not a Docker image.
|
||||
docker:
|
||||
- image: meteor/circleci
|
||||
- image: meteor/circleci:android-27-node-8
|
||||
environment:
|
||||
# This multiplier scales the waitSecs for selftests.
|
||||
TIMEOUT_SCALE_FACTOR: 8
|
||||
|
||||
93
History.md
93
History.md
@@ -1,13 +1,80 @@
|
||||
## v.NEXT
|
||||
|
||||
### Breaking changes
|
||||
N/A
|
||||
## v1.8.1, 2019-04-03
|
||||
|
||||
### Migration steps
|
||||
### Breaking changes
|
||||
|
||||
* Although we are not aware of any specific backwards incompatibilities,
|
||||
the major upgrade of `cordova-android` from 6.4.0 to 7.1.4 likely
|
||||
deserves extra attention, if you use Cordova to build Android apps.
|
||||
|
||||
### Migration Steps
|
||||
N/A
|
||||
|
||||
### Changes
|
||||
|
||||
* Node has been updated from version 8.11.4 to version
|
||||
[8.15.1](https://nodejs.org/en/blog/release/v8.15.1/), an important
|
||||
[security release](https://nodejs.org/en/blog/vulnerability/february-2019-security-releases/),
|
||||
which includes the changes from four other minor releases:
|
||||
* [8.15.0](https://nodejs.org/en/blog/release/v8.15.0/)
|
||||
* [8.14.0](https://nodejs.org/en/blog/release/v8.14.0/), an important
|
||||
[security release](https://nodejs.org/en/blog/vulnerability/november-2018-security-releases/)
|
||||
* [8.12.0](https://nodejs.org/en/blog/release/v8.12.0/)
|
||||
* [8.13.0](https://nodejs.org/en/blog/release/v8.13.0/)
|
||||
|
||||
> Note: While Node 8.12.0 included changes that may improve the
|
||||
performance of Meteor apps, there have been reports of CPU usage spikes
|
||||
in production due to excessive garbage collection, so this version of
|
||||
Meteor should be considered experimental until those problems have been
|
||||
fixed. [Issue #10216](https://github.com/meteor/meteor/issues/10216)
|
||||
|
||||
* The `npm` tool has been upgraded to version
|
||||
[6.9.0](https://github.com/npm/cli/releases/tag/v6.9.0), and our
|
||||
[fork](https://github.com/meteor/pacote/tree/v9.5.0-meteor) of its
|
||||
`pacote` dependency has been updated to version 9.5.0.
|
||||
|
||||
* Mongo has been upgraded to version 4.0.6 for 64-bit systems (was 4.0.2),
|
||||
and 3.2.22 for 32-bit systems (was 3.2.19). The `mongodb` npm package
|
||||
used by `npm-mongo` has been updated to version 3.1.13 (was 3.1.6).
|
||||
|
||||
* The `fibers` npm package has been updated to version 3.1.1, a major
|
||||
update from version 2.0.0. Building this version of `fibers` requires a
|
||||
C++11 compiler, unlike previous versions. If you deploy your Meteor app
|
||||
manually (without using Galaxy), you may need to update the version of
|
||||
`g++` used when running `npm install` in the `bundle/programs/server`
|
||||
directory.
|
||||
|
||||
* The `meteor-babel` npm package has been updated to version 7.3.4.
|
||||
|
||||
* Cordova Hot Code Push mechanism is now switching versions explicitly with
|
||||
call to `WebAppLocalServer.switchToPendingVersion` instead of trying to
|
||||
switch every time a browser reload is detected. If you use any third
|
||||
party package or have your own HCP routines implemented be sure to call
|
||||
it before forcing a browser reload. If you use the automatic reload from
|
||||
the `Reload` meteor package you do not need to do anything.
|
||||
[cordova-plugin-meteor-webapp PR #62](https://github.com/meteor/cordova-plugin-meteor-webapp/pull/62)
|
||||
|
||||
* Multiple Cordova-related bugs have been fixed, including Xcode 10 build
|
||||
incompatibilities and hot code push errors due to duplicated
|
||||
images/assets. [PR #10339](https://github.com/meteor/meteor/pull/10339)
|
||||
|
||||
* The `cordova-android` and `cordova-ios` npm dependencies have been
|
||||
updated to 7.1.4 (from 6.4.0) and 4.5.5 (from 4.5.4), respectively.
|
||||
|
||||
* Build performance has improved (especially on Windows) thanks to
|
||||
additional caching implemented by [@zodern](https://github.com/zodern)
|
||||
in PRs [#10399](https://github.com/meteor/meteor/pull/10399),
|
||||
[#10452](https://github.com/meteor/meteor/pull/10452),
|
||||
[#10453](https://github.com/meteor/meteor/pull/10453), and
|
||||
[#10454](https://github.com/meteor/meteor/pull/10454).
|
||||
|
||||
* The `meteor mongo` command no longer uses the `--quiet` option, so the
|
||||
normal startup text will be displayed, albeit without the banner about
|
||||
Mongo's free monitoring service. See this
|
||||
[MongoDB Jira issue](https://jira.mongodb.org/browse/SERVER-38862)
|
||||
for more details.
|
||||
|
||||
* In Meteor packages, `client/` and `server/` directories no longer have
|
||||
any special meaning. In application code, `client/` directories are
|
||||
ignored during the server build, and `server/` directories are ignored
|
||||
@@ -16,6 +83,26 @@ N/A
|
||||
[Issue #10393](https://github.com/meteor/meteor/issues/10393)
|
||||
[PR #10414](https://github.com/meteor/meteor/pull/10414)
|
||||
|
||||
* If your application is using Git for version control, the current Git
|
||||
commit hash will now be exposed via the `Meteor.gitCommitHash` property
|
||||
while the app is running (in both server and client code), and also via
|
||||
the `"gitCommitHash"` property in the `star.json` file located in the
|
||||
root directory of builds produced by `meteor build`, for consumption by
|
||||
deployment tools. If you are not using Git, neither property will be
|
||||
defined. [PR #10442](https://github.com/meteor/meteor/pull/10442)
|
||||
|
||||
* The Meteor Tool now uses a more reliable method (the MongoDB
|
||||
[`isMaster` command](https://docs.mongodb.com/manual/reference/command/isMaster/))
|
||||
to detect when the local development database has started and is ready to
|
||||
accept read and write operations.
|
||||
[PR #10500](https://github.com/meteor/meteor/pull/10500)
|
||||
|
||||
* Setting the `x-no-compression` request header will prevent the `webapp`
|
||||
package from compressing responses with `gzip`, which may be useful if
|
||||
your Meteor app is behind a proxy that compresses resources with another
|
||||
compression algorithm, such as [brotli](https://github.com/google/brotli).
|
||||
[PR #10378](https://github.com/meteor/meteor/pull/10378)
|
||||
|
||||
## v1.8.0.2, 2019-01-07
|
||||
|
||||
### Breaking changes
|
||||
|
||||
3
meteor
3
meteor
@@ -1,7 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Note: Skip 8.12.0.0, as it has already been used.
|
||||
BUNDLE_VERSION=8.11.4.8
|
||||
BUNDLE_VERSION=8.15.1.1
|
||||
|
||||
# OS Check. Put here because here is where we download the precompiled
|
||||
# bundles that are arch specific.
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
// The client version of the client code currently running in the
|
||||
// browser.
|
||||
|
||||
import { ClientVersions } from "./client_versions.js";
|
||||
|
||||
const clientArch = Meteor.isCordova ? "web.cordova" :
|
||||
Meteor.isModern ? "web.browser" : "web.browser.legacy";
|
||||
|
||||
@@ -38,25 +40,21 @@ const autoupdateVersions =
|
||||
|
||||
export const Autoupdate = {};
|
||||
|
||||
// The collection of acceptable client versions.
|
||||
const ClientVersions =
|
||||
Autoupdate._ClientVersions = // Used by a self-test.
|
||||
new Mongo.Collection("meteor_autoupdate_clientVersions");
|
||||
// Stores acceptable client versions.
|
||||
const clientVersions =
|
||||
Autoupdate._clientVersions = // Used by a self-test.
|
||||
new ClientVersions();
|
||||
|
||||
Meteor.connection.registerStore(
|
||||
"meteor_autoupdate_clientVersions",
|
||||
clientVersions.createStore()
|
||||
);
|
||||
|
||||
Autoupdate.newClientAvailable = function () {
|
||||
return !! (
|
||||
ClientVersions.findOne({
|
||||
_id: clientArch,
|
||||
versionNonRefreshable: {
|
||||
$ne: autoupdateVersions.versionNonRefreshable,
|
||||
}
|
||||
}) ||
|
||||
ClientVersions.findOne({
|
||||
_id: clientArch,
|
||||
versionRefreshable: {
|
||||
$ne: autoupdateVersions.versionRefreshable,
|
||||
}
|
||||
})
|
||||
return clientVersions.newClientAvailable(
|
||||
clientArch,
|
||||
["versionRefreshable", "versionNonRefreshable"],
|
||||
autoupdateVersions
|
||||
);
|
||||
};
|
||||
|
||||
@@ -104,10 +102,7 @@ Autoupdate._retrySubscription = () => {
|
||||
resolved.then(() => checkNewVersionDocument(doc));
|
||||
}
|
||||
|
||||
const handle = ClientVersions.find().observe({
|
||||
added: check,
|
||||
changed: check
|
||||
});
|
||||
const stop = clientVersions.watch(check);
|
||||
|
||||
function checkNewVersionDocument(doc) {
|
||||
if (doc._id !== clientArch) {
|
||||
@@ -118,7 +113,7 @@ Autoupdate._retrySubscription = () => {
|
||||
autoupdateVersions.versionNonRefreshable) {
|
||||
// Non-refreshable assets have changed, so we have to reload the
|
||||
// whole page rather than just replacing <link> tags.
|
||||
if (handle) handle.stop();
|
||||
if (stop) stop();
|
||||
if (Package.reload) {
|
||||
// The reload package should be provided by ddp-client, which
|
||||
// is provided by the ddp package that autoupdate depends on.
|
||||
|
||||
@@ -1,21 +1,27 @@
|
||||
import { ClientVersions } from "./client_versions.js";
|
||||
|
||||
var autoupdateVersionsCordova =
|
||||
__meteor_runtime_config__.autoupdate.versions["web.cordova"] || {
|
||||
version: "unknown"
|
||||
};
|
||||
|
||||
// The collection of acceptable client versions.
|
||||
const ClientVersions =
|
||||
new Mongo.Collection("meteor_autoupdate_clientVersions");
|
||||
|
||||
export const Autoupdate = {};
|
||||
|
||||
Autoupdate.newClientAvailable =
|
||||
() => !! ClientVersions.findOne({
|
||||
_id: "web.cordova",
|
||||
version: {
|
||||
$ne: autoupdateVersionsCordova.version
|
||||
}
|
||||
});
|
||||
// Stores acceptable client versions.
|
||||
const clientVersions = new ClientVersions();
|
||||
|
||||
Meteor.connection.registerStore(
|
||||
"meteor_autoupdate_clientVersions",
|
||||
clientVersions.createStore()
|
||||
);
|
||||
|
||||
Autoupdate.newClientAvailable = function () {
|
||||
return clientVersions.newClientAvailable(
|
||||
"web.cordova",
|
||||
["version"],
|
||||
autoupdateVersionsCordova
|
||||
);
|
||||
};
|
||||
|
||||
var retry = new Retry({
|
||||
// Unlike the stream reconnect use of Retry, which we want to be instant
|
||||
@@ -59,11 +65,8 @@ Autoupdate._retrySubscription = () => {
|
||||
}
|
||||
}
|
||||
|
||||
ClientVersions.find({
|
||||
_id: "web.cordova"
|
||||
}).observe({
|
||||
added: checkNewVersionDocument,
|
||||
changed: checkNewVersionDocument
|
||||
clientVersions.watch(checkNewVersionDocument, {
|
||||
filter: "web.cordova"
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
// The ID of each document is the client architecture, and the fields of
|
||||
// the document are the versions described above.
|
||||
|
||||
import { ClientVersions } from "./client_versions.js";
|
||||
var Future = Npm.require("fibers/future");
|
||||
|
||||
export const Autoupdate = __meteor_runtime_config__.autoupdate = {
|
||||
@@ -34,11 +35,8 @@ export const Autoupdate = __meteor_runtime_config__.autoupdate = {
|
||||
versions: {}
|
||||
};
|
||||
|
||||
// The collection of acceptable client versions.
|
||||
const ClientVersions =
|
||||
new Mongo.Collection("meteor_autoupdate_clientVersions", {
|
||||
connection: null
|
||||
});
|
||||
// Stores acceptable client versions.
|
||||
const clientVersions = new ClientVersions();
|
||||
|
||||
// The client hash includes __meteor_runtime_config__, so wait until
|
||||
// all packages have loaded and have had a chance to populate the
|
||||
@@ -96,11 +94,8 @@ function updateVersions(shouldReloadClientProgram) {
|
||||
...Autoupdate.versions[arch],
|
||||
assets: WebApp.getRefreshableAssets(arch),
|
||||
};
|
||||
if (! ClientVersions.findOne({ _id: arch })) {
|
||||
ClientVersions.insert({ _id: arch, ...payload });
|
||||
} else {
|
||||
ClientVersions.update(arch, { $set: payload });
|
||||
}
|
||||
|
||||
clientVersions.set(arch, payload);
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -118,7 +113,13 @@ Meteor.publish(
|
||||
if (Autoupdate.appId && appId && Autoupdate.appId !== appId)
|
||||
return [];
|
||||
|
||||
return ClientVersions.find();
|
||||
const stop = clientVersions.watch((version, isNew) => {
|
||||
(isNew ? this.added : this.changed)
|
||||
.call(this, "meteor_autoupdate_clientVersions", version._id, version);
|
||||
});
|
||||
|
||||
this.onStop(() => stop());
|
||||
this.ready();
|
||||
},
|
||||
{is_auto: true}
|
||||
);
|
||||
@@ -132,8 +133,8 @@ Meteor.startup(function () {
|
||||
"version-refreshable",
|
||||
"version-cordova",
|
||||
].forEach(_id => {
|
||||
ClientVersions.upsert(_id, {
|
||||
$set: { version: "outdated" }
|
||||
clientVersions.set(_id, {
|
||||
version: "outdated"
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
104
packages/autoupdate/client_versions.js
Normal file
104
packages/autoupdate/client_versions.js
Normal file
@@ -0,0 +1,104 @@
|
||||
import { Tracker } from "meteor/tracker";
|
||||
|
||||
export class ClientVersions {
|
||||
constructor() {
|
||||
this._versions = new Map();
|
||||
this._watchCallbacks = new Set();
|
||||
}
|
||||
|
||||
// Creates a Livedata store for use with `Meteor.connection.registerStore`.
|
||||
// After the store is registered, document updates reported by Livedata are
|
||||
// merged with the documents in this `ClientVersions` instance.
|
||||
createStore() {
|
||||
return {
|
||||
update: ({ id, msg, fields }) => {
|
||||
if (msg === "added" || msg === "changed") {
|
||||
this.set(id, fields);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
hasVersions() {
|
||||
return this._versions.size > 0;
|
||||
}
|
||||
|
||||
get(id) {
|
||||
return this._versions.get(id);
|
||||
}
|
||||
|
||||
// Adds or updates a version document and invokes registered callbacks for the
|
||||
// added/updated document. If a document with the given ID already exists, its
|
||||
// fields are merged with `fields`.
|
||||
set(id, fields) {
|
||||
let version = this._versions.get(id);
|
||||
let isNew = false;
|
||||
|
||||
if (version) {
|
||||
Object.assign(version, fields);
|
||||
} else {
|
||||
version = {
|
||||
_id: id,
|
||||
...fields
|
||||
};
|
||||
|
||||
isNew = true;
|
||||
this._versions.set(id, version);
|
||||
}
|
||||
|
||||
this._watchCallbacks.forEach(({ fn, filter }) => {
|
||||
if (! filter || filter === version._id) {
|
||||
fn(version, isNew);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Registers a callback that will be invoked when a version document is added
|
||||
// or changed. Calling the function returned by `watch` removes the callback.
|
||||
// If `skipInitial` is true, the callback isn't be invoked for existing
|
||||
// documents. If `filter` is set, the callback is only invoked for documents
|
||||
// with ID `filter`.
|
||||
watch(fn, { skipInitial, filter } = {}) {
|
||||
if (! skipInitial) {
|
||||
const resolved = Promise.resolve();
|
||||
|
||||
this._versions.forEach((version) => {
|
||||
if (! filter || filter === version._id) {
|
||||
resolved.then(() => fn(version, true));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const callback = { fn, filter };
|
||||
this._watchCallbacks.add(callback);
|
||||
|
||||
return () => this._watchCallbacks.delete(callback);
|
||||
}
|
||||
|
||||
// A reactive data source for `Autoupdate.newClientAvailable`.
|
||||
newClientAvailable(id, fields, currentVersion) {
|
||||
function isNewVersion(version) {
|
||||
return (
|
||||
version._id === id &&
|
||||
fields.some((field) => version[field] !== currentVersion[field])
|
||||
);
|
||||
}
|
||||
|
||||
const dependency = new Tracker.Dependency();
|
||||
const version = this.get(id);
|
||||
|
||||
dependency.depend();
|
||||
|
||||
const stop = this.watch(
|
||||
(version) => {
|
||||
if (isNewVersion(version)) {
|
||||
dependency.changed();
|
||||
stop();
|
||||
}
|
||||
},
|
||||
{ skipInitial: true }
|
||||
);
|
||||
|
||||
return !! version && isNewVersion(version);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
summary: "Update the client when new client code is available",
|
||||
version: '1.5.1'
|
||||
version: '1.6.0'
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
@@ -15,10 +15,11 @@ Package.onUse(function (api) {
|
||||
'retry'
|
||||
], 'client');
|
||||
|
||||
api.use('reload', 'client', { weak: true });
|
||||
|
||||
api.use([
|
||||
'ecmascript',
|
||||
'ddp',
|
||||
'mongo',
|
||||
'ddp'
|
||||
], ['client', 'server']);
|
||||
|
||||
api.mainModule('autoupdate_server.js', 'server');
|
||||
|
||||
204
packages/babel-compiler/.npm/package/npm-shrinkwrap.json
generated
204
packages/babel-compiler/.npm/package/npm-shrinkwrap.json
generated
@@ -7,9 +7,9 @@
|
||||
"integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA=="
|
||||
},
|
||||
"@babel/core": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.0.tgz",
|
||||
"integrity": "sha512-7pvAdC4B+iKjFFp9Ztj0QgBndJ++qaMeonT185wAqUnhipw8idm9Rv1UMyBuKtYjfl6ORNkgEgcsYLfHX/GpLw==",
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz",
|
||||
"integrity": "sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==",
|
||||
"dependencies": {
|
||||
"json5": {
|
||||
"version": "2.1.0",
|
||||
@@ -19,9 +19,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/generator": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.0.tgz",
|
||||
"integrity": "sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz",
|
||||
"integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg=="
|
||||
},
|
||||
"@babel/helper-annotate-as-pure": {
|
||||
"version": "7.0.0",
|
||||
@@ -34,9 +34,9 @@
|
||||
"integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w=="
|
||||
},
|
||||
"@babel/helper-builder-react-jsx": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz",
|
||||
"integrity": "sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw=="
|
||||
"version": "7.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz",
|
||||
"integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw=="
|
||||
},
|
||||
"@babel/helper-call-delegate": {
|
||||
"version": "7.1.0",
|
||||
@@ -44,9 +44,9 @@
|
||||
"integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ=="
|
||||
},
|
||||
"@babel/helper-create-class-features-plugin": {
|
||||
"version": "7.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.1.tgz",
|
||||
"integrity": "sha512-EsEP7XLFmcJHjcuFYBxYD1FkP0irC8C9fsrt2tX/jrAi/eTnFI6DOPgVFb+WREeg1GboF+Ib+nCHbGBodyAXSg=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.3.4.tgz",
|
||||
"integrity": "sha512-uFpzw6L2omjibjxa8VGZsJUPL5wJH0zzGKpoz0ccBkzIa6C8kWNUbiBmQ0rgOKWlHJ6qzmfa6lTiGchiV8SC+g=="
|
||||
},
|
||||
"@babel/helper-define-map": {
|
||||
"version": "7.1.0",
|
||||
@@ -84,9 +84,9 @@
|
||||
"integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A=="
|
||||
},
|
||||
"@babel/helper-module-transforms": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz",
|
||||
"integrity": "sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw=="
|
||||
"version": "7.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz",
|
||||
"integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA=="
|
||||
},
|
||||
"@babel/helper-optimise-call-expression": {
|
||||
"version": "7.0.0",
|
||||
@@ -109,9 +109,9 @@
|
||||
"integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg=="
|
||||
},
|
||||
"@babel/helper-replace-supers": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz",
|
||||
"integrity": "sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.3.4.tgz",
|
||||
"integrity": "sha512-pvObL9WVf2ADs+ePg0jrqlhHoxRXlOa+SHRHzAXIz2xkYuOHfGl+fKxPMaS4Fq+uje8JQPobnertBBvyrWnQ1A=="
|
||||
},
|
||||
"@babel/helper-simple-access": {
|
||||
"version": "7.1.0",
|
||||
@@ -129,9 +129,9 @@
|
||||
"integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ=="
|
||||
},
|
||||
"@babel/helpers": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz",
|
||||
"integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A=="
|
||||
"version": "7.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz",
|
||||
"integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA=="
|
||||
},
|
||||
"@babel/highlight": {
|
||||
"version": "7.0.0",
|
||||
@@ -139,9 +139,9 @@
|
||||
"integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw=="
|
||||
},
|
||||
"@babel/parser": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.0.tgz",
|
||||
"integrity": "sha512-M74+GvK4hn1eejD9lZ7967qAwvqTZayQa3g10ag4s9uewgR7TKjeaT0YMyoq+gVfKYABiWZ4MQD701/t5e1Jhg=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz",
|
||||
"integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ=="
|
||||
},
|
||||
"@babel/plugin-proposal-async-generator-functions": {
|
||||
"version": "7.2.0",
|
||||
@@ -149,14 +149,14 @@
|
||||
"integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ=="
|
||||
},
|
||||
"@babel/plugin-proposal-class-properties": {
|
||||
"version": "7.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.1.tgz",
|
||||
"integrity": "sha512-/4FKFChkQ2Jgb8lBDsvFX496YTi7UWTetVgS8oJUpX1e/DlaoeEK57At27ug8Hu2zI2g8bzkJ+8k9qrHZRPGPA=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.4.tgz",
|
||||
"integrity": "sha512-lUf8D3HLs4yYlAo8zjuneLvfxN7qfKv1Yzbj5vjqaqMJxgJA3Ipwp4VUJ+OrOdz53Wbww6ahwB8UhB2HQyLotA=="
|
||||
},
|
||||
"@babel/plugin-proposal-object-rest-spread": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz",
|
||||
"integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.4.tgz",
|
||||
"integrity": "sha512-j7VQmbbkA+qrzNqbKHrBsW3ddFnOeva6wzSe/zB7T+xaxGc+RCpwo44wCmRixAIGRoIpmVgvzFzNJqQcO3/9RA=="
|
||||
},
|
||||
"@babel/plugin-syntax-async-generators": {
|
||||
"version": "7.2.0",
|
||||
@@ -184,9 +184,9 @@
|
||||
"integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA=="
|
||||
},
|
||||
"@babel/plugin-syntax-typescript": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz",
|
||||
"integrity": "sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g=="
|
||||
"version": "7.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz",
|
||||
"integrity": "sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag=="
|
||||
},
|
||||
"@babel/plugin-transform-arrow-functions": {
|
||||
"version": "7.2.0",
|
||||
@@ -194,9 +194,9 @@
|
||||
"integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg=="
|
||||
},
|
||||
"@babel/plugin-transform-async-to-generator": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz",
|
||||
"integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.3.4.tgz",
|
||||
"integrity": "sha512-Y7nCzv2fw/jEZ9f678MuKdMo99MFDJMT/PvD9LisrR5JDFcJH6vYeH6RnjVt3p5tceyGRvTtEN0VOlU+rgHZjA=="
|
||||
},
|
||||
"@babel/plugin-transform-block-scoped-functions": {
|
||||
"version": "7.2.0",
|
||||
@@ -204,14 +204,14 @@
|
||||
"integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w=="
|
||||
},
|
||||
"@babel/plugin-transform-block-scoping": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz",
|
||||
"integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.3.4.tgz",
|
||||
"integrity": "sha512-blRr2O8IOZLAOJklXLV4WhcEzpYafYQKSGT3+R26lWG41u/FODJuBggehtOwilVAcFu393v3OFj+HmaE6tVjhA=="
|
||||
},
|
||||
"@babel/plugin-transform-classes": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.0.tgz",
|
||||
"integrity": "sha512-aPCEkrhJYebDXcGTAP+cdUENkH7zqOlgbKwLbghjjHpJRJBWM/FSlCjMoPGA8oUdiMfOrk3+8EFPLLb5r7zj2w=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.3.4.tgz",
|
||||
"integrity": "sha512-J9fAvCFBkXEvBimgYxCjvaVDzL6thk0j0dBvCeZmIUDBwyt+nv6HfbImsSrWsYXfDNDivyANgJlFXDUWRTZBuA=="
|
||||
},
|
||||
"@babel/plugin-transform-computed-properties": {
|
||||
"version": "7.2.0",
|
||||
@@ -219,9 +219,9 @@
|
||||
"integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA=="
|
||||
},
|
||||
"@babel/plugin-transform-destructuring": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz",
|
||||
"integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ=="
|
||||
"version": "7.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz",
|
||||
"integrity": "sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw=="
|
||||
},
|
||||
"@babel/plugin-transform-exponentiation-operator": {
|
||||
"version": "7.2.0",
|
||||
@@ -229,9 +229,9 @@
|
||||
"integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A=="
|
||||
},
|
||||
"@babel/plugin-transform-flow-strip-types": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.0.tgz",
|
||||
"integrity": "sha512-xhQp0lyXA5vk8z1kJitdMozQYEWfo4MgC6neNXrb5euqHiTIGhj5ZWfFPkVESInQSk9WZz1bbNmIRz6zKfWGVA=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.3.4.tgz",
|
||||
"integrity": "sha512-PmQC9R7DwpBFA+7ATKMyzViz3zCaMNouzZMPZN2K5PnbBbtL3AXFYTkDk+Hey5crQq2A90UG5Uthz0mel+XZrA=="
|
||||
},
|
||||
"@babel/plugin-transform-for-of": {
|
||||
"version": "7.2.0",
|
||||
@@ -254,9 +254,9 @@
|
||||
"integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg=="
|
||||
},
|
||||
"@babel/plugin-transform-parameters": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz",
|
||||
"integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA=="
|
||||
"version": "7.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.3.3.tgz",
|
||||
"integrity": "sha512-IrIP25VvXWu/VlBWTpsjGptpomtIkYrN/3aDp4UKm7xK6UxZY88kcJ1UwETbzHAlwN21MnNfwlar0u8y3KpiXw=="
|
||||
},
|
||||
"@babel/plugin-transform-property-literals": {
|
||||
"version": "7.2.0",
|
||||
@@ -269,9 +269,9 @@
|
||||
"integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A=="
|
||||
},
|
||||
"@babel/plugin-transform-react-jsx": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz",
|
||||
"integrity": "sha512-h/fZRel5wAfCqcKgq3OhbmYaReo7KkoJBpt8XnvpS7wqaNMqtw5xhxutzcm35iMUWucfAdT/nvGTsWln0JTg2Q=="
|
||||
"version": "7.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz",
|
||||
"integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg=="
|
||||
},
|
||||
"@babel/plugin-transform-react-jsx-self": {
|
||||
"version": "7.2.0",
|
||||
@@ -284,14 +284,14 @@
|
||||
"integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g=="
|
||||
},
|
||||
"@babel/plugin-transform-regenerator": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz",
|
||||
"integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.3.4.tgz",
|
||||
"integrity": "sha512-hvJg8EReQvXT6G9H2MvNPXkv9zK36Vxa1+csAVTpE1J3j0zlHplw76uudEbJxgvqZzAq9Yh45FLD4pk5mKRFQA=="
|
||||
},
|
||||
"@babel/plugin-transform-runtime": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz",
|
||||
"integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.3.4.tgz",
|
||||
"integrity": "sha512-PaoARuztAdd5MgeVjAxnIDAIUet5KpogqaefQvPOmPYCxYoaPhautxDh3aO8a4xHsKgT/b9gSxR0BKK1MIewPA=="
|
||||
},
|
||||
"@babel/plugin-transform-shorthand-properties": {
|
||||
"version": "7.2.0",
|
||||
@@ -299,9 +299,9 @@
|
||||
"integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg=="
|
||||
},
|
||||
"@babel/plugin-transform-spread": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.0.tgz",
|
||||
"integrity": "sha512-7TtPIdwjS/i5ZBlNiQePQCovDh9pAhVbp/nGVRBZuUdBiVRThyyLend3OHobc0G+RLCPPAN70+z/MAMhsgJd/A=="
|
||||
"version": "7.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz",
|
||||
"integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w=="
|
||||
},
|
||||
"@babel/plugin-transform-sticky-regex": {
|
||||
"version": "7.2.0",
|
||||
@@ -319,9 +319,9 @@
|
||||
"integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw=="
|
||||
},
|
||||
"@babel/plugin-transform-typescript": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz",
|
||||
"integrity": "sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew=="
|
||||
"version": "7.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.3.2.tgz",
|
||||
"integrity": "sha512-Pvco0x0ZSCnexJnshMfaibQ5hnK8aUHSvjCQhC1JR8eeg+iBwt0AtCO7gWxJ358zZevuf9wPSO5rv+WJcbHPXQ=="
|
||||
},
|
||||
"@babel/plugin-transform-unicode-regex": {
|
||||
"version": "7.2.0",
|
||||
@@ -334,24 +334,24 @@
|
||||
"integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w=="
|
||||
},
|
||||
"@babel/runtime": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz",
|
||||
"integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz",
|
||||
"integrity": "sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g=="
|
||||
},
|
||||
"@babel/template": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz",
|
||||
"integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag=="
|
||||
"version": "7.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz",
|
||||
"integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g=="
|
||||
},
|
||||
"@babel/traverse": {
|
||||
"version": "7.1.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.6.tgz",
|
||||
"integrity": "sha512-CXedit6GpISz3sC2k2FsGCUpOhUqKdyL0lqNrImQojagnUMXf8hex4AxYFRuMkNGcvJX5QAFGzB5WJQmSv8SiQ=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz",
|
||||
"integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ=="
|
||||
},
|
||||
"@babel/types": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.0.tgz",
|
||||
"integrity": "sha512-b4v7dyfApuKDvmPb+O488UlGuR1WbwMXFsO/cyqMrnfvRAChZKJAYeeglWTjUO1b9UghKKgepAQM5tsvBJca6A=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz",
|
||||
"integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ=="
|
||||
},
|
||||
"acorn": {
|
||||
"version": "5.7.3",
|
||||
@@ -375,7 +375,7 @@
|
||||
},
|
||||
"babel-helper-is-nodes-equiv": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "http://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz",
|
||||
"resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz",
|
||||
"integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ="
|
||||
},
|
||||
"babel-helper-is-void-0": {
|
||||
@@ -521,9 +521,9 @@
|
||||
"integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA="
|
||||
},
|
||||
"babel-preset-meteor": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.2.0.tgz",
|
||||
"integrity": "sha512-bwM5Zc78kPBHB0N5YEo2dtj9V+f34l3LX6y4ACS4JzQ/QW0zFRqa7jaGwt1tKkLtxRjInUg6yzcY8Iq8nLBwQg=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.3.4.tgz",
|
||||
"integrity": "sha512-5S95oZLKn1RZexBCs3tPjjYXf2rJ8rBjkvJGkD9Bhut7XEGxDMMt1S+hhhGYo4ZwqOTmIeHv0EMppMWVxa7Lbg=="
|
||||
},
|
||||
"babel-preset-minify": {
|
||||
"version": "0.5.0",
|
||||
@@ -531,9 +531,9 @@
|
||||
"integrity": "sha512-xj1s9Mon+RFubH569vrGCayA9Fm2GMsCgDRm1Jb8SgctOB7KFcrVc2o8K3YHUyMz+SWP8aea75BoS8YfsXXuiA=="
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ=="
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "1.9.3",
|
||||
@@ -551,9 +551,9 @@
|
||||
"integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A=="
|
||||
},
|
||||
"debug": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
|
||||
"integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg=="
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw=="
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
@@ -566,9 +566,9 @@
|
||||
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
|
||||
},
|
||||
"globals": {
|
||||
"version": "11.9.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz",
|
||||
"integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg=="
|
||||
"version": "11.11.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz",
|
||||
"integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw=="
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "3.0.0",
|
||||
@@ -606,9 +606,9 @@
|
||||
"integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0="
|
||||
},
|
||||
"meteor-babel": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.2.0.tgz",
|
||||
"integrity": "sha512-hHpqdYRSZ9dt3bMv1Pw8U2QVD5l7qspwTb7L2g4w3DV0sw5d8sK8XthdILQhVohVNpomOvIq8TiGH1/RubF8GA=="
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.3.4.tgz",
|
||||
"integrity": "sha512-5aVvIa9yGRq2WlkO8tThWhc3f07escWb0t93KRYM0EnsUbv2rDmrAir0P+e+4rpyDDz7utOpIfuO1dT1F8SCSA=="
|
||||
},
|
||||
"meteor-babel-helpers": {
|
||||
"version": "0.0.3",
|
||||
@@ -617,7 +617,7 @@
|
||||
},
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
|
||||
},
|
||||
"ms": {
|
||||
@@ -651,9 +651,9 @@
|
||||
"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
|
||||
},
|
||||
"regenerator-transform": {
|
||||
"version": "0.13.3",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz",
|
||||
"integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA=="
|
||||
"version": "0.13.4",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.4.tgz",
|
||||
"integrity": "sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A=="
|
||||
},
|
||||
"regexpu-core": {
|
||||
"version": "4.4.0",
|
||||
@@ -672,7 +672,7 @@
|
||||
"dependencies": {
|
||||
"jsesc": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
|
||||
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
|
||||
}
|
||||
}
|
||||
@@ -683,9 +683,9 @@
|
||||
"integrity": "sha512-i0t837UYnWyJPCeesupZjmpThIppOPSs4I/uHmsWzQaiGQqtsYlbeJNN5i+61fe6UEA3Famc3IHnlm511poMnA=="
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
|
||||
"integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA=="
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz",
|
||||
"integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg=="
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
|
||||
@@ -6,11 +6,11 @@ Package.describe({
|
||||
// isn't possible because you can't publish a non-recommended
|
||||
// release with package versions that don't have a pre-release
|
||||
// identifier at the end (eg, -dev)
|
||||
version: '7.2.4'
|
||||
version: '7.3.4'
|
||||
});
|
||||
|
||||
Npm.depends({
|
||||
'meteor-babel': '7.2.0',
|
||||
'meteor-babel': '7.3.4',
|
||||
'json5': '2.1.0'
|
||||
});
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
summary: "Meteor's latency-compensated distributed data server",
|
||||
version: '2.2.0',
|
||||
version: '2.3.0',
|
||||
documentation: null
|
||||
});
|
||||
|
||||
@@ -34,11 +34,6 @@ Package.onUse(function (api) {
|
||||
api.use('facts-base', 'server', {weak: true});
|
||||
|
||||
api.use('callback-hook', 'server');
|
||||
|
||||
// we depend on LocalCollection._diffObjects, _applyChanges,
|
||||
// _idParse, _idStringify.
|
||||
api.use('minimongo', 'server');
|
||||
|
||||
api.export('DDPServer', 'server');
|
||||
|
||||
api.addFiles('stream_server.js', 'server');
|
||||
|
||||
6
packages/fetch/.npm/package/npm-shrinkwrap.json
generated
6
packages/fetch/.npm/package/npm-shrinkwrap.json
generated
@@ -2,9 +2,9 @@
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"node-fetch": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz",
|
||||
"integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U="
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz",
|
||||
"integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA=="
|
||||
},
|
||||
"whatwg-fetch": {
|
||||
"version": "2.0.4",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
Package.describe({
|
||||
name: "fetch",
|
||||
version: "0.1.0",
|
||||
version: "0.1.1",
|
||||
summary: "Isomorphic modern/legacy/Node polyfill for WHATWG fetch()",
|
||||
documentation: "README.md"
|
||||
});
|
||||
|
||||
Npm.depends({
|
||||
"node-fetch": "2.1.2",
|
||||
"node-fetch": "2.3.0",
|
||||
"whatwg-fetch": "2.0.4"
|
||||
});
|
||||
|
||||
|
||||
159
packages/http/.npm/package/npm-shrinkwrap.json
generated
159
packages/http/.npm/package/npm-shrinkwrap.json
generated
@@ -2,14 +2,14 @@
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "5.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz",
|
||||
"integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto="
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU="
|
||||
},
|
||||
"asn1": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
|
||||
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
|
||||
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="
|
||||
},
|
||||
"assert-plus": {
|
||||
"version": "1.0.0",
|
||||
@@ -27,19 +27,14 @@
|
||||
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
|
||||
},
|
||||
"aws4": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
|
||||
"integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
|
||||
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
|
||||
},
|
||||
"bcrypt-pbkdf": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
|
||||
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40="
|
||||
},
|
||||
"boom": {
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
|
||||
"integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE="
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
|
||||
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4="
|
||||
},
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
@@ -52,27 +47,15 @@
|
||||
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
|
||||
"integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk="
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
|
||||
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w=="
|
||||
},
|
||||
"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="
|
||||
},
|
||||
"cryptiles": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
|
||||
"integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
|
||||
"dependencies": {
|
||||
"boom": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz",
|
||||
"integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||
@@ -84,14 +67,14 @@
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||
},
|
||||
"ecc-jsbn": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
|
||||
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU="
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
|
||||
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk="
|
||||
},
|
||||
"extend": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
|
||||
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
||||
},
|
||||
"extsprintf": {
|
||||
"version": "1.3.0",
|
||||
@@ -99,9 +82,9 @@
|
||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
|
||||
"integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8="
|
||||
"version": "1.1.0",
|
||||
"resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
|
||||
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.0.0",
|
||||
@@ -114,9 +97,9 @@
|
||||
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz",
|
||||
"integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8="
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
|
||||
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="
|
||||
},
|
||||
"getpass": {
|
||||
"version": "0.1.7",
|
||||
@@ -129,19 +112,9 @@
|
||||
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
|
||||
},
|
||||
"har-validator": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
|
||||
"integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0="
|
||||
},
|
||||
"hawk": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz",
|
||||
"integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ=="
|
||||
},
|
||||
"hoek": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz",
|
||||
"integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ=="
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
|
||||
"integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA=="
|
||||
},
|
||||
"http-signature": {
|
||||
"version": "1.2.0",
|
||||
@@ -184,64 +157,64 @@
|
||||
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI="
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.30.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
|
||||
"integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
|
||||
"version": "1.37.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
|
||||
"integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.17",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
|
||||
"integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo="
|
||||
"version": "2.1.21",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
|
||||
"integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg=="
|
||||
},
|
||||
"oauth-sign": {
|
||||
"version": "0.8.2",
|
||||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
|
||||
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
|
||||
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
|
||||
},
|
||||
"performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
|
||||
},
|
||||
"psl": {
|
||||
"version": "1.1.29",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
|
||||
"integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
|
||||
},
|
||||
"punycode": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
|
||||
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.5.1",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
|
||||
"integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
|
||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
|
||||
},
|
||||
"request": {
|
||||
"version": "2.83.0",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz",
|
||||
"integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw=="
|
||||
"version": "2.88.0",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
|
||||
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg=="
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
|
||||
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
},
|
||||
"sntp": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz",
|
||||
"integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg=="
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"sshpk": {
|
||||
"version": "1.13.1",
|
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
|
||||
"integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M="
|
||||
},
|
||||
"stringstream": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
|
||||
"integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
|
||||
"version": "1.15.2",
|
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
|
||||
"integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA=="
|
||||
},
|
||||
"tough-cookie": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
|
||||
"integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE="
|
||||
"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=="
|
||||
},
|
||||
"tunnel-agent": {
|
||||
"version": "0.6.0",
|
||||
@@ -254,9 +227,9 @@
|
||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
|
||||
"integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
|
||||
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
|
||||
},
|
||||
"verror": {
|
||||
"version": "1.10.0",
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
Package.describe({
|
||||
summary: "Make HTTP calls to remote servers",
|
||||
version: '1.4.1'
|
||||
version: '1.4.2'
|
||||
});
|
||||
|
||||
Npm.depends({
|
||||
request: "2.83.0"
|
||||
request: "2.88.0"
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
summary: "The Meteor command-line tool",
|
||||
version: '1.8.0_2'
|
||||
version: '1.8.1'
|
||||
});
|
||||
|
||||
Package.includeTool();
|
||||
|
||||
@@ -56,6 +56,17 @@ Meteor = {
|
||||
isModern: config.isModern
|
||||
};
|
||||
|
||||
if (config.gitCommitHash) {
|
||||
/**
|
||||
* @summary Hexadecimal Git commit hash, if the application is using Git
|
||||
* for version control. Undefined otherwise.
|
||||
* @locus Anywhere
|
||||
* @static
|
||||
* @type {String}
|
||||
*/
|
||||
Meteor.gitCommitHash = config.gitCommitHash;
|
||||
}
|
||||
|
||||
if (config.PUBLIC_SETTINGS) {
|
||||
/**
|
||||
* @summary `Meteor.settings` contains deployment-specific configuration options. You can initialize settings by passing the `--settings` option (which takes the name of a file containing JSON data) to `meteor run` or `meteor deploy`. When running your server directly (e.g. from a bundle), you instead specify settings by putting the JSON directly into the `METEOR_SETTINGS` environment variable. If the settings object contains a key named `public`, then `Meteor.settings.public` will be available on the client as well as the server. All other properties of `Meteor.settings` are only defined on the server. You can rely on `Meteor.settings` and `Meteor.settings.public` being defined objects (not undefined) on both client and server even if there are no settings specified. Changes to `Meteor.settings.public` at runtime will be picked up by new client connections.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Package.describe({
|
||||
summary: "Core Meteor environment",
|
||||
version: '1.9.2'
|
||||
version: '1.9.3'
|
||||
});
|
||||
|
||||
Package.registerBuildPlugin({
|
||||
|
||||
@@ -3,8 +3,11 @@ meteorEnv = {
|
||||
TEST_METADATA: process.env.TEST_METADATA || "{}"
|
||||
};
|
||||
|
||||
if (typeof __meteor_runtime_config__ === "object") {
|
||||
__meteor_runtime_config__.meteorEnv = meteorEnv;
|
||||
const config = typeof __meteor_runtime_config__ === "object" &&
|
||||
__meteor_runtime_config__;
|
||||
|
||||
if (config) {
|
||||
config.meteorEnv = meteorEnv;
|
||||
}
|
||||
|
||||
Meteor = {
|
||||
@@ -39,6 +42,10 @@ if (! Meteor.settings.public) {
|
||||
// server, it also mutates
|
||||
// `__meteor_runtime_config__.PUBLIC_SETTINGS`, and the modified
|
||||
// settings will be sent to the client.
|
||||
if (typeof __meteor_runtime_config__ === "object") {
|
||||
__meteor_runtime_config__.PUBLIC_SETTINGS = Meteor.settings.public;
|
||||
if (config) {
|
||||
config.PUBLIC_SETTINGS = Meteor.settings.public;
|
||||
}
|
||||
|
||||
if (config && config.gitCommitHash) {
|
||||
Meteor.gitCommitHash = config.gitCommitHash;
|
||||
}
|
||||
|
||||
290
packages/minifier-css/.npm/package/npm-shrinkwrap.json
generated
290
packages/minifier-css/.npm/package/npm-shrinkwrap.json
generated
@@ -1,6 +1,11 @@
|
||||
{
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"@types/q": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz",
|
||||
"integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA=="
|
||||
},
|
||||
"alphanum-sort": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
|
||||
@@ -22,9 +27,24 @@
|
||||
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
|
||||
},
|
||||
"browserslist": {
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.4.tgz",
|
||||
"integrity": "sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA=="
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz",
|
||||
"integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg=="
|
||||
},
|
||||
"caller-callsite": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
|
||||
"integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ="
|
||||
},
|
||||
"caller-path": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
|
||||
"integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ="
|
||||
},
|
||||
"callsites": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
|
||||
"integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA="
|
||||
},
|
||||
"caniuse-api": {
|
||||
"version": "3.0.0",
|
||||
@@ -32,19 +52,26 @@
|
||||
"integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw=="
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30000904",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000904.tgz",
|
||||
"integrity": "sha512-M4sXvogCoY5Fp6fuXIaQG/MIexlEFQ3Lgwban+KlqiQUbUIkSmjAB8ZJIP79aj2cdqz2F1Lb+Z+5GwHvCrbLtg=="
|
||||
"version": "1.0.30000939",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz",
|
||||
"integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg=="
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
||||
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ=="
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||
"dependencies": {
|
||||
"supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"coa": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/coa/-/coa-2.0.1.tgz",
|
||||
"integrity": "sha512-5wfTTO8E2/ja4jFSxePXlG5nRu5bBtL/r1HCIpJW/lzT6yDtKl0u0Z4o/Vpz32IpKmBn7HerheEZQgA9N2DarQ=="
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
|
||||
"integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA=="
|
||||
},
|
||||
"color": {
|
||||
"version": "3.1.0",
|
||||
@@ -66,19 +93,14 @@
|
||||
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
|
||||
"integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw=="
|
||||
},
|
||||
"colors": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
|
||||
"integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
|
||||
},
|
||||
"cosmiconfig": {
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz",
|
||||
"integrity": "sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ=="
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz",
|
||||
"integrity": "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q=="
|
||||
},
|
||||
"css-color-names": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "http://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
|
||||
"resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
|
||||
"integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA="
|
||||
},
|
||||
"css-declaration-sorter": {
|
||||
@@ -119,9 +141,9 @@
|
||||
"integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w="
|
||||
},
|
||||
"css-what": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz",
|
||||
"integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ=="
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
|
||||
"integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg=="
|
||||
},
|
||||
"cssesc": {
|
||||
"version": "2.0.0",
|
||||
@@ -129,14 +151,14 @@
|
||||
"integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg=="
|
||||
},
|
||||
"cssnano": {
|
||||
"version": "4.1.7",
|
||||
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.7.tgz",
|
||||
"integrity": "sha512-AiXL90l+MDuQmRNyypG2P7ux7K4XklxYzNNUd5HXZCNcH8/N9bHPcpN97v8tXgRVeFL/Ed8iP8mVmAAu0ZpT7A=="
|
||||
"version": "4.1.9",
|
||||
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.9.tgz",
|
||||
"integrity": "sha512-osEbYy4kzaNY3nkd92Uf3hy5Jqb5Aztuv+Ze3Z6DjRhyntZDlb3YljiYDdJ05k167U86CZpSR+rbuJYN7N3oBQ=="
|
||||
},
|
||||
"cssnano-preset-default": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.5.tgz",
|
||||
"integrity": "sha512-f1uhya0ZAjPYtDD58QkBB0R+uYdzHPei7cDxJyQQIHt5acdhyGXaSXl2nDLzWHLwGFbZcHxQtkJS8mmNwnxTvw=="
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz",
|
||||
"integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA=="
|
||||
},
|
||||
"cssnano-util-get-arguments": {
|
||||
"version": "4.0.0",
|
||||
@@ -181,21 +203,14 @@
|
||||
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ=="
|
||||
},
|
||||
"dom-serializer": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
|
||||
"integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
|
||||
"dependencies": {
|
||||
"domelementtype": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
|
||||
"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
|
||||
}
|
||||
}
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
|
||||
"integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA=="
|
||||
},
|
||||
"domelementtype": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.2.1.tgz",
|
||||
"integrity": "sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA=="
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
|
||||
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
|
||||
},
|
||||
"domutils": {
|
||||
"version": "1.7.0",
|
||||
@@ -208,9 +223,9 @@
|
||||
"integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ=="
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.3.83",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.83.tgz",
|
||||
"integrity": "sha512-DqJoDarxq50dcHsOOlMLNoy+qQitlMNbYb6wwbE0oUw2veHdRkpNrhmngiUYKMErdJ8SJ48rpJsZTQgy5SoEAA=="
|
||||
"version": "1.3.113",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz",
|
||||
"integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g=="
|
||||
},
|
||||
"entities": {
|
||||
"version": "1.1.2",
|
||||
@@ -223,9 +238,9 @@
|
||||
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g=="
|
||||
},
|
||||
"es-abstract": {
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
|
||||
"integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA=="
|
||||
"version": "1.13.0",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
|
||||
"integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg=="
|
||||
},
|
||||
"es-to-primitive": {
|
||||
"version": "1.2.0",
|
||||
@@ -282,6 +297,11 @@
|
||||
"resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
|
||||
"integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ=="
|
||||
},
|
||||
"import-fresh": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
|
||||
"integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY="
|
||||
},
|
||||
"indexes-of": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
|
||||
@@ -319,7 +339,7 @@
|
||||
},
|
||||
"is-obj": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
|
||||
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
|
||||
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
|
||||
},
|
||||
"is-regex": {
|
||||
@@ -343,15 +363,20 @@
|
||||
"integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw=="
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.12.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
|
||||
"integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A=="
|
||||
"version": "3.12.2",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz",
|
||||
"integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q=="
|
||||
},
|
||||
"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=="
|
||||
},
|
||||
"lodash.get": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
|
||||
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
|
||||
},
|
||||
"lodash.memoize": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
|
||||
@@ -369,18 +394,18 @@
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM="
|
||||
},
|
||||
"node-releases": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.3.tgz",
|
||||
"integrity": "sha512-ZaZWMsbuDcetpHmYeKWPO6e63pSXLb50M7lJgCbcM2nC/nQC3daNifmtp5a2kp7EWwYfhuvH6zLPWkrF8IiDdw=="
|
||||
"version": "1.1.8",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz",
|
||||
"integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA=="
|
||||
},
|
||||
"normalize-url": {
|
||||
"version": "3.3.0",
|
||||
@@ -393,9 +418,9 @@
|
||||
"integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg=="
|
||||
},
|
||||
"object-keys": {
|
||||
"version": "1.0.12",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
|
||||
"integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag=="
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz",
|
||||
"integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg=="
|
||||
},
|
||||
"object.getownpropertydescriptors": {
|
||||
"version": "2.0.3",
|
||||
@@ -403,9 +428,9 @@
|
||||
"integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY="
|
||||
},
|
||||
"object.values": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz",
|
||||
"integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo="
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
|
||||
"integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg=="
|
||||
},
|
||||
"parse-json": {
|
||||
"version": "4.0.0",
|
||||
@@ -413,9 +438,9 @@
|
||||
"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA="
|
||||
},
|
||||
"postcss": {
|
||||
"version": "7.0.5",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
|
||||
"integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ=="
|
||||
"version": "7.0.14",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
|
||||
"integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg=="
|
||||
},
|
||||
"postcss-calc": {
|
||||
"version": "7.0.1",
|
||||
@@ -423,9 +448,9 @@
|
||||
"integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ=="
|
||||
},
|
||||
"postcss-colormin": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.2.tgz",
|
||||
"integrity": "sha512-1QJc2coIehnVFsz0otges8kQLsryi4lo19WD+U5xCWvXd0uw/Z+KKYnbiNDCnO9GP+PvErPHCG0jNvWTngk9Rw=="
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
|
||||
"integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw=="
|
||||
},
|
||||
"postcss-convert-values": {
|
||||
"version": "4.0.1",
|
||||
@@ -433,9 +458,9 @@
|
||||
"integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ=="
|
||||
},
|
||||
"postcss-discard-comments": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.1.tgz",
|
||||
"integrity": "sha512-Ay+rZu1Sz6g8IdzRjUgG2NafSNpp2MSMOQUb+9kkzzzP+kh07fP0yNbhtFejURnyVXSX3FYy2nVNW1QTnNjgBQ=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
|
||||
"integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg=="
|
||||
},
|
||||
"postcss-discard-duplicates": {
|
||||
"version": "4.0.2",
|
||||
@@ -453,14 +478,14 @@
|
||||
"integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg=="
|
||||
},
|
||||
"postcss-merge-longhand": {
|
||||
"version": "4.0.9",
|
||||
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.9.tgz",
|
||||
"integrity": "sha512-UVMXrXF5K/kIwUbK/crPFCytpWbNX2Q3dZSc8+nQUgfOHrCT4+MHncpdxVphUlQeZxlLXUJbDyXc5NBhTnS2tA=="
|
||||
"version": "4.0.11",
|
||||
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
|
||||
"integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw=="
|
||||
},
|
||||
"postcss-merge-rules": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.2.tgz",
|
||||
"integrity": "sha512-UiuXwCCJtQy9tAIxsnurfF0mrNHKc4NnNx6NxqmzNNjXpQwLSukUxELHTRF0Rg1pAmcoKLih8PwvZbiordchag==",
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
|
||||
"integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==",
|
||||
"dependencies": {
|
||||
"postcss-selector-parser": {
|
||||
"version": "3.1.1",
|
||||
@@ -475,19 +500,19 @@
|
||||
"integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg=="
|
||||
},
|
||||
"postcss-minify-gradients": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.1.tgz",
|
||||
"integrity": "sha512-pySEW3E6Ly5mHm18rekbWiAjVi/Wj8KKt2vwSfVFAWdW6wOIekgqxKxLU7vJfb107o3FDNPkaYFCxGAJBFyogA=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
|
||||
"integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q=="
|
||||
},
|
||||
"postcss-minify-params": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.1.tgz",
|
||||
"integrity": "sha512-h4W0FEMEzBLxpxIVelRtMheskOKKp52ND6rJv+nBS33G1twu2tCyurYj/YtgU76+UDCvWeNs0hs8HFAWE2OUFg=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
|
||||
"integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg=="
|
||||
},
|
||||
"postcss-minify-selectors": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.1.tgz",
|
||||
"integrity": "sha512-8+plQkomve3G+CodLCgbhAKrb5lekAnLYuL1d7Nz+/7RANpBEVdgBkPNwljfSKvZ9xkkZTZITd04KP+zeJTJqg==",
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
|
||||
"integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==",
|
||||
"dependencies": {
|
||||
"postcss-selector-parser": {
|
||||
"version": "3.1.1",
|
||||
@@ -502,29 +527,29 @@
|
||||
"integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g=="
|
||||
},
|
||||
"postcss-normalize-display-values": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz",
|
||||
"integrity": "sha512-R5mC4vaDdvsrku96yXP7zak+O3Mm9Y8IslUobk7IMP+u/g+lXvcN4jngmHY5zeJnrQvE13dfAg5ViU05ZFDwdg=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
|
||||
"integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ=="
|
||||
},
|
||||
"postcss-normalize-positions": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.1.tgz",
|
||||
"integrity": "sha512-GNoOaLRBM0gvH+ZRb2vKCIujzz4aclli64MBwDuYGU2EY53LwiP7MxOZGE46UGtotrSnmarPPZ69l2S/uxdaWA=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
|
||||
"integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA=="
|
||||
},
|
||||
"postcss-normalize-repeat-style": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.1.tgz",
|
||||
"integrity": "sha512-fFHPGIjBUyUiswY2rd9rsFcC0t3oRta4wxE1h3lpwfQZwFeFjXFSiDtdJ7APCmHQOnUZnqYBADNRPKPwFAONgA=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
|
||||
"integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q=="
|
||||
},
|
||||
"postcss-normalize-string": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.1.tgz",
|
||||
"integrity": "sha512-IJoexFTkAvAq5UZVxWXAGE0yLoNN/012v7TQh5nDo6imZJl2Fwgbhy3J2qnIoaDBrtUP0H7JrXlX1jjn2YcvCQ=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
|
||||
"integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA=="
|
||||
},
|
||||
"postcss-normalize-timing-functions": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.1.tgz",
|
||||
"integrity": "sha512-1nOtk7ze36+63ONWD8RCaRDYsnzorrj+Q6fxkQV+mlY5+471Qx9kspqv0O/qQNMeApg8KNrRf496zHwJ3tBZ7w=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
|
||||
"integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A=="
|
||||
},
|
||||
"postcss-normalize-unicode": {
|
||||
"version": "4.0.1",
|
||||
@@ -537,34 +562,34 @@
|
||||
"integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA=="
|
||||
},
|
||||
"postcss-normalize-whitespace": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.1.tgz",
|
||||
"integrity": "sha512-U8MBODMB2L+nStzOk6VvWWjZgi5kQNShCyjRhMT3s+W9Jw93yIjOnrEkKYD3Ul7ChWbEcjDWmXq0qOL9MIAnAw=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
|
||||
"integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA=="
|
||||
},
|
||||
"postcss-ordered-values": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.1.tgz",
|
||||
"integrity": "sha512-PeJiLgJWPzkVF8JuKSBcylaU+hDJ/TX3zqAMIjlghgn1JBi6QwQaDZoDIlqWRcCAI8SxKrt3FCPSRmOgKRB97Q=="
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
|
||||
"integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw=="
|
||||
},
|
||||
"postcss-reduce-initial": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.2.tgz",
|
||||
"integrity": "sha512-epUiC39NonKUKG+P3eAOKKZtm5OtAtQJL7Ye0CBN1f+UQTHzqotudp+hki7zxXm7tT0ZAKDMBj1uihpPjP25ug=="
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
|
||||
"integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA=="
|
||||
},
|
||||
"postcss-reduce-transforms": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.1.tgz",
|
||||
"integrity": "sha512-sZVr3QlGs0pjh6JAIe6DzWvBaqYw05V1t3d9Tp+VnFRT5j+rsqoWsysh/iSD7YNsULjq9IAylCznIwVd5oU/zA=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
|
||||
"integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg=="
|
||||
},
|
||||
"postcss-selector-parser": {
|
||||
"version": "5.0.0-rc.4",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0-rc.4.tgz",
|
||||
"integrity": "sha512-0XvfYuShrKlTk1ooUrVzMCFQRcypsdEIsGqh5IxC5rdtBi4/M/tDAJeSONwC2MTqEFsmPZYAV7Dd4X8rgAfV0A=="
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
|
||||
"integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ=="
|
||||
},
|
||||
"postcss-svgo": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.1.tgz",
|
||||
"integrity": "sha512-YD5uIk5NDRySy0hcI+ZJHwqemv2WiqqzDgtvgMzO8EGSkK5aONyX8HMVFRFJSdO8wUWTuisUFn/d7yRRbBr5Qw=="
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz",
|
||||
"integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw=="
|
||||
},
|
||||
"postcss-unique-selectors": {
|
||||
"version": "4.0.1",
|
||||
@@ -581,6 +606,11 @@
|
||||
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
|
||||
"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
|
||||
},
|
||||
"resolve-from": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
|
||||
"integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
|
||||
},
|
||||
"rgb-regex": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
|
||||
@@ -629,9 +659,9 @@
|
||||
"integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
|
||||
},
|
||||
"stylehacks": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.1.tgz",
|
||||
"integrity": "sha512-TK5zEPeD9NyC1uPIdjikzsgWxdQQN/ry1X3d1iOz1UkYDCmcr928gWD1KHgyC27F50UnE0xCTrBOO1l6KR8M4w==",
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
|
||||
"integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==",
|
||||
"dependencies": {
|
||||
"postcss-selector-parser": {
|
||||
"version": "3.1.1",
|
||||
@@ -641,14 +671,14 @@
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
|
||||
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ=="
|
||||
},
|
||||
"svgo": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.1.1.tgz",
|
||||
"integrity": "sha512-GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g=="
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.2.0.tgz",
|
||||
"integrity": "sha512-xBfxJxfk4UeVN8asec9jNxHiv3UAMv/ujwBWGYvQhhMb2u3YTGKkiybPcLFDLq7GLLWE9wa73e0/m8L5nTzQbw=="
|
||||
},
|
||||
"timsort": {
|
||||
"version": "0.3.0",
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
Package.describe({
|
||||
summary: 'CSS minifier',
|
||||
version: '1.4.1'
|
||||
version: '1.4.2'
|
||||
});
|
||||
|
||||
Npm.depends({
|
||||
postcss: '7.0.5',
|
||||
cssnano: '4.1.7'
|
||||
postcss: '7.0.14',
|
||||
cssnano: '4.1.9'
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
|
||||
},
|
||||
"source-map-support": {
|
||||
"version": "0.5.9",
|
||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz",
|
||||
"integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA=="
|
||||
"version": "0.5.10",
|
||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz",
|
||||
"integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ=="
|
||||
},
|
||||
"terser": {
|
||||
"version": "3.9.2",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-3.9.2.tgz",
|
||||
"integrity": "sha512-zOaL2PwflERZkVWbzv8rGbDR493fUaD/KXIUz/vjuvyH6Cxwu4pitM6con3Jy4bWtcQJwNOvN4rHltFeTEwZQA=="
|
||||
"version": "3.16.1",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz",
|
||||
"integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
Package.describe({
|
||||
summary: "JavaScript minifier",
|
||||
version: "2.4.0"
|
||||
version: "2.4.1"
|
||||
});
|
||||
|
||||
Npm.depends({
|
||||
terser: "3.9.2"
|
||||
terser: "3.16.1"
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
name: "modern-browsers",
|
||||
version: "0.1.3",
|
||||
version: "0.1.4",
|
||||
summary: "API for defining the boundary between modern and legacy " +
|
||||
"JavaScript clients",
|
||||
documentation: "README.md"
|
||||
|
||||
@@ -270,7 +270,11 @@ _.extend(OplogHandle.prototype, {
|
||||
if (doc.o.applyOps) {
|
||||
// This was a successful transaction, so we need to apply the
|
||||
// operations that were involved.
|
||||
doc.o.applyOps.forEach(handleDoc);
|
||||
doc.o.applyOps.forEach(op => {
|
||||
// See https://github.com/meteor/meteor/issues/10420.
|
||||
op.ts = op.ts || doc.ts;
|
||||
handleDoc(op);
|
||||
});
|
||||
return;
|
||||
}
|
||||
throw new Error("Unknown command " + EJSON.stringify(doc));
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
Package.describe({
|
||||
summary: "Adaptor for using MongoDB and Minimongo over DDP",
|
||||
version: '1.6.1'
|
||||
version: '1.6.2'
|
||||
});
|
||||
|
||||
Npm.depends({
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"decimal.js": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-9.0.1.tgz",
|
||||
"integrity": "sha512-2h0iKbJwnImBk4TGk7CG1xadoA0g3LDPlQhQzbZ221zvG0p2YVUedbKIPsOZXKZGx6YmZMJKYOalpCMxSdDqTQ=="
|
||||
"version": "10.0.2",
|
||||
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.0.2.tgz",
|
||||
"integrity": "sha512-qL5tUTXAWjB5cSBfm0V2a4jO5FaDLumCfwc/0f7WaTOT3WU8pIeq2HHrd98eXHtbey4qFWlaPzfml1JWIoO9TQ=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
Package.describe({
|
||||
summary: "JS simulation of MongoDB Decimal128 type",
|
||||
version: '0.1.0'
|
||||
version: '0.1.1'
|
||||
});
|
||||
|
||||
Npm.depends({
|
||||
"decimal.js": "9.0.1"
|
||||
"decimal.js": "10.0.2"
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
|
||||
24
packages/npm-mongo/.npm/package/npm-shrinkwrap.json
generated
24
packages/npm-mongo/.npm/package/npm-shrinkwrap.json
generated
@@ -7,19 +7,19 @@
|
||||
"integrity": "sha512-9Aeai9TacfNtWXOYarkFJRW2CWo+dRon+fuLZYJmvLV3+MiUp0bEI6IAZfXEIg7/Pl/7IWlLaDnhzTsD81etQA=="
|
||||
},
|
||||
"memory-pager": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.1.0.tgz",
|
||||
"integrity": "sha512-Mf9OHV/Y7h6YWDxTzX/b4ZZ4oh9NSXblQL8dtPCOomOtZciEHxePR78+uHFLLlsk01A6jVHhHsQZZ/WcIPpnzg=="
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
|
||||
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg=="
|
||||
},
|
||||
"mongodb": {
|
||||
"version": "3.1.6",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.1.6.tgz",
|
||||
"integrity": "sha512-E5QJuXQoMlT7KyCYqNNMfAkhfQD79AT4F8Xd+6x37OX+8BL17GyXyWvfm6wuyx4wnzCCPoCSLeMeUN2S7dU9yw=="
|
||||
"version": "3.1.13",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.1.13.tgz",
|
||||
"integrity": "sha512-sz2dhvBZQWf3LRNDhbd30KHVzdjZx9IKC0L+kSZ/gzYquCF5zPOgGqRz6sSCqYZtKP2ekB4nfLxhGtzGHnIKxA=="
|
||||
},
|
||||
"mongodb-core": {
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.1.5.tgz",
|
||||
"integrity": "sha512-emT/tM4ZBinqd6RZok+EzDdtN4LjYJIckv71qQVOEFmvXgT5cperZegVmTgox/1cx4XQu6LJ5ZuIwipP/eKdQg=="
|
||||
"version": "3.1.11",
|
||||
"resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.1.11.tgz",
|
||||
"integrity": "sha512-rD2US2s5qk/ckbiiGFHeu+yKYDXdJ1G87F6CG3YdaZpzdOm5zpoAZd/EKbPmFO6cQZ+XVXBXBJ660sSI0gc6qg=="
|
||||
},
|
||||
"require_optional": {
|
||||
"version": "1.0.1",
|
||||
@@ -42,9 +42,9 @@
|
||||
"integrity": "sha512-4cDsYuAjXssUSjxHKRe4DTZC0agDwsCqcMqtJAQPzC74nJ7LfAJflAtC1Zed5hMzEQKj82d3tuzqdGNRsLJ4Gw=="
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.5.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz",
|
||||
"integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw=="
|
||||
"version": "5.6.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
|
||||
"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
|
||||
},
|
||||
"sparse-bitfield": {
|
||||
"version": "3.0.3",
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
|
||||
Package.describe({
|
||||
summary: "Wrapper around the mongo npm package",
|
||||
version: "3.1.1",
|
||||
version: "3.1.2",
|
||||
documentation: null
|
||||
});
|
||||
|
||||
Npm.depends({
|
||||
mongodb: "3.1.6"
|
||||
mongodb: "3.1.13"
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
Package.describe({
|
||||
summary: "Reactive dictionary",
|
||||
version: '1.2.1'
|
||||
version: '1.3.0'
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
api.use(['tracker', 'ejson', 'ecmascript']);
|
||||
// If we are loading mongo-livedata, let you store ObjectIDs in it.
|
||||
api.use('mongo', {weak: true});
|
||||
api.use(['mongo', 'reload'], { weak: true });
|
||||
api.mainModule('migration.js');
|
||||
api.export('ReactiveDict');
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
summary: "Reload the page while preserving application state.",
|
||||
version: '1.2.0'
|
||||
version: '1.3.0'
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
|
||||
@@ -60,7 +60,7 @@ try {
|
||||
// Be consistently null, for safety
|
||||
safeSessionStorage = null;
|
||||
}
|
||||
} catch(e) {
|
||||
} catch (e) {
|
||||
// Expected on chrome with strict security, or if sessionStorage not supported
|
||||
safeSessionStorage = null;
|
||||
}
|
||||
@@ -125,7 +125,7 @@ Reload._onMigrate = function (name, callback) {
|
||||
callback = name;
|
||||
name = undefined;
|
||||
}
|
||||
providers.push({name: name, callback: callback});
|
||||
providers.push({ name: name, callback: callback });
|
||||
};
|
||||
|
||||
// Called by packages when they start up.
|
||||
@@ -220,17 +220,27 @@ Reload._reload = function (options) {
|
||||
setTimeout(reload, 1);
|
||||
}
|
||||
|
||||
function forceBrowserReload() {
|
||||
// We'd like to make the browser reload the page using location.replace()
|
||||
// instead of location.reload(), because this avoids validating assets
|
||||
// with the server if we still have a valid cached copy. This doesn't work
|
||||
// when the location contains a hash however, because that wouldn't reload
|
||||
// the page and just scroll to the hash location instead.
|
||||
if (window.location.hash || window.location.href.endsWith("#")) {
|
||||
window.location.reload();
|
||||
} else {
|
||||
window.location.replace(window.location.href);
|
||||
}
|
||||
}
|
||||
|
||||
function reload() {
|
||||
if (Reload._migrate(tryReload, options)) {
|
||||
// We'd like to make the browser reload the page using location.replace()
|
||||
// instead of location.reload(), because this avoids validating assets
|
||||
// with the server if we still have a valid cached copy. This doesn't work
|
||||
// when the location contains a hash however, because that wouldn't reload
|
||||
// the page and just scroll to the hash location instead.
|
||||
if (window.location.hash || window.location.href.endsWith("#")) {
|
||||
window.location.reload();
|
||||
if (Meteor.isCordova) {
|
||||
WebAppLocalServer.switchToPendingVersion(() => {
|
||||
forceBrowserReload();
|
||||
});
|
||||
} else {
|
||||
window.location.replace(window.location.href);
|
||||
forceBrowserReload();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
name: 'standard-minifier-css',
|
||||
version: '1.5.2',
|
||||
version: '1.5.3',
|
||||
summary: 'Standard css minifier used with Meteor apps by default.',
|
||||
documentation: 'README.md'
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
name: 'standard-minifier-js',
|
||||
version: '2.4.0',
|
||||
version: '2.4.1',
|
||||
summary: 'Standard javascript minifiers used with Meteor apps by default.',
|
||||
documentation: 'README.md',
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
summary: "Serves a Meteor app over HTTP",
|
||||
version: '1.7.2'
|
||||
version: '1.7.3'
|
||||
});
|
||||
|
||||
Npm.depends({"basic-auth-connect": "1.0.0",
|
||||
@@ -20,9 +20,9 @@ Npm.strip({
|
||||
});
|
||||
|
||||
Cordova.depends({
|
||||
'cordova-plugin-whitelist': '1.3.2',
|
||||
'cordova-plugin-wkwebview-engine': '1.1.3',
|
||||
'cordova-plugin-meteor-webapp': '1.6.0'
|
||||
'cordova-plugin-whitelist': '1.3.3',
|
||||
'cordova-plugin-wkwebview-engine': '1.1.4',
|
||||
'cordova-plugin-meteor-webapp': '1.6.5'
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
|
||||
@@ -14,10 +14,7 @@ import query from "qs-middleware";
|
||||
import parseRequest from "parseurl";
|
||||
import basicAuth from "basic-auth-connect";
|
||||
import { lookup as lookupUserAgent } from "useragent";
|
||||
import {
|
||||
isModern,
|
||||
calculateHashOfMinimumVersions,
|
||||
} from "meteor/modern-browsers";
|
||||
import { isModern } from "meteor/modern-browsers";
|
||||
import send from "send";
|
||||
import {
|
||||
removeExistingSocketFile,
|
||||
@@ -64,6 +61,16 @@ var sha1 = function (contents) {
|
||||
return hash.digest('hex');
|
||||
};
|
||||
|
||||
function shouldCompress(req, res) {
|
||||
if (req.headers['x-no-compression']) {
|
||||
// don't compress responses with this request header
|
||||
return false;
|
||||
}
|
||||
|
||||
// fallback to standard filter function
|
||||
return compress.filter(req, res);
|
||||
};
|
||||
|
||||
// #BrowserIdentification
|
||||
//
|
||||
// We have multiple places that want to identify the browser: the
|
||||
@@ -356,8 +363,6 @@ WebAppInternals.generateBoilerplateInstance = function (arch,
|
||||
// - content: the stringified content that should be served at this path
|
||||
// - absolutePath: the absolute path on disk to the file
|
||||
|
||||
var staticFilesByArch;
|
||||
|
||||
// Serve static files from the manifest or added with
|
||||
// `addStaticJs`. Exported for tests.
|
||||
WebAppInternals.staticFilesMiddleware = async function (
|
||||
@@ -408,7 +413,7 @@ WebAppInternals.staticFilesMiddleware = async function (
|
||||
return;
|
||||
}
|
||||
|
||||
const info = getStaticFileInfo(pathname, path, arch);
|
||||
const info = getStaticFileInfo(staticFilesByArch, pathname, path, arch);
|
||||
if (! info) {
|
||||
next();
|
||||
return;
|
||||
@@ -478,7 +483,7 @@ WebAppInternals.staticFilesMiddleware = async function (
|
||||
}
|
||||
};
|
||||
|
||||
function getStaticFileInfo(originalPath, path, arch) {
|
||||
function getStaticFileInfo(staticFilesByArch, originalPath, path, arch) {
|
||||
if (! hasOwn.call(WebApp.clientPrograms, arch)) {
|
||||
return null;
|
||||
}
|
||||
@@ -587,14 +592,16 @@ function runWebAppServer() {
|
||||
|
||||
WebAppInternals.reloadClientPrograms = function () {
|
||||
syncQueue.runTask(function() {
|
||||
staticFilesByArch = Object.create(null);
|
||||
const staticFilesByArch = Object.create(null);
|
||||
|
||||
const { configJson } = __meteor_bootstrap__;
|
||||
const clientArchs = configJson.clientArchs ||
|
||||
Object.keys(configJson.clientPaths);
|
||||
|
||||
try {
|
||||
clientArchs.forEach(generateClientProgram);
|
||||
clientArchs.forEach(arch => {
|
||||
generateClientProgram(arch, staticFilesByArch);
|
||||
});
|
||||
WebAppInternals.staticFilesByArch = staticFilesByArch;
|
||||
} catch (e) {
|
||||
Log.error("Error reloading the client program: " + e.stack);
|
||||
@@ -628,7 +635,10 @@ function runWebAppServer() {
|
||||
syncQueue.runTask(() => generateClientProgram(arch));
|
||||
};
|
||||
|
||||
function generateClientProgram(arch) {
|
||||
function generateClientProgram(
|
||||
arch,
|
||||
staticFilesByArch = WebAppInternals.staticFilesByArch,
|
||||
) {
|
||||
const clientDir = pathJoin(
|
||||
pathDirname(__meteor_bootstrap__.serverDir),
|
||||
arch,
|
||||
@@ -683,11 +693,6 @@ function runWebAppServer() {
|
||||
const { PUBLIC_SETTINGS } = __meteor_runtime_config__;
|
||||
const configOverrides = {
|
||||
PUBLIC_SETTINGS,
|
||||
// Since the minimum modern versions defined in the modern-versions
|
||||
// package affect which bundle a given client receives, any changes
|
||||
// in those versions should trigger a corresponding change in the
|
||||
// versions calculated below.
|
||||
minimumModernVersionsHash: calculateHashOfMinimumVersions(),
|
||||
};
|
||||
|
||||
const oldProgram = WebApp.clientPrograms[arch];
|
||||
@@ -697,6 +702,10 @@ function runWebAppServer() {
|
||||
// Use arrow functions so that these versions can be lazily
|
||||
// calculated later, and so that they will not be included in the
|
||||
// staticFiles[manifestUrl].content string below.
|
||||
//
|
||||
// Note: these version calculations must be kept in agreement with
|
||||
// CordovaBuilder#appendVersion in tools/cordova/builder.js, or hot
|
||||
// code push will reload Cordova apps unnecessarily.
|
||||
version: () => WebAppHashing.calculateClientHash(
|
||||
manifest, null, configOverrides),
|
||||
versionRefreshable: () => WebAppHashing.calculateClientHash(
|
||||
@@ -819,7 +828,7 @@ function runWebAppServer() {
|
||||
app.use(rawConnectHandlers);
|
||||
|
||||
// Auto-compress any json, javascript, or text.
|
||||
app.use(compress());
|
||||
app.use(compress({filter: shouldCompress}));
|
||||
|
||||
// parse cookies into an object
|
||||
app.use(cookieParser());
|
||||
@@ -887,7 +896,10 @@ function runWebAppServer() {
|
||||
// Serve static files from the manifest.
|
||||
// This is inspired by the 'static' middleware.
|
||||
app.use(function (req, res, next) {
|
||||
WebAppInternals.staticFilesMiddleware(staticFilesByArch, req, res, next);
|
||||
WebAppInternals.staticFilesMiddleware(
|
||||
WebAppInternals.staticFilesByArch,
|
||||
req, res, next
|
||||
);
|
||||
});
|
||||
|
||||
// Core Meteor packages like dynamic-import can add handlers before
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"track": "METEOR",
|
||||
"version": "1.8.0.2-rc.2",
|
||||
"version": "1.8.1-rc.1",
|
||||
"recommended": false,
|
||||
"official": false,
|
||||
"description": "Meteor"
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"track": "METEOR",
|
||||
"version": "1.8.0.2",
|
||||
"version": "1.8.1",
|
||||
"recommended": false,
|
||||
"official": true,
|
||||
"patchFrom": [
|
||||
"1.8",
|
||||
"1.8.0.1"
|
||||
"1.8.0.1",
|
||||
"1.8.0.2"
|
||||
],
|
||||
"description": "The Official Meteor Distribution"
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ set -u
|
||||
|
||||
UNAME=$(uname)
|
||||
ARCH=$(uname -m)
|
||||
NODE_VERSION=8.11.4
|
||||
MONGO_VERSION_64BIT=4.0.2
|
||||
MONGO_VERSION_32BIT=3.2.19
|
||||
NPM_VERSION=6.4.1
|
||||
NODE_VERSION=8.15.1
|
||||
MONGO_VERSION_64BIT=4.0.6
|
||||
MONGO_VERSION_32BIT=3.2.22
|
||||
NPM_VERSION=6.9.0
|
||||
|
||||
# If we built Node from source on Jenkins, this is the build number.
|
||||
NODE_BUILD_NUMBER=
|
||||
|
||||
@@ -8,8 +8,8 @@ var packageJson = {
|
||||
name: "meteor-dev-bundle",
|
||||
private: true,
|
||||
dependencies: {
|
||||
fibers: "3.1.1",
|
||||
"meteor-promise": "0.8.7",
|
||||
fibers: "2.0.0",
|
||||
promise: "8.0.2",
|
||||
// Not yet upgrading Underscore from 1.5.2 to 1.7.0 (which should be done
|
||||
// in the package too) because we should consider using lodash instead
|
||||
|
||||
@@ -10,17 +10,16 @@ var packageJson = {
|
||||
dependencies: {
|
||||
// Explicit dependency because we are replacing it with a bundled version
|
||||
// and we want to make sure there are no dependencies on a higher version
|
||||
npm: "6.4.1",
|
||||
pacote: "https://github.com/meteor/pacote/tarball/a3285854a68e4969d6c8abaa74407f7d113b178f",
|
||||
npm: "6.9.0",
|
||||
pacote: "https://github.com/meteor/pacote/tarball/c5043daa1b768594e01d76275e3854fc19f038f9",
|
||||
"node-gyp": "3.7.0",
|
||||
"node-pre-gyp": "0.10.3",
|
||||
"meteor-babel": "7.2.0",
|
||||
"meteor-babel": "7.3.4",
|
||||
"meteor-promise": "0.8.7",
|
||||
promise: "8.0.1",
|
||||
reify: "0.17.3",
|
||||
fibers: "2.0.0",
|
||||
fibers: "3.1.1",
|
||||
// So that Babel can emit require("@babel/runtime/helpers/...") calls.
|
||||
"@babel/runtime": "7.2.0",
|
||||
"@babel/runtime": "7.3.4",
|
||||
// For backwards compatibility with isopackets that still depend on
|
||||
// babel-runtime rather than @babel/runtime.
|
||||
"babel-runtime": "7.0.0-beta.3",
|
||||
@@ -30,12 +29,12 @@ var packageJson = {
|
||||
underscore: "1.5.2",
|
||||
"source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e",
|
||||
semver: "5.4.1",
|
||||
request: "2.83.0",
|
||||
request: "2.88.0",
|
||||
uuid: "3.3.2",
|
||||
fstream: "https://github.com/meteor/fstream/tarball/cf4ea6c175355cec7bee38311e170d08c4078a5d",
|
||||
tar: "2.2.1",
|
||||
kexec: "3.0.0",
|
||||
"source-map": "0.5.3",
|
||||
"source-map": "0.5.7",
|
||||
chalk: "0.5.1",
|
||||
sqlite3: "3.1.8",
|
||||
netroute: "1.0.2",
|
||||
@@ -52,8 +51,8 @@ var packageJson = {
|
||||
escope: "3.6.0",
|
||||
split2: "2.2.0",
|
||||
multipipe: "2.0.1",
|
||||
pathwatcher: "7.1.1",
|
||||
optimism: "0.6.3",
|
||||
pathwatcher: "8.0.2",
|
||||
optimism: "0.8.3",
|
||||
'lru-cache': '4.1.3'
|
||||
}
|
||||
};
|
||||
|
||||
@@ -115,6 +115,9 @@ ls -al "$INCLUDE_PATH"
|
||||
mkdir "${DIR}/build/npm-server-install"
|
||||
cd "${DIR}/build/npm-server-install"
|
||||
node "${CHECKOUT_DIR}/scripts/dev-bundle-server-package.js" > package.json
|
||||
# XXX For no apparent reason this npm install will fail with an EISDIR
|
||||
# error if we do not help it by creating the .npm/_locks directory.
|
||||
mkdir -p "${DIR}/.npm/_locks"
|
||||
npm install
|
||||
npm shrinkwrap
|
||||
|
||||
@@ -125,19 +128,6 @@ cp -R node_modules/* "${DIR}/server-lib/node_modules/"
|
||||
mkdir -p "${DIR}/etc"
|
||||
mv package.json npm-shrinkwrap.json "${DIR}/etc/"
|
||||
|
||||
# Fibers ships with compiled versions of its C code for a dozen platforms. This
|
||||
# bloats our dev bundle. Remove all the ones other than our
|
||||
# architecture. (Expression based on build.js in fibers source.)
|
||||
shrink_fibers () {
|
||||
FIBERS_ARCH=$(node -p -e 'process.platform + "-" + process.arch + "-" + process.versions.modules')
|
||||
mv $FIBERS_ARCH ..
|
||||
rm -rf *
|
||||
mv ../$FIBERS_ARCH .
|
||||
}
|
||||
|
||||
cd "$DIR/server-lib/node_modules/fibers/bin"
|
||||
shrink_fibers
|
||||
|
||||
# Now, install the npm modules which are the dependencies of the command-line
|
||||
# tool.
|
||||
mkdir "${DIR}/build/npm-tool-install"
|
||||
@@ -195,9 +185,6 @@ delete moment/min
|
||||
# Remove esprima tests to reduce the size of the dev bundle
|
||||
find . -path '*/esprima-fb/test' | xargs rm -rf
|
||||
|
||||
cd "$DIR/lib/node_modules/fibers/bin"
|
||||
shrink_fibers
|
||||
|
||||
# Sanity check to see if we're not breaking anything by replacing npm
|
||||
INSTALLED_NPM_VERSION=$(cat "$DIR/lib/node_modules/npm/package.json" |
|
||||
xargs -0 node -e "console.log(JSON.parse(process.argv[1]).version)")
|
||||
|
||||
@@ -14,7 +14,7 @@ export const EXAMPLE_REPOSITORIES = {
|
||||
'repo': 'https://github.com/meteor/todos',
|
||||
'branch': 'react',
|
||||
},
|
||||
'angular2-boilerplate': {
|
||||
repo: 'https://github.com/bsliran/angular2-meteor-base'
|
||||
'angular-boilerplate': {
|
||||
repo: 'https://github.com/Urigo/angular-meteor-base.git'
|
||||
}
|
||||
};
|
||||
|
||||
@@ -89,6 +89,7 @@ const PROGRESS_BAR_FORMAT = '[:bar] :percent :etas';
|
||||
const TEMP_STATUS_LENGTH = STATUS_MAX_LENGTH + 12;
|
||||
|
||||
const STATUS_INTERVAL_MS = 50;
|
||||
const PROGRESS_THROTTLE_MS = 300;
|
||||
|
||||
// Message to show when we don't know what we're doing
|
||||
// XXX: ? FALLBACK_STATUS = 'Pondering';
|
||||
@@ -309,9 +310,11 @@ class ProgressDisplayFull {
|
||||
|
||||
this._lastWrittenLine = null;
|
||||
this._lastWrittenTime = 0;
|
||||
this._renderTimeout = null;
|
||||
}
|
||||
|
||||
depaint() {
|
||||
this._clearDelayedRender();
|
||||
this._stream.write(spacesString(this._printedLength) + CARRIAGE_RETURN);
|
||||
}
|
||||
|
||||
@@ -332,7 +335,15 @@ class ProgressDisplayFull {
|
||||
if (startTime) {
|
||||
this._progressBarRenderer.start = startTime;
|
||||
}
|
||||
this._render();
|
||||
|
||||
if (!this._renderTimeout && this._lastWrittenTime) {
|
||||
this._rerenderTimeout = setTimeout(() => {
|
||||
this._rerenderTimeout = null;
|
||||
this._render()
|
||||
}, PROGRESS_THROTTLE_MS);
|
||||
} else if (this._lastWrittenTime === 0) {
|
||||
this._render();
|
||||
}
|
||||
}
|
||||
|
||||
repaint() {
|
||||
@@ -343,8 +354,18 @@ class ProgressDisplayFull {
|
||||
this._headless = !! headless;
|
||||
}
|
||||
|
||||
_clearDelayedRender() {
|
||||
if (this._rerenderTimeout) {
|
||||
clearTimeout(this._rerenderTimeout);
|
||||
this._rerenderTimeout = null;
|
||||
}
|
||||
}
|
||||
|
||||
_render() {
|
||||
// XXX: Throttle these updates?
|
||||
if (this._rerenderTimeout) {
|
||||
this._clearDelayedRender();
|
||||
}
|
||||
|
||||
// XXX: Or maybe just jump to the correct position?
|
||||
var progressGraphic = '';
|
||||
|
||||
|
||||
5
tools/cordova/builder.js
vendored
5
tools/cordova/builder.js
vendored
@@ -451,6 +451,10 @@ export class CordovaBuilder {
|
||||
}
|
||||
|
||||
appendVersion(program, publicSettings) {
|
||||
// Note: these version calculations must be kept in agreement with
|
||||
// generateClientProgram in packages/webapp/webapp_server.js, or hot
|
||||
// code push will reload the app unnecessarily.
|
||||
|
||||
let configDummy = {};
|
||||
configDummy.PUBLIC_SETTINGS = publicSettings || {};
|
||||
|
||||
@@ -480,6 +484,7 @@ export class CordovaBuilder {
|
||||
|
||||
const runtimeConfig = {
|
||||
meteorRelease: meteorRelease,
|
||||
gitCommitHash: files.findGitCommitHash(applicationPath),
|
||||
ROOT_URL: mobileServerUrl,
|
||||
// XXX propagate it from this.options?
|
||||
ROOT_URL_PATH_PREFIX: '',
|
||||
|
||||
7
tools/cordova/index.js
vendored
7
tools/cordova/index.js
vendored
@@ -14,11 +14,8 @@ export const CORDOVA_DEV_BUNDLE_VERSIONS = {
|
||||
};
|
||||
|
||||
export const CORDOVA_PLATFORM_VERSIONS = {
|
||||
// This commit represents cordova-android@6.4.0 plus
|
||||
// https://github.com/apache/cordova-android/pull/417, aka
|
||||
// https://github.com/meteor/cordova-android/tree/v6.4.0-with-pr-417:
|
||||
'android': 'https://github.com/meteor/cordova-android/tarball/317db7df0f7a054444197bc6d28453cf4ab23280',
|
||||
'ios': '4.5.4'
|
||||
'android': '7.1.4',
|
||||
'ios': '4.5.5',
|
||||
};
|
||||
|
||||
const PLATFORM_TO_DISPLAY_NAME_MAP = {
|
||||
|
||||
48
tools/cordova/project.js
vendored
48
tools/cordova/project.js
vendored
@@ -87,6 +87,9 @@ export class CordovaProject {
|
||||
|
||||
this.pluginsDir = files.pathJoin(this.projectRoot, 'plugins');
|
||||
|
||||
this.buildJsonPath = files.convertToOSPath(
|
||||
files.pathJoin(this.projectRoot, 'build.json'));
|
||||
|
||||
this.createIfNeeded();
|
||||
}
|
||||
|
||||
@@ -182,6 +185,31 @@ outdated platforms`);
|
||||
undefined, undefined, config);
|
||||
}, undefined, null);
|
||||
}
|
||||
|
||||
this.writeBuildJson();
|
||||
}
|
||||
|
||||
writeBuildJson() {
|
||||
if (files.exists(this.buildJsonPath)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const iosCommonOptions = {
|
||||
// See https://github.com/apache/cordova-ios/issues/407:
|
||||
buildFlag: [
|
||||
"-UseModernBuildSystem=0"
|
||||
]
|
||||
};
|
||||
|
||||
files.writeFile(
|
||||
this.buildJsonPath,
|
||||
JSON.stringify({
|
||||
ios: {
|
||||
debug: iosCommonOptions,
|
||||
release: iosCommonOptions,
|
||||
}
|
||||
}, null, 2) + "\n",
|
||||
);
|
||||
}
|
||||
|
||||
// Preparing
|
||||
@@ -240,8 +268,10 @@ outdated platforms`);
|
||||
delete require.cache[files.pathJoin(this.projectRoot,
|
||||
'platforms/ios/cordova/lib/prepare.js')];
|
||||
|
||||
const commandOptions = _.extend(this.defaultOptions,
|
||||
{ platforms: [platform] });
|
||||
const commandOptions = {
|
||||
...this.defaultOptions,
|
||||
platforms: [platform],
|
||||
};
|
||||
|
||||
this.runCommands(`preparing Cordova project for platform \
|
||||
${displayNameForPlatform(platform)}`, async () => {
|
||||
@@ -254,8 +284,11 @@ ${displayNameForPlatform(platform)}`, async () => {
|
||||
buildForPlatform(platform, options = {}, extraPaths) {
|
||||
assert(platform);
|
||||
|
||||
const commandOptions = _.extend(this.defaultOptions,
|
||||
{ platforms: [platform], options: options });
|
||||
const commandOptions = {
|
||||
...this.defaultOptions,
|
||||
platforms: [platform],
|
||||
options,
|
||||
};
|
||||
|
||||
this.runCommands(`building Cordova app for platform \
|
||||
${displayNameForPlatform(platform)}`, async () => {
|
||||
@@ -266,6 +299,7 @@ ${displayNameForPlatform(platform)}`, async () => {
|
||||
// Running
|
||||
|
||||
async run(platform, isDevice, options = [], extraPaths = []) {
|
||||
options.push('--buildConfig', this.buildJsonPath);
|
||||
options.push(isDevice ? '--device' : '--emulator');
|
||||
|
||||
let env = this.defaultEnvWithPathsAdded(...extraPaths);
|
||||
@@ -760,7 +794,11 @@ convenience, but you should adjust your dependencies.`);
|
||||
// Cordova commands support
|
||||
|
||||
get defaultOptions() {
|
||||
return { silent: !Console.verbose, verbose: Console.verbose };
|
||||
return {
|
||||
silent: !Console.verbose,
|
||||
verbose: Console.verbose,
|
||||
buildConfig: this.buildJsonPath,
|
||||
};
|
||||
}
|
||||
|
||||
defaultEnvWithPathsAdded(...extraPaths) {
|
||||
|
||||
@@ -12,7 +12,7 @@ var util = require('util');
|
||||
var _ = require('underscore');
|
||||
var Fiber = require('fibers');
|
||||
var crypto = require('crypto');
|
||||
var spawn = require("child_process").spawn;
|
||||
const { spawn, execFile } = require("child_process");
|
||||
|
||||
var rimraf = require('rimraf');
|
||||
var sourcemap = require('source-map');
|
||||
@@ -129,6 +129,29 @@ files.findPackageDir = function (filepath) {
|
||||
return findUpwards(isPackageDir, filepath);
|
||||
};
|
||||
|
||||
// Returns the hash of the current Git HEAD revision of the application,
|
||||
// if possible. Always resolves rather than rejecting (unless something
|
||||
// truly unexpected happens). The result value is a string when a Git
|
||||
// revision was successfully resolved, or undefined otherwise.
|
||||
files.findGitCommitHash = function (path) {
|
||||
return new Promise(resolve => {
|
||||
const appDir = files.findAppDir(path);
|
||||
if (appDir) {
|
||||
const proc = execFile("git", ["rev-parse", "HEAD"], {
|
||||
cwd: files.convertToOSPath(appDir),
|
||||
}, (error, stdout) => {
|
||||
if (! error && typeof stdout === "string") {
|
||||
resolve(stdout.trim());
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}).await();
|
||||
};
|
||||
|
||||
// create a .gitignore file in dirPath if one doesn't exist. add
|
||||
// 'entry' to the .gitignore on its own line at the bottom of the
|
||||
// file, if the exact line does not already exist in the file.
|
||||
@@ -528,7 +551,7 @@ files.cp_r = function(from, to, options = {}) {
|
||||
|
||||
// create a symlink, overwriting the target link, file, or directory
|
||||
// if it exists
|
||||
export function symlinkWithOverwrite(source, target) {
|
||||
export const symlinkWithOverwrite = Profile("files.symlinkWithOverwrite", function symlinkWithOverwrite(source, target) {
|
||||
const args = [source, target];
|
||||
|
||||
if (process.platform === "win32") {
|
||||
@@ -543,8 +566,12 @@ export function symlinkWithOverwrite(source, target) {
|
||||
files.symlink(...args);
|
||||
} catch (e) {
|
||||
if (e.code === "EEXIST") {
|
||||
function normalizePath (path) {
|
||||
return files.convertToOSPath(path).replace(/[\/\\]$/, "")
|
||||
}
|
||||
|
||||
if (files.lstat(target).isSymbolicLink() &&
|
||||
files.readlink(target) === source) {
|
||||
normalizePath(files.readlink(target)) === normalizePath(source)) {
|
||||
// If the target already points to the desired source, we don't
|
||||
// need to do anything.
|
||||
return;
|
||||
@@ -556,7 +583,7 @@ export function symlinkWithOverwrite(source, target) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* Get every path in a directory recursively, treating symlinks as files
|
||||
@@ -1005,7 +1032,12 @@ files.createTarball = Profile(function (dirPath, tarball) {
|
||||
// is in a state other than initial or final".)
|
||||
files.renameDirAlmostAtomically =
|
||||
Profile("files.renameDirAlmostAtomically", (fromDir, toDir) => {
|
||||
const garbageDir = `${toDir}-garbage-${utils.randomToken()}`;
|
||||
const garbageDir = files.pathJoin(
|
||||
files.pathDirname(toDir),
|
||||
// Begin the base filename with a '.' character so that it can be
|
||||
// ignored by other directory-scanning code.
|
||||
`.${files.pathBasename(toDir)}-garbage-${utils.randomToken()}`,
|
||||
);
|
||||
|
||||
// Get old dir out of the way, if it exists.
|
||||
let cleanupGarbage = false;
|
||||
@@ -1054,7 +1086,7 @@ files.renameDirAlmostAtomically =
|
||||
// ... and take out the trash.
|
||||
if (cleanupGarbage) {
|
||||
// We don't care about how long this takes, so we'll let it go async.
|
||||
files.rm_recursive(garbageDir);
|
||||
files.rm_recursive_async(garbageDir);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1757,11 +1789,6 @@ function enableCache(name) {
|
||||
};
|
||||
}
|
||||
|
||||
enableCache("readdir");
|
||||
enableCache("realpath");
|
||||
enableCache("stat");
|
||||
enableCache("lstat");
|
||||
|
||||
// The fs.exists method is deprecated in Node v4:
|
||||
// https://nodejs.org/api/fs.html#fs_fs_exists_path_callback
|
||||
files.exists =
|
||||
@@ -1870,3 +1897,8 @@ files.readBufferWithLengthAndOffset = function (filename, length, offset) {
|
||||
}
|
||||
return data;
|
||||
};
|
||||
|
||||
enableCache("readdir");
|
||||
enableCache("realpath");
|
||||
enableCache("stat");
|
||||
enableCache("lstat");
|
||||
|
||||
@@ -6,8 +6,6 @@ import {coalesce} from '../utils/func-utils.js';
|
||||
import {Profile} from '../tool-env/profile.js';
|
||||
|
||||
import {
|
||||
optimisticStatOrNull,
|
||||
optimisticReaddir,
|
||||
optimisticHashOrNull,
|
||||
} from "./optimistic.js";
|
||||
|
||||
@@ -272,7 +270,7 @@ export const sha512 = Profile("sha512", function (...args) {
|
||||
return hash.digest('base64');
|
||||
});
|
||||
|
||||
export function readDirectory({absPath, include, exclude, names}) {
|
||||
function readAndStatDirectory(absPath) {
|
||||
// Read the directory.
|
||||
try {
|
||||
var contents = files.readdir(absPath);
|
||||
@@ -303,8 +301,12 @@ export function readDirectory({absPath, include, exclude, names}) {
|
||||
contentsWithSlashes.push(entry);
|
||||
});
|
||||
|
||||
return contentsWithSlashes
|
||||
}
|
||||
|
||||
function filterDirectoryContents(contents, { include, exclude, names }) {
|
||||
// Filter based on regexps.
|
||||
var filtered = contentsWithSlashes.filter((entry) => {
|
||||
return contents.filter((entry) => {
|
||||
// Is it one of the names we explicitly requested?
|
||||
if (names && names.indexOf(entry) !== -1) {
|
||||
return true;
|
||||
@@ -318,11 +320,12 @@ export function readDirectory({absPath, include, exclude, names}) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}).sort();
|
||||
}
|
||||
|
||||
// Sort it!
|
||||
filtered.sort();
|
||||
return filtered;
|
||||
export function readDirectory({absPath, include, exclude, names}) {
|
||||
const contents = readAndStatDirectory(absPath);
|
||||
return filterDirectoryContents(contents, { include, exclude, names });
|
||||
}
|
||||
|
||||
// All fields are private.
|
||||
@@ -330,6 +333,9 @@ export class Watcher {
|
||||
constructor(options) {
|
||||
var self = this;
|
||||
|
||||
// Run initial check asyncly
|
||||
self._async = options.async;
|
||||
|
||||
// The set to watch.
|
||||
self.watchSet = options.watchSet;
|
||||
if (! self.watchSet) {
|
||||
@@ -407,40 +413,38 @@ export class Watcher {
|
||||
return true;
|
||||
}
|
||||
|
||||
_fireIfDirectoryChanged(info) {
|
||||
// infos must all be for the same directory
|
||||
_fireIfDirectoryChanged(infos) {
|
||||
var self = this;
|
||||
|
||||
if (self.stopped) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var newContents = readDirectory({
|
||||
absPath: info.absPath,
|
||||
include: info.include,
|
||||
exclude: info.exclude,
|
||||
names: info.names
|
||||
});
|
||||
const contents = readAndStatDirectory(infos[0].absPath);
|
||||
|
||||
// If the directory has changed (including being deleted or created).
|
||||
if (! _.isEqual(info.contents, newContents)) {
|
||||
self._fire();
|
||||
return true;
|
||||
for (let i = 0; i < infos.length; i++) {
|
||||
const info = infos[i];
|
||||
const newContents = filterDirectoryContents(contents, info);
|
||||
|
||||
// If the directory has changed (including being deleted or created).
|
||||
if (! _.isEqual(info.contents, newContents)) {
|
||||
self._fire();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
_startFileWatches() {
|
||||
var self = this;
|
||||
const self = this;
|
||||
const keys = Object.keys(self.watchSet.files);
|
||||
|
||||
// Set up a watch for each file
|
||||
_.each(self.watchSet.files, function (hash, absPath) {
|
||||
if (self.stopped) {
|
||||
return;
|
||||
}
|
||||
|
||||
self._processBatches(keys, absPath => {
|
||||
if (! self.justCheckOnce) {
|
||||
self._watchFileOrDirectory(absPath);
|
||||
self._watchFileOrDirectory(absPath, true);
|
||||
}
|
||||
|
||||
// Check for the case where by the time we created the watch,
|
||||
@@ -449,7 +453,7 @@ export class Watcher {
|
||||
});
|
||||
}
|
||||
|
||||
_watchFileOrDirectory(absPath) {
|
||||
_watchFileOrDirectory(absPath, skipCheck) {
|
||||
var self = this;
|
||||
|
||||
if (! _.has(self.watches, absPath)) {
|
||||
@@ -476,9 +480,13 @@ export class Watcher {
|
||||
var onWatchEvent = self._makeWatchEventCallback(absPath);
|
||||
entry.watcher = safeWatcher.watch(absPath, onWatchEvent);
|
||||
|
||||
// If we successfully created the watcher, invoke the callback
|
||||
// immediately, so that we examine this file at least once.
|
||||
onWatchEvent();
|
||||
if (!skipCheck) {
|
||||
// If we successfully created the watcher, invoke the callback
|
||||
// immediately, so that we examine this file at least once.
|
||||
onWatchEvent();
|
||||
} else {
|
||||
self._updateStatForWatch(absPath);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (self._mustBeAFile(absPath)) {
|
||||
@@ -559,13 +567,12 @@ export class Watcher {
|
||||
|
||||
// If self.watchSet.directories contains any entries for the
|
||||
// directory we are examining, call self._fireIfDirectoryChanged.
|
||||
_.some(self.watchSet.directories, function(info) {
|
||||
return self.stopped ||
|
||||
(absPath === info.absPath &&
|
||||
self._fireIfDirectoryChanged(info, true));
|
||||
// XXX #3335 We probably should check again in a second, due to low
|
||||
// filesystem modtime resolution.
|
||||
});
|
||||
const infos = self.watchSet.directories.filter(info => info.absPath === absPath );
|
||||
if (infos.length) {
|
||||
self._fireIfDirectoryChanged(infos);
|
||||
}
|
||||
// XXX #3335 We probably should check again in a second, due to low
|
||||
// filesystem modtime resolution.
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -640,26 +647,60 @@ export class Watcher {
|
||||
|
||||
return stat;
|
||||
}
|
||||
|
||||
// Iterates over the array, calling handleItem for each item
|
||||
// When this._async is true, it pauses ocassionally to avoid blocking for too long
|
||||
// Stops iterating after watcher is stopped
|
||||
_processBatches(array, handleItem) {
|
||||
const self = this;
|
||||
const async = self._async;
|
||||
let index = 0;
|
||||
|
||||
function processBatch() {
|
||||
const stopTime = async ? Date.now() + 50 : Infinity;
|
||||
while (Date.now() < stopTime && index < array.length) {
|
||||
if (self.stopped) {
|
||||
return;
|
||||
}
|
||||
|
||||
handleItem(array[index]);
|
||||
|
||||
index += 1;
|
||||
}
|
||||
|
||||
if (index < array.length) {
|
||||
if (async) {
|
||||
setImmediate(processBatch);
|
||||
} else {
|
||||
processBatch();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
processBatch();
|
||||
}
|
||||
_checkDirectories() {
|
||||
var self = this;
|
||||
const self = this;
|
||||
const dirs = Object.values(self.watchSet.directories.reduce((result, dir) => {
|
||||
result[dir.absPath] = result[dir.absPath] || [];
|
||||
result[dir.absPath].push(dir);
|
||||
|
||||
return result;
|
||||
}, {}));
|
||||
|
||||
|
||||
if (self.stopped) {
|
||||
return;
|
||||
}
|
||||
|
||||
_.each(self.watchSet.directories, function (info) {
|
||||
if (self.stopped) {
|
||||
return;
|
||||
}
|
||||
|
||||
self._processBatches(dirs, infos => {
|
||||
if (! self.justCheckOnce) {
|
||||
self._watchFileOrDirectory(info.absPath);
|
||||
self._watchFileOrDirectory(infos[0].absPath, true);
|
||||
}
|
||||
|
||||
// Check for the case where by the time we created the watch, the
|
||||
// directory has already changed.
|
||||
self._fireIfDirectoryChanged(info);
|
||||
self._fireIfDirectoryChanged(infos);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import {
|
||||
optimisticReaddir,
|
||||
optimisticStatOrNull,
|
||||
optimisticLStatOrNull,
|
||||
optimisticHashOrNull,
|
||||
} from "../fs/optimistic.js";
|
||||
|
||||
// Builder is in charge of writing "bundles" to disk, which are
|
||||
@@ -75,7 +76,9 @@ export default class Builder {
|
||||
this.previousUsedAsFile = {};
|
||||
|
||||
this.writtenHashes = {};
|
||||
this.createdSymlinks = {};
|
||||
this.previousWrittenHashes = {};
|
||||
this.previousCreatedSymlinks = {};
|
||||
|
||||
// foo/bar => foo/.build1234.bar
|
||||
// Should we include a random number? The advantage is that multiple
|
||||
@@ -106,6 +109,7 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}`
|
||||
|
||||
this.previousWrittenHashes = previousBuilder.writtenHashes;
|
||||
this.previousUsedAsFile = previousBuilder.usedAsFile;
|
||||
this.previousCreatedSymlinks = previousBuilder.createdSymlinks;
|
||||
|
||||
resetBuildPath = false;
|
||||
} else {
|
||||
@@ -228,6 +232,39 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}`
|
||||
return partsOut.join(files.pathSep);
|
||||
}
|
||||
|
||||
// Checks if a file with the same path and hash was written by
|
||||
// the previous builder. If it was, it adds it to the cache and makes
|
||||
// sure the parent directories exist and are part of the cache.
|
||||
//
|
||||
// Returns true if the file was already written
|
||||
usePreviousWrite(relPath, hash, sanitize) {
|
||||
relPath = this._normalizeFilePath(relPath, sanitize);
|
||||
|
||||
if (this.previousWrittenHashes[relPath] === hash) {
|
||||
this._ensureDirectory(files.pathDirname(relPath));
|
||||
this.writtenHashes[relPath] = hash;
|
||||
this.usedAsFile[relPath] = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
_normalizeFilePath(relPath, sanitize) {
|
||||
// Ensure no trailing slash
|
||||
if (relPath.slice(-1) === files.pathSep) {
|
||||
relPath = relPath.slice(0, -1);
|
||||
}
|
||||
|
||||
// In sanitize mode, ensure path does not contain segments like
|
||||
// '..', does not contain forbidden characters, and is unique.
|
||||
if (sanitize) {
|
||||
relPath = this._sanitize(relPath);
|
||||
}
|
||||
|
||||
return relPath;
|
||||
}
|
||||
|
||||
// Write either a buffer or the contents of a file to `relPath` (a
|
||||
// path to a file relative to the bundle root), creating it (and any
|
||||
// enclosing directories) if it doesn't exist yet. Exactly one of
|
||||
@@ -250,16 +287,7 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}`
|
||||
//
|
||||
// If `file` is used then it will be added to the builder's WatchSet.
|
||||
write(relPath, {data, file, hash, sanitize, executable, symlink}) {
|
||||
// Ensure no trailing slash
|
||||
if (relPath.slice(-1) === files.pathSep) {
|
||||
relPath = relPath.slice(0, -1);
|
||||
}
|
||||
|
||||
// In sanitize mode, ensure path does not contain segments like
|
||||
// '..', does not contain forbidden characters, and is unique.
|
||||
if (sanitize) {
|
||||
relPath = this._sanitize(relPath);
|
||||
}
|
||||
relPath = this._normalizeFilePath(relPath, sanitize);
|
||||
|
||||
let getData = null;
|
||||
if (data) {
|
||||
@@ -285,13 +313,27 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}`
|
||||
} else {
|
||||
hash = hash || sha1(getData());
|
||||
|
||||
if (this.previousWrittenHashes[relPath] !== hash) {
|
||||
// Write is called multiple times for assets when they have multiple urls for the same file
|
||||
if (this.previousWrittenHashes[relPath] !== hash && this.writtenHashes[relPath] !== hash) {
|
||||
|
||||
// Builder is used to create build products, which should be read-only;
|
||||
// users shouldn't be manually editing automatically generated files and
|
||||
// expecting the results to "stick".
|
||||
atomicallyRewriteFile(absPath, getData(), {
|
||||
mode: executable ? 0o555 : 0o444
|
||||
});
|
||||
const mode = executable ? 0o555 : 0o444
|
||||
|
||||
if (this.buildPath === this.outputPath || this.writtenHashes[relPath]) {
|
||||
// atomicallyRewriteFile handles overwriting files that have already been created
|
||||
atomicallyRewriteFile(absPath, getData(), {
|
||||
mode
|
||||
});
|
||||
} else {
|
||||
// Since builder is not updating in place, and
|
||||
// this build is only used if every file is successfully written,
|
||||
// it is not important to write atomically.
|
||||
files.writeFile(absPath, getData(), {
|
||||
mode
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
this.writtenHashes[relPath] = hash;
|
||||
@@ -499,8 +541,6 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}`
|
||||
to = to.slice(0, -1);
|
||||
}
|
||||
|
||||
const absPathTo = files.pathJoin(this.buildPath, to);
|
||||
|
||||
if (symlink) {
|
||||
if (specificFiles) {
|
||||
throw new Error("can't copy only specific paths with a single symlink");
|
||||
@@ -530,7 +570,11 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}`
|
||||
if (symlink && ! (relTo in this.usedAsFile)) {
|
||||
this._ensureDirectory(files.pathDirname(relTo));
|
||||
const absTo = files.pathResolve(this.buildPath, relTo);
|
||||
symlinkWithOverwrite(absFrom, absTo);
|
||||
if (this.previousCreatedSymlinks[absFrom] !== relTo) {
|
||||
symlinkWithOverwrite(absFrom, absTo);
|
||||
}
|
||||
this.usedAsFile[relTo] = false;
|
||||
this.createdSymlinks[absFrom] = relTo;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -641,23 +685,28 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}`
|
||||
// could not be created above.
|
||||
fileStatus = optimisticStatOrNull(thisAbsFrom);
|
||||
if (fileStatus && fileStatus.isFile()) {
|
||||
// XXX can't really optimize this copying without reading
|
||||
// the file into memory to calculate the hash.
|
||||
files.writeFile(
|
||||
files.pathResolve(this.buildPath, thisRelTo),
|
||||
// The reason we call files.writeFile here instead of
|
||||
// files.copyFile is so that we can read the file using
|
||||
// optimisticReadFile instead of files.createReadStream.
|
||||
optimisticReadFile(thisAbsFrom),
|
||||
// Logic borrowed from files.copyFile: "Create the file as
|
||||
// readable and writable by everyone, and executable by everyone
|
||||
// if the original file is executably by owner. (This mode will be
|
||||
// modified by umask.) We don't copy the mode *directly* because
|
||||
// this function is used by 'meteor create' which is copying from
|
||||
// the read-only tools tree into a writable app."
|
||||
{ mode: (fileStatus.mode & 0o100) ? 0o777 : 0o666 },
|
||||
);
|
||||
const hash = optimisticHashOrNull(thisAbsFrom);
|
||||
|
||||
if (this.previousWrittenHashes[thisRelTo] !== hash) {
|
||||
const content = optimisticReadFile(thisAbsFrom);
|
||||
|
||||
files.writeFile(
|
||||
files.pathResolve(this.buildPath, thisRelTo),
|
||||
// The reason we call files.writeFile here instead of
|
||||
// files.copyFile is so that we can read the file using
|
||||
// optimisticReadFile instead of files.createReadStream.
|
||||
content,
|
||||
// Logic borrowed from files.copyFile: "Create the file as
|
||||
// readable and writable by everyone, and executable by everyone
|
||||
// if the original file is executably by owner. (This mode will be
|
||||
// modified by umask.) We don't copy the mode *directly* because
|
||||
// this function is used by 'meteor create' which is copying from
|
||||
// the read-only tools tree into a writable app."
|
||||
{ mode: (fileStatus.mode & 0o100) ? 0o777 : 0o666 },
|
||||
);
|
||||
}
|
||||
|
||||
this.writtenHashes[thisRelTo] = hash;
|
||||
this.usedAsFile[thisRelTo] = true;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -176,6 +176,9 @@ import { PackageRegistry } from "../../packages/meteor/define-package.js";
|
||||
|
||||
const SOURCE_URL_PREFIX = "meteor://\u{1f4bb}app";
|
||||
|
||||
const MINIFY_PLAIN_FUNCTION = Buffer.from('function(', 'utf8');
|
||||
const MINIFY_RENAMED_FUNCTION = Buffer.from('function __minifyJs(', 'utf8');
|
||||
|
||||
// files to ignore when bundling. node has no globs, so use regexps
|
||||
exports.ignoreFiles = [
|
||||
/~$/, /^\.#/,
|
||||
@@ -546,6 +549,9 @@ class File {
|
||||
// disk).
|
||||
this.sourcePath = options.sourcePath;
|
||||
|
||||
// Allows not calculating sri when it isn't needed
|
||||
this._skipSri = options.skipSri
|
||||
|
||||
// info is just for help with debugging the tool; it isn't written to disk or
|
||||
// anything.
|
||||
this.info = options.info || '?';
|
||||
@@ -619,7 +625,9 @@ class File {
|
||||
hashes.push(this._inputHash);
|
||||
}
|
||||
|
||||
hashes.push(this.sri());
|
||||
if (!this._skipSri) {
|
||||
hashes.push(this.sri());
|
||||
}
|
||||
|
||||
this._hash = watch.sha1(...hashes);
|
||||
}
|
||||
@@ -628,7 +636,7 @@ class File {
|
||||
}
|
||||
|
||||
sri() {
|
||||
if (! this._sri) {
|
||||
if (! this._sri && !this._skipSri) {
|
||||
this._sri = watch.sha512(this.contents());
|
||||
}
|
||||
|
||||
@@ -1160,6 +1168,7 @@ class Target {
|
||||
data: resource.data,
|
||||
cacheable: false,
|
||||
hash: resource.hash,
|
||||
skipSri: !!resource.hash
|
||||
};
|
||||
|
||||
const file = new File(fileOptions);
|
||||
@@ -1326,13 +1335,10 @@ class Target {
|
||||
// expression, which some minifiers (e.g. UglifyJS) either fail to
|
||||
// parse or mistakenly eliminate as dead code. To avoid these
|
||||
// problems, we temporarily name the function __minifyJs.
|
||||
file._contents = Buffer.from(
|
||||
file.contents()
|
||||
.toString("utf8")
|
||||
.replace(/^\s*function\s*\(/,
|
||||
"function __minifyJs("),
|
||||
"utf8"
|
||||
);
|
||||
file._contents = Buffer.concat([
|
||||
MINIFY_RENAMED_FUNCTION,
|
||||
file.contents().slice(MINIFY_PLAIN_FUNCTION.length)
|
||||
]);
|
||||
|
||||
dynamicFiles.push(jsf);
|
||||
|
||||
@@ -1364,15 +1370,24 @@ class Target {
|
||||
function handle(source, dynamic) {
|
||||
source._minifiedFiles.forEach(file => {
|
||||
// Remove the function name __minifyJs that was added above.
|
||||
file.data = file.data
|
||||
.toString("utf8")
|
||||
.replace(/^\s*function\s+__minifyJs\s*\(/,
|
||||
"function(");
|
||||
if (typeof file.data === 'string') {
|
||||
file.data = Buffer.from(
|
||||
file.data
|
||||
.replace(/^\s*function\s+__minifyJs\s*\(/,
|
||||
"function("),
|
||||
"utf8"
|
||||
);
|
||||
} else if (dynamic) {
|
||||
file.data = Buffer.concat([
|
||||
MINIFY_PLAIN_FUNCTION,
|
||||
file.data.slice(MINIFY_RENAMED_FUNCTION.length)
|
||||
]);
|
||||
}
|
||||
|
||||
const newFile = new File({
|
||||
info: 'minified js',
|
||||
arch,
|
||||
data: Buffer.from(file.data, 'utf8'),
|
||||
data: file.data,
|
||||
hash: inputHashesByJsFile.get(source),
|
||||
});
|
||||
|
||||
@@ -2420,7 +2435,9 @@ class JsImage {
|
||||
_.each(nodeModulesDirectories, function (nmd) {
|
||||
assert.strictEqual(typeof nmd.preferredBundlePath, "string");
|
||||
|
||||
if (! nmd.isPortable()) {
|
||||
// Skip calculating isPortable in 'meteor run' since the
|
||||
// modules are never rebuilt
|
||||
if (includeNodeModules !== 'symlink' && !nmd.isPortable()) {
|
||||
const parentDir = files.pathDirname(nmd.preferredBundlePath);
|
||||
rebuildDirs[parentDir] = parentDir;
|
||||
}
|
||||
@@ -2742,6 +2759,10 @@ var writeFile = Profile("bundler writeFile", function (file, builder, options) {
|
||||
let data = file.contents();
|
||||
const hash = file.hash();
|
||||
|
||||
if (builder.usePreviousWrite(file.targetPath, hash)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (options && options.sourceMapUrl) {
|
||||
data = addSourceMappingURL(data, options.sourceMapUrl);
|
||||
} else {
|
||||
@@ -2823,9 +2844,12 @@ var writeTargetToPath = Profile(
|
||||
// .meteor/local/build/programs/web.browser.legacy, because they
|
||||
// tend to be written atomically, and it's important on Windows to
|
||||
// avoid overwriting files that might be open currently in the build
|
||||
// or server process. If in-place builds were safer on Windows, they
|
||||
// or server process.
|
||||
// Server builds do use an in-place build since the server is always stopped
|
||||
// during the build.
|
||||
// If client in-place builds were safer on Windows, they
|
||||
// would be much quicker than from-scratch rebuilds.
|
||||
forceInPlaceBuild: false,
|
||||
forceInPlaceBuild: name === 'server',
|
||||
});
|
||||
|
||||
var targetBuild = target.write(builder, {
|
||||
@@ -2876,7 +2900,8 @@ var writeSiteArchive = Profile("bundler writeSiteArchive", function (
|
||||
releaseName,
|
||||
previousBuilders = Object.create(null),
|
||||
buildMode,
|
||||
minifyMode
|
||||
minifyMode,
|
||||
sourceRoot,
|
||||
}) {
|
||||
|
||||
const builders = {};
|
||||
@@ -2893,6 +2918,12 @@ var writeSiteArchive = Profile("bundler writeSiteArchive", function (
|
||||
});
|
||||
|
||||
try {
|
||||
Object.keys(targets).forEach(key => {
|
||||
// Both makeClientTarget and makeServerTarget get their sourceRoot
|
||||
// from packageSource.sourceRoot, so this should always be true:
|
||||
assert.strictEqual(targets[key].sourceRoot, sourceRoot);
|
||||
});
|
||||
|
||||
var json = {
|
||||
format: "site-archive-pre1",
|
||||
builtBy,
|
||||
@@ -2900,6 +2931,7 @@ var writeSiteArchive = Profile("bundler writeSiteArchive", function (
|
||||
meteorRelease: releaseName,
|
||||
nodeVersion: process.versions.node,
|
||||
npmVersion: meteorNpm.npmVersion,
|
||||
gitCommitHash: files.findGitCommitHash(sourceRoot),
|
||||
};
|
||||
|
||||
// Tell the deploy server what version of the dependency kit we're using, so
|
||||
@@ -3309,6 +3341,7 @@ function bundle({
|
||||
starResult = writeSiteArchive(targets, outputPath, {
|
||||
buildMode: buildOptions.buildMode,
|
||||
previousBuilders,
|
||||
sourceRoot: packageSource.sourceRoot,
|
||||
...writeOptions,
|
||||
});
|
||||
serverWatchSet.merge(starResult.serverWatchSet);
|
||||
|
||||
@@ -479,12 +479,8 @@ var compileUnibuild = Profile(function (options) {
|
||||
const relPath = asset.relPath;
|
||||
const absPath = files.pathResolve(inputSourceArch.sourceRoot, relPath);
|
||||
|
||||
// readAndWatchFileWithHash returns an object carrying a buffer with the
|
||||
// file-contents. The buffer contains the original data of the file (no EOL
|
||||
// transforms from the tools/files.js part).
|
||||
const file = watch.readAndWatchFileWithHash(watchSet, absPath);
|
||||
const hash = file.hash;
|
||||
const contents = file.contents;
|
||||
const hash = optimisticHashOrNull(absPath)
|
||||
const contents = optimisticReadFile(absPath)
|
||||
|
||||
addAsset(contents, relPath, hash);
|
||||
});
|
||||
|
||||
@@ -21,6 +21,10 @@ const APP_PRELINK_CACHE = new LRU({
|
||||
return prelinked.source.length + sourceMapLength(prelinked.sourceMap);
|
||||
}
|
||||
});
|
||||
// Caches code with source map for dynamic files
|
||||
const DYNAMIC_PRELINKED_OUTPUT_CACHE = new LRU({
|
||||
max: Math.pow(2, 11)
|
||||
});
|
||||
|
||||
var packageDot = function (name) {
|
||||
if (/^[a-zA-Z][a-zA-Z0-9]*$/.exec(name)) {
|
||||
@@ -271,11 +275,7 @@ _.extend(Module.prototype, {
|
||||
if (file.isDynamic()) {
|
||||
const servePath = files.pathJoin("dynamic", file.absModuleId);
|
||||
const { code: source, map } =
|
||||
file.getPrelinkedOutput({
|
||||
sourceWidth: sourceWidth,
|
||||
}).toStringWithSourceMap({
|
||||
file: servePath,
|
||||
});
|
||||
getOutputWithSourceMapCached(file, servePath, { sourceWidth })
|
||||
|
||||
results.push({
|
||||
source,
|
||||
@@ -812,12 +812,15 @@ const getPrelinkedOutputCached = require("optimism").wrap(
|
||||
}
|
||||
|
||||
return new sourcemap.SourceNode(null, null, null, chunks);
|
||||
|
||||
}, {
|
||||
// Store at most 4096 Files worth of prelinked output in this cache.
|
||||
max: Math.pow(2, 12),
|
||||
|
||||
makeCacheKey(file, options) {
|
||||
if (options.disableCache) {
|
||||
return;
|
||||
}
|
||||
|
||||
return JSON.stringify({
|
||||
hash: file._inputHash,
|
||||
arch: file.module.bundleArch,
|
||||
@@ -829,6 +832,32 @@ const getPrelinkedOutputCached = require("optimism").wrap(
|
||||
}
|
||||
);
|
||||
|
||||
function getOutputWithSourceMapCached(file, servePath, options) {
|
||||
const key = JSON.stringify({
|
||||
hash: file._inputHash,
|
||||
arch: file.module.bundleArch,
|
||||
bare: file.bare,
|
||||
servePath: file.servePath,
|
||||
dynamic: file.isDynamic(),
|
||||
options,
|
||||
});
|
||||
|
||||
if (DYNAMIC_PRELINKED_OUTPUT_CACHE.has(key)) {
|
||||
return DYNAMIC_PRELINKED_OUTPUT_CACHE.get(key);
|
||||
}
|
||||
|
||||
const result = file.getPrelinkedOutput({
|
||||
...options,
|
||||
disableCache: true
|
||||
}).toStringWithSourceMap({
|
||||
file: servePath,
|
||||
});
|
||||
|
||||
DYNAMIC_PRELINKED_OUTPUT_CACHE.set(key, result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// Given a list of lines (not newline-terminated), returns a string placing them
|
||||
// in a pretty banner of width bannerWidth. All lines must have length at most
|
||||
// (bannerWidth - 6); if bannerWidth is not provided, the smallest width that
|
||||
|
||||
@@ -343,21 +343,27 @@ Profile("meteorNpm.rebuildIfNonPortable", function (nodeModulesDir) {
|
||||
// directory paths.
|
||||
const tempPkgDirs = {};
|
||||
|
||||
dirsToRebuild.forEach(function (pkgPath) {
|
||||
dirsToRebuild.splice(0).forEach(pkgPath => {
|
||||
const tempPkgDir = tempPkgDirs[pkgPath] = files.pathJoin(
|
||||
tempNodeModules,
|
||||
files.pathRelative(nodeModulesDir, pkgPath)
|
||||
);
|
||||
|
||||
// Copy the package directory instead of renaming it, so that the
|
||||
// original package will be left untouched if the rebuild fails. We
|
||||
// could just run files.cp_r(pkgPath, tempPkgDir) here, except that we
|
||||
// want to handle nested node_modules directories specially.
|
||||
copyNpmPackageWithSymlinkedNodeModules(pkgPath, tempPkgDir);
|
||||
// It's possible the pkgPath directory may have been deleted since we
|
||||
// did the scan above: https://circleci.com/gh/meteor/meteor/31330
|
||||
if (isDirectory(pkgPath)) {
|
||||
// Copy the package directory instead of renaming it, so that the
|
||||
// original package will be left untouched if the rebuild fails. We
|
||||
// could just run files.cp_r(pkgPath, tempPkgDir) here, except that we
|
||||
// want to handle nested node_modules directories specially.
|
||||
copyNpmPackageWithSymlinkedNodeModules(pkgPath, tempPkgDir);
|
||||
|
||||
// Record the current process.versions so that we can avoid
|
||||
// copying/rebuilding/renaming next time.
|
||||
recordLastRebuildVersions(tempPkgDir);
|
||||
// Record the current process.versions so that we can avoid
|
||||
// copying/rebuilding/renaming next time.
|
||||
recordLastRebuildVersions(tempPkgDir);
|
||||
|
||||
dirsToRebuild.push(pkgPath);
|
||||
}
|
||||
});
|
||||
|
||||
// The `npm rebuild` command must be run in the parent directory of the
|
||||
@@ -478,8 +484,9 @@ const isPortable = Profile("meteorNpm.isPortable", dir => {
|
||||
const pkgJsonPath = files.pathJoin(dir, "package.json");
|
||||
const pkgJsonStat = optimisticStatOrNull(pkgJsonPath);
|
||||
const canCache = pkgJsonStat && pkgJsonStat.isFile();
|
||||
const portableFile = files.pathJoin(
|
||||
dir, ".meteor-portable-" + portableVersion + ".json");
|
||||
const portableFile = files.convertToOSPath(
|
||||
files.pathJoin(dir, ".meteor-portable-" + portableVersion + ".json")
|
||||
);
|
||||
|
||||
if (canCache) {
|
||||
// Cache previous results by writing a boolean value to a hidden file
|
||||
@@ -1073,7 +1080,7 @@ const installNpmModule = meteorNpm.installNpmModule = (name, version, dir) => {
|
||||
|
||||
if (! result.success) {
|
||||
const pkgNotFound =
|
||||
`404 Not Found: ${utils.quotemeta(name)}@${utils.quotemeta(version)}`;
|
||||
`404 Not Found - GET ${utils.quotemeta("https://registry.npmjs.org/"+name)}`;
|
||||
|
||||
const versionNotFound =
|
||||
"No matching version found for " +
|
||||
|
||||
@@ -1113,11 +1113,12 @@ _.extend(PackageSource.prototype, {
|
||||
|
||||
const anyLevelExcludes = [];
|
||||
|
||||
if (testModule) {
|
||||
if (testModule || !isApp) {
|
||||
// If we have a meteor.testModule from package.json, then we don't
|
||||
// need to exclude tests/ directories or *.tests.js files from the
|
||||
// search, because we trust meteor.testModule to identify a single
|
||||
// test entry point.
|
||||
// test entry point. Likewise, in packages (!isApp), test files are
|
||||
// added explicitly, and thus do not need to be excluded here.
|
||||
} else {
|
||||
anyLevelExcludes.push(/^tests\/$/);
|
||||
|
||||
|
||||
@@ -697,6 +697,7 @@ _.extend(AppRunner.prototype, {
|
||||
Promise.await(self.runPromise);
|
||||
|
||||
var runPromise = self.runPromise = self._makePromise("run");
|
||||
var listenPromise = self._makePromise("listen");
|
||||
|
||||
// Run the program
|
||||
options.beforeRun && options.beforeRun();
|
||||
@@ -722,6 +723,7 @@ _.extend(AppRunner.prototype, {
|
||||
self.proxy.setMode("proxy");
|
||||
options.onListen && options.onListen();
|
||||
self._resolvePromise("start");
|
||||
self._resolvePromise("listen");
|
||||
},
|
||||
nodeOptions: getNodeOptionsFromEnvironment(),
|
||||
settings: settings,
|
||||
@@ -772,20 +774,22 @@ _.extend(AppRunner.prototype, {
|
||||
self._resolvePromise("run", {
|
||||
outcome: 'changed'
|
||||
});
|
||||
}
|
||||
},
|
||||
async: true
|
||||
});
|
||||
}
|
||||
|
||||
var setupClientWatcher = function () {
|
||||
clientWatcher && clientWatcher.stop();
|
||||
clientWatcher = new watch.Watcher({
|
||||
watchSet: bundleResult.clientWatchSet,
|
||||
onChange: function () {
|
||||
watchSet: bundleResult.clientWatchSet,
|
||||
onChange: function () {
|
||||
var outcome = watch.isUpToDate(serverWatchSet)
|
||||
? 'changed-refreshable' // only a client asset has changed
|
||||
: 'changed'; // both a client and server asset changed
|
||||
self._resolvePromise('run', { outcome: outcome });
|
||||
}
|
||||
},
|
||||
async: true
|
||||
});
|
||||
};
|
||||
if (self.watchForChanges && canRefreshClient) {
|
||||
@@ -839,7 +843,13 @@ _.extend(AppRunner.prototype, {
|
||||
|
||||
Console.enableProgressDisplay(false);
|
||||
|
||||
const postStartupResult = runPostStartupCallbacks(bundleResult);
|
||||
const postStartupResult = Promise.race([
|
||||
listenPromise,
|
||||
runPromise
|
||||
]).then(() => {
|
||||
return runPostStartupCallbacks(bundleResult);
|
||||
}).await();
|
||||
|
||||
if (postStartupResult) return postStartupResult;
|
||||
|
||||
// Wait for either the process to exit, or (if watchForChanges) a
|
||||
|
||||
@@ -22,7 +22,7 @@ var runMongoShell = function (url) {
|
||||
var auth = mongoUrl.auth && mongoUrl.auth.split(':');
|
||||
var ssl = require('querystring').parse(mongoUrl.query).ssl === "true";
|
||||
|
||||
var args = ['--quiet'];
|
||||
var args = [];
|
||||
if (ssl) {
|
||||
args.push('--ssl');
|
||||
}
|
||||
@@ -61,6 +61,14 @@ function spawnMongod(mongodPath, port, dbPath, replSetName) {
|
||||
// Use mmapv1 on 32bit platforms, as our binary doesn't support WT
|
||||
if (process.arch === 'ia32') {
|
||||
args.push('--storageEngine', 'mmapv1', '--smallfiles');
|
||||
} else if (process.platform !== 'linux') {
|
||||
// MongoDB 4, which we use on 64-bit systems, displays a banner in the
|
||||
// Mongo shell about a free monitoring service, which can be disabled
|
||||
// with this flag. However, the generic Linux build (without SSL; see
|
||||
// MONGO_SSL in scripts/generate-dev-bundle.sh) neither displays the
|
||||
// banner nor supports the flag, so it's safe/important to avoid
|
||||
// passing the flag to mongod on 64-bit linux.
|
||||
args.push('--enableFreeMonitoring', 'off');
|
||||
}
|
||||
|
||||
return child_process.spawn(mongodPath, args, {
|
||||
@@ -185,12 +193,30 @@ if (process.platform === 'win32') {
|
||||
'else ps ax; fi';
|
||||
}
|
||||
|
||||
// If the child process output includes unicode, make sure it's
|
||||
// handled properly.
|
||||
const {
|
||||
LANG = "en_US.UTF-8",
|
||||
LC_ALL = LANG,
|
||||
LANGUAGE = LANG,
|
||||
// Remainder of process.env without above properties.
|
||||
...env
|
||||
} = process.env;
|
||||
|
||||
// Make sure all three properties are set to the same value, which
|
||||
// defaults to "en_US.UTF-8" or whatever LANG was already set to.
|
||||
Object.assign(env, { LANG, LC_ALL, LANGUAGE });
|
||||
|
||||
child_process.exec(
|
||||
psScript,
|
||||
// we don't want this to randomly fail just because you're running lots of
|
||||
// processes. 10MB should be more than ps ax will ever spit out; the default
|
||||
// is 200K, which at least one person hit (#2158).
|
||||
{maxBuffer: 1024 * 1024 * 10},
|
||||
{
|
||||
env,
|
||||
// we don't want this to randomly fail just because you're running
|
||||
// lots of processes. 10MB should be more than ps ax will ever
|
||||
// spit out; the default is 200K, which at least one person hit
|
||||
// (#2158).
|
||||
maxBuffer: 1024 * 1024 * 10,
|
||||
},
|
||||
function (error, stdout, stderr) {
|
||||
if (error) {
|
||||
promise.reject(
|
||||
@@ -657,62 +683,29 @@ var launchMongo = function (options) {
|
||||
return;
|
||||
}
|
||||
|
||||
let wasJustSecondary = false;
|
||||
let writableTimestamp = Date.now();
|
||||
|
||||
// XXX timeout eventually?
|
||||
// Wait until the primary is writable. If it isn't writable after one
|
||||
// minute, throw an error and report the replica set status.
|
||||
while (!stopped) {
|
||||
var status = yieldingMethod(
|
||||
db.admin(), 'command', {replSetGetStatus: 1});
|
||||
const { ismaster } = yieldingMethod(db.admin(), "command", {
|
||||
isMaster: 1
|
||||
});
|
||||
|
||||
// See https://docs.mongodb.com/manual/reference/replica-states/
|
||||
// for information on various states
|
||||
if (ismaster) {
|
||||
break;
|
||||
} else if (Date.now() - writableTimestamp > 60000) {
|
||||
const status = yieldingMethod(db.admin(), "command", {
|
||||
replSetGetStatus: 1
|
||||
});
|
||||
|
||||
// Are any of the members starting up or recovering?
|
||||
if (_.any(status.members, function (member) {
|
||||
return member.stateStr === 'STARTUP' ||
|
||||
member.stateStr === 'STARTUP2' ||
|
||||
member.stateStr === 'RECOVERING';
|
||||
})) {
|
||||
utils.sleepMs(20);
|
||||
continue;
|
||||
throw new Error(
|
||||
"Primary not writable after one minute. Last replica set status: " +
|
||||
JSON.stringify(status)
|
||||
);
|
||||
}
|
||||
|
||||
const firstMemberState = status.members[0].stateStr;
|
||||
|
||||
// Is the intended primary currently a secondary? (It passes through
|
||||
// that phase briefly.)
|
||||
if (firstMemberState === 'SECONDARY') {
|
||||
utils.sleepMs(20);
|
||||
wasJustSecondary = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Mongo 3.2 introduced a new heartbeatIntervalMillis property
|
||||
// on replica sets, used during "primary" negotiation.
|
||||
//
|
||||
// If the first member was _just_ promoted, we'll wait until
|
||||
// the heartbeat interval has elapsed before proceeding since
|
||||
// the decision is not official until the heartbeat has elapsed.
|
||||
if (firstMemberState === 'PRIMARY' && wasJustSecondary) {
|
||||
wasJustSecondary = false;
|
||||
utils.sleepMs(status.heartbeatIntervalMillis);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Anything else for the intended primary is probably an error.
|
||||
if (firstMemberState !== 'PRIMARY') {
|
||||
throw Error("Unexpected Mongo status: " + JSON.stringify(status));
|
||||
}
|
||||
|
||||
// Anything but secondary for the other members is probably an error.
|
||||
for (var i = 1; i < status.members.length; ++i) {
|
||||
if (status.members[i].stateStr !== 'SECONDARY') {
|
||||
throw Error("Unexpected Mongo secondary status: " +
|
||||
JSON.stringify(status));
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
utils.sleepMs(50);
|
||||
}
|
||||
|
||||
client.close(true /* means "the app is closing the connection" */);
|
||||
|
||||
@@ -27,12 +27,21 @@ var serverJson = require("./server-json.js");
|
||||
var configJson =
|
||||
JSON.parse(fs.readFileSync(path.resolve(serverDir, 'config.json'), 'utf8'));
|
||||
|
||||
var programsDir = path.dirname(serverDir);
|
||||
var buildDir = path.dirname(programsDir);
|
||||
var starJson = JSON.parse(fs.readFileSync(path.join(buildDir, "star.json")));
|
||||
|
||||
// Set up environment
|
||||
__meteor_bootstrap__ = {
|
||||
startupHooks: [],
|
||||
serverDir: serverDir,
|
||||
configJson: configJson };
|
||||
__meteor_runtime_config__ = { meteorRelease: configJson.meteorRelease };
|
||||
configJson: configJson
|
||||
};
|
||||
|
||||
__meteor_runtime_config__ = {
|
||||
meteorRelease: configJson.meteorRelease,
|
||||
gitCommitHash: starJson.gitCommitHash
|
||||
};
|
||||
|
||||
if (!process.env.APP_ID) {
|
||||
process.env.APP_ID = configJson.appId;
|
||||
@@ -196,7 +205,6 @@ var specialArgPaths = {
|
||||
|
||||
"packages/dynamic-import.js": function (file) {
|
||||
var dynamicImportInfo = {};
|
||||
var programsDir = path.dirname(serverDir);
|
||||
var clientArchs = configJson.clientArchs ||
|
||||
Object.keys(configJson.clientPaths);
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"start": "meteor run"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.1.5",
|
||||
"@babel/runtime": "^7.3.4",
|
||||
"meteor-node-stubs": "^0.4.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"test": "meteor test --once --driver-package meteortesting:mocha"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.1.5",
|
||||
"@babel/runtime": "^7.3.4",
|
||||
"meteor-node-stubs": "^0.4.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"visualize": "meteor --production --extra-packages bundle-visualizer"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.1.5",
|
||||
"@babel/runtime": "^7.3.4",
|
||||
"meteor-node-stubs": "^0.4.1"
|
||||
},
|
||||
"meteor": {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"visualize": "meteor --production --extra-packages bundle-visualizer"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.1.5",
|
||||
"@babel/runtime": "^7.3.4",
|
||||
"meteor-node-stubs": "^0.4.1",
|
||||
"react": "^16.5.0",
|
||||
"react-dom": "^16.5.0"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"visualize": "meteor --production --extra-packages bundle-visualizer"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.1.5",
|
||||
"@babel/runtime": "^7.3.4",
|
||||
"meteor-node-stubs": "^0.4.1"
|
||||
},
|
||||
"meteor": {
|
||||
|
||||
12
tools/tests/apps/app-config/package-lock.json
generated
12
tools/tests/apps/app-config/package-lock.json
generated
@@ -767,9 +767,9 @@
|
||||
"integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4="
|
||||
},
|
||||
"puppeteer": {
|
||||
"version": "1.12.2",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.12.2.tgz",
|
||||
"integrity": "sha512-xWSyCeD6EazGlfnQweMpM+Hs6X6PhUYhNTHKFj/axNZDq4OmrVERf70isBf7HsnFgB3zOC1+23/8+wCAZYg+Pg==",
|
||||
"version": "1.13.0",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.13.0.tgz",
|
||||
"integrity": "sha512-LUXgvhjfB/P6IOUDAKxOcbCz9ISwBLL9UpKghYrcBDwrOGx1m60y0iN2M64mdAUbT4+7oZM5DTxOW7equa2fxQ==",
|
||||
"requires": {
|
||||
"debug": "^4.1.0",
|
||||
"extract-zip": "^1.6.6",
|
||||
@@ -837,9 +837,9 @@
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
},
|
||||
"ws": {
|
||||
"version": "6.1.4",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz",
|
||||
"integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==",
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz",
|
||||
"integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==",
|
||||
"requires": {
|
||||
"async-limiter": "~1.0.0"
|
||||
}
|
||||
|
||||
1
tools/tests/apps/git-commit-hash/.gitignore
vendored
Normal file
1
tools/tests/apps/git-commit-hash/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
node_modules/
|
||||
18
tools/tests/apps/git-commit-hash/.meteor/.finished-upgraders
Normal file
18
tools/tests/apps/git-commit-hash/.meteor/.finished-upgraders
Normal file
@@ -0,0 +1,18 @@
|
||||
# This file contains information which helps Meteor properly upgrade your
|
||||
# app when you run 'meteor update'. You should check it into version control
|
||||
# with your project.
|
||||
|
||||
notices-for-0.9.0
|
||||
notices-for-0.9.1
|
||||
0.9.4-platform-file
|
||||
notices-for-facebook-graph-api-2
|
||||
1.2.0-standard-minifiers-package
|
||||
1.2.0-meteor-platform-split
|
||||
1.2.0-cordova-changes
|
||||
1.2.0-breaking-changes
|
||||
1.3.0-split-minifiers-package
|
||||
1.4.0-remove-old-dev-bundle-link
|
||||
1.4.1-add-shell-server-package
|
||||
1.4.3-split-account-service-packages
|
||||
1.5-add-dynamic-import-package
|
||||
1.7-split-underscore-from-meteor-base
|
||||
1
tools/tests/apps/git-commit-hash/.meteor/.gitignore
vendored
Normal file
1
tools/tests/apps/git-commit-hash/.meteor/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
local
|
||||
7
tools/tests/apps/git-commit-hash/.meteor/.id
Normal file
7
tools/tests/apps/git-commit-hash/.meteor/.id
Normal file
@@ -0,0 +1,7 @@
|
||||
# This file contains a token that is unique to your project.
|
||||
# Check it into your repository along with the rest of this directory.
|
||||
# It can be used for purposes such as:
|
||||
# - ensuring you don't accidentally deploy one app on top of another
|
||||
# - providing package authors with aggregated statistics
|
||||
|
||||
xh4qomttjyd.znxg6je45aan
|
||||
15
tools/tests/apps/git-commit-hash/.meteor/packages
Normal file
15
tools/tests/apps/git-commit-hash/.meteor/packages
Normal file
@@ -0,0 +1,15 @@
|
||||
# Meteor packages used by this project, one per line.
|
||||
# Check this file (and the other files in this directory) into your repository.
|
||||
#
|
||||
# 'meteor add' and 'meteor remove' will edit this file for you,
|
||||
# but you can also edit it by hand.
|
||||
|
||||
meteor # Shared foundation for all Meteor packages
|
||||
static-html # Define static page content in .html files
|
||||
standard-minifier-css # CSS minifier run for production mode
|
||||
standard-minifier-js # JS minifier run for production mode
|
||||
es5-shim # ECMAScript 5 compatibility for older browsers
|
||||
ecmascript # Enable ECMAScript2015+ syntax in app code
|
||||
shell-server # Server-side component of the `meteor shell` command
|
||||
webapp # Serves a Meteor app over HTTP
|
||||
server-render # Support for server-side rendering
|
||||
2
tools/tests/apps/git-commit-hash/.meteor/platforms
Normal file
2
tools/tests/apps/git-commit-hash/.meteor/platforms
Normal file
@@ -0,0 +1,2 @@
|
||||
server
|
||||
browser
|
||||
1
tools/tests/apps/git-commit-hash/.meteor/release
Normal file
1
tools/tests/apps/git-commit-hash/.meteor/release
Normal file
@@ -0,0 +1 @@
|
||||
none
|
||||
39
tools/tests/apps/git-commit-hash/.meteor/versions
Normal file
39
tools/tests/apps/git-commit-hash/.meteor/versions
Normal file
@@ -0,0 +1,39 @@
|
||||
babel-compiler@7.2.4
|
||||
babel-runtime@1.3.0
|
||||
base64@1.0.11
|
||||
blaze-tools@1.0.10
|
||||
boilerplate-generator@1.6.0
|
||||
caching-compiler@1.2.1
|
||||
caching-html-compiler@1.1.3
|
||||
dynamic-import@0.5.1
|
||||
ecmascript@0.12.4
|
||||
ecmascript-runtime@0.7.0
|
||||
ecmascript-runtime-client@0.8.0
|
||||
ecmascript-runtime-server@0.7.1
|
||||
ejson@1.1.0
|
||||
es5-shim@4.8.0
|
||||
fetch@0.1.0
|
||||
html-tools@1.0.11
|
||||
htmljs@1.0.11
|
||||
inter-process-messaging@0.1.0
|
||||
logging@1.1.20
|
||||
meteor@1.9.3
|
||||
minifier-css@1.4.1
|
||||
minifier-js@2.4.0
|
||||
modern-browsers@0.1.4-beta181.16
|
||||
modules@0.13.0
|
||||
modules-runtime@0.10.3
|
||||
promise@0.11.2
|
||||
random@1.1.0
|
||||
routepolicy@1.1.0
|
||||
server-render@0.3.1
|
||||
shell-server@0.4.0
|
||||
spacebars-compiler@1.1.3
|
||||
standard-minifier-css@1.5.2
|
||||
standard-minifier-js@2.4.0
|
||||
static-html@1.2.2
|
||||
templating-tools@1.1.2
|
||||
tracker@1.2.0
|
||||
underscore@1.0.10
|
||||
webapp@1.7.3-beta181.16
|
||||
webapp-hashing@1.0.9
|
||||
4
tools/tests/apps/git-commit-hash/client/main.css
Normal file
4
tools/tests/apps/git-commit-hash/client/main.css
Normal file
@@ -0,0 +1,4 @@
|
||||
body {
|
||||
padding: 10px;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
21
tools/tests/apps/git-commit-hash/client/main.html
Normal file
21
tools/tests/apps/git-commit-hash/client/main.html
Normal file
@@ -0,0 +1,21 @@
|
||||
<head>
|
||||
<title>Minimal Meteor app</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Minimal Meteor app</h1>
|
||||
<p>
|
||||
This Meteor app uses as few Meteor packages as possible, to keep the
|
||||
client JavaScript bundle as small as possible.
|
||||
</p>
|
||||
|
||||
<em id="server-render-target"></em>
|
||||
|
||||
<h2>Learn Meteor!</h2>
|
||||
<ul>
|
||||
<li><a href="https://www.meteor.com/try" target="_blank">Do the Tutorial</a></li>
|
||||
<li><a href="http://guide.meteor.com" target="_blank">Follow the Guide</a></li>
|
||||
<li><a href="https://docs.meteor.com" target="_blank">Read the Docs</a></li>
|
||||
<li><a href="https://forums.meteor.com" target="_blank">Discussions</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
1
tools/tests/apps/git-commit-hash/client/main.js
Normal file
1
tools/tests/apps/git-commit-hash/client/main.js
Normal file
@@ -0,0 +1 @@
|
||||
console.log(`Greetings from ${module.id}!`);
|
||||
846
tools/tests/apps/git-commit-hash/package-lock.json
generated
Normal file
846
tools/tests/apps/git-commit-hash/package-lock.json
generated
Normal file
@@ -0,0 +1,846 @@
|
||||
{
|
||||
"name": "git-commit-hash",
|
||||
"requires": true,
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"@babel/runtime": {
|
||||
"version": "7.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz",
|
||||
"integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==",
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"agent-base": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
|
||||
"integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
|
||||
"requires": {
|
||||
"es6-promisify": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"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=="
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"buffer-from": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
|
||||
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
},
|
||||
"concat-stream": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
||||
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
|
||||
"requires": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.2.2",
|
||||
"typedarray": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"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="
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"es6-promise": {
|
||||
"version": "4.2.5",
|
||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
|
||||
"integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg=="
|
||||
},
|
||||
"es6-promisify": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
|
||||
"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
|
||||
"requires": {
|
||||
"es6-promise": "^4.0.3"
|
||||
}
|
||||
},
|
||||
"extract-zip": {
|
||||
"version": "1.6.7",
|
||||
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
|
||||
"integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
|
||||
"requires": {
|
||||
"concat-stream": "1.6.2",
|
||||
"debug": "2.6.9",
|
||||
"mkdirp": "0.5.1",
|
||||
"yauzl": "2.4.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||
}
|
||||
}
|
||||
},
|
||||
"fd-slicer": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
|
||||
"integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
|
||||
"requires": {
|
||||
"pend": "~1.2.0"
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.1.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
|
||||
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"https-proxy-agent": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
|
||||
"integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
|
||||
"requires": {
|
||||
"agent-base": "^4.1.0",
|
||||
"debug": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"inflight": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||
},
|
||||
"isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
||||
},
|
||||
"meteor-node-stubs": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.4.1.tgz",
|
||||
"integrity": "sha512-UO2OStvLOKoApmOdIP5eCqoLaa/ritMXRg4ffJVdkNLEsczzPvTjgC0Mxk4cM4R8MZkwll90FYgjDf5qUTJdMA==",
|
||||
"requires": {
|
||||
"assert": "^1.4.1",
|
||||
"browserify-zlib": "^0.1.4",
|
||||
"buffer": "^4.9.1",
|
||||
"console-browserify": "^1.1.0",
|
||||
"constants-browserify": "^1.0.0",
|
||||
"crypto-browserify": "^3.11.0",
|
||||
"domain-browser": "^1.1.7",
|
||||
"events": "^1.1.1",
|
||||
"https-browserify": "0.0.1",
|
||||
"os-browserify": "^0.2.1",
|
||||
"path-browserify": "0.0.0",
|
||||
"process": "^0.11.9",
|
||||
"punycode": "^1.4.1",
|
||||
"querystring-es3": "^0.2.1",
|
||||
"readable-stream": "^2.3.6",
|
||||
"stream-browserify": "^2.0.1",
|
||||
"stream-http": "^2.8.0",
|
||||
"string_decoder": "^1.1.0",
|
||||
"timers-browserify": "^1.4.2",
|
||||
"tty-browserify": "0.0.0",
|
||||
"url": "^0.11.0",
|
||||
"util": "^0.10.3",
|
||||
"vm-browserify": "0.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"asn1.js": {
|
||||
"version": "4.10.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"bn.js": "^4.0.0",
|
||||
"inherits": "^2.0.1",
|
||||
"minimalistic-assert": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"assert": {
|
||||
"version": "1.4.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"util": "0.10.3"
|
||||
}
|
||||
},
|
||||
"base64-js": {
|
||||
"version": "1.3.0",
|
||||
"bundled": true
|
||||
},
|
||||
"bn.js": {
|
||||
"version": "4.11.8",
|
||||
"bundled": true
|
||||
},
|
||||
"brorand": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true
|
||||
},
|
||||
"browserify-aes": {
|
||||
"version": "1.2.0",
|
||||
"bundled": 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",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"browserify-aes": "^1.0.4",
|
||||
"browserify-des": "^1.0.0",
|
||||
"evp_bytestokey": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"browserify-des": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"cipher-base": "^1.0.1",
|
||||
"des.js": "^1.0.0",
|
||||
"inherits": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"browserify-rsa": {
|
||||
"version": "4.0.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"bn.js": "^4.1.0",
|
||||
"randombytes": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"browserify-sign": {
|
||||
"version": "4.0.4",
|
||||
"bundled": 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.1.4",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"pako": "~0.2.0"
|
||||
}
|
||||
},
|
||||
"buffer": {
|
||||
"version": "4.9.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"base64-js": "^1.0.2",
|
||||
"ieee754": "^1.1.4",
|
||||
"isarray": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"buffer-xor": {
|
||||
"version": "1.0.3",
|
||||
"bundled": true
|
||||
},
|
||||
"builtin-status-codes": {
|
||||
"version": "3.0.0",
|
||||
"bundled": true
|
||||
},
|
||||
"cipher-base": {
|
||||
"version": "1.0.4",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"inherits": "^2.0.1",
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"console-browserify": {
|
||||
"version": "1.1.0",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"date-now": "^0.1.4"
|
||||
}
|
||||
},
|
||||
"constants-browserify": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true
|
||||
},
|
||||
"create-ecdh": {
|
||||
"version": "4.0.3",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"bn.js": "^4.1.0",
|
||||
"elliptic": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"create-hash": {
|
||||
"version": "1.2.0",
|
||||
"bundled": 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",
|
||||
"bundled": 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"
|
||||
}
|
||||
},
|
||||
"crypto-browserify": {
|
||||
"version": "3.12.0",
|
||||
"bundled": 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"
|
||||
}
|
||||
},
|
||||
"date-now": {
|
||||
"version": "0.1.4",
|
||||
"bundled": true
|
||||
},
|
||||
"des.js": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"inherits": "^2.0.1",
|
||||
"minimalistic-assert": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"diffie-hellman": {
|
||||
"version": "5.0.3",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"bn.js": "^4.1.0",
|
||||
"miller-rabin": "^4.0.0",
|
||||
"randombytes": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"domain-browser": {
|
||||
"version": "1.2.0",
|
||||
"bundled": true
|
||||
},
|
||||
"elliptic": {
|
||||
"version": "6.4.0",
|
||||
"bundled": 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"
|
||||
}
|
||||
},
|
||||
"events": {
|
||||
"version": "1.1.1",
|
||||
"bundled": true
|
||||
},
|
||||
"evp_bytestokey": {
|
||||
"version": "1.0.3",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"md5.js": "^1.3.4",
|
||||
"safe-buffer": "^5.1.1"
|
||||
}
|
||||
},
|
||||
"hash-base": {
|
||||
"version": "3.0.4",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"inherits": "^2.0.1",
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"hash.js": {
|
||||
"version": "1.1.3",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"inherits": "^2.0.3",
|
||||
"minimalistic-assert": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"hmac-drbg": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"hash.js": "^1.0.3",
|
||||
"minimalistic-assert": "^1.0.0",
|
||||
"minimalistic-crypto-utils": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"https-browserify": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true
|
||||
},
|
||||
"ieee754": {
|
||||
"version": "1.1.11",
|
||||
"bundled": true
|
||||
},
|
||||
"indexof": {
|
||||
"version": "0.0.1",
|
||||
"bundled": true
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.1",
|
||||
"bundled": true
|
||||
},
|
||||
"isarray": {
|
||||
"version": "1.0.0",
|
||||
"bundled": true
|
||||
},
|
||||
"md5.js": {
|
||||
"version": "1.3.4",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"hash-base": "^3.0.0",
|
||||
"inherits": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"miller-rabin": {
|
||||
"version": "4.0.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"bn.js": "^4.0.0",
|
||||
"brorand": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"minimalistic-assert": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true
|
||||
},
|
||||
"minimalistic-crypto-utils": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true
|
||||
},
|
||||
"os-browserify": {
|
||||
"version": "0.2.1",
|
||||
"bundled": true
|
||||
},
|
||||
"pako": {
|
||||
"version": "0.2.9",
|
||||
"bundled": true
|
||||
},
|
||||
"parse-asn1": {
|
||||
"version": "5.1.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"asn1.js": "^4.0.0",
|
||||
"browserify-aes": "^1.0.0",
|
||||
"create-hash": "^1.1.0",
|
||||
"evp_bytestokey": "^1.0.0",
|
||||
"pbkdf2": "^3.0.3"
|
||||
}
|
||||
},
|
||||
"path-browserify": {
|
||||
"version": "0.0.0",
|
||||
"bundled": true
|
||||
},
|
||||
"pbkdf2": {
|
||||
"version": "3.0.16",
|
||||
"bundled": 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"
|
||||
}
|
||||
},
|
||||
"process": {
|
||||
"version": "0.11.10",
|
||||
"bundled": true
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "2.0.0",
|
||||
"bundled": true
|
||||
},
|
||||
"public-encrypt": {
|
||||
"version": "4.0.2",
|
||||
"bundled": 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"
|
||||
}
|
||||
},
|
||||
"punycode": {
|
||||
"version": "1.4.1",
|
||||
"bundled": true
|
||||
},
|
||||
"querystring": {
|
||||
"version": "0.2.0",
|
||||
"bundled": true
|
||||
},
|
||||
"querystring-es3": {
|
||||
"version": "0.2.1",
|
||||
"bundled": true
|
||||
},
|
||||
"randombytes": {
|
||||
"version": "2.0.6",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"safe-buffer": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"randomfill": {
|
||||
"version": "1.0.4",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"randombytes": "^2.0.5",
|
||||
"safe-buffer": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"bundled": 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"
|
||||
},
|
||||
"dependencies": {
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"bundled": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"ripemd160": {
|
||||
"version": "2.0.2",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"hash-base": "^3.0.0",
|
||||
"inherits": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"bundled": true
|
||||
},
|
||||
"sha.js": {
|
||||
"version": "2.4.11",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"inherits": "^2.0.1",
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"stream-browserify": {
|
||||
"version": "2.0.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"inherits": "~2.0.1",
|
||||
"readable-stream": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"stream-http": {
|
||||
"version": "2.8.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"builtin-status-codes": "^3.0.0",
|
||||
"inherits": "^2.0.1",
|
||||
"readable-stream": "^2.3.3",
|
||||
"to-arraybuffer": "^1.0.0",
|
||||
"xtend": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
},
|
||||
"timers-browserify": {
|
||||
"version": "1.4.2",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"process": "~0.11.0"
|
||||
}
|
||||
},
|
||||
"to-arraybuffer": {
|
||||
"version": "1.0.1",
|
||||
"bundled": true
|
||||
},
|
||||
"tty-browserify": {
|
||||
"version": "0.0.0",
|
||||
"bundled": true
|
||||
},
|
||||
"url": {
|
||||
"version": "0.11.0",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"punycode": "1.3.2",
|
||||
"querystring": "0.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"punycode": {
|
||||
"version": "1.3.2",
|
||||
"bundled": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"util": {
|
||||
"version": "0.10.3",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"inherits": "2.0.1"
|
||||
}
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"bundled": true
|
||||
},
|
||||
"vm-browserify": {
|
||||
"version": "0.0.4",
|
||||
"bundled": true,
|
||||
"requires": {
|
||||
"indexof": "0.0.1"
|
||||
}
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.1",
|
||||
"bundled": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"mime": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz",
|
||||
"integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w=="
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
},
|
||||
"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=="
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
|
||||
},
|
||||
"pend": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
|
||||
"integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
|
||||
},
|
||||
"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=="
|
||||
},
|
||||
"progress": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
|
||||
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
|
||||
},
|
||||
"proxy-from-env": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
|
||||
"integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4="
|
||||
},
|
||||
"puppeteer": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.6.2.tgz",
|
||||
"integrity": "sha512-KBgMr/ZdwIwDQWTqcAlGhnQ2Vd6p+o5B89H60XUfdmCpia2KViSZsdRjvrf2wYOxXSrpYx6OuCBzV7ppLuNjNg==",
|
||||
"requires": {
|
||||
"debug": "^3.1.0",
|
||||
"extract-zip": "^1.6.6",
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
"mime": "^2.0.3",
|
||||
"progress": "^2.0.0",
|
||||
"proxy-from-env": "^1.0.0",
|
||||
"rimraf": "^2.6.1",
|
||||
"ws": "^5.1.1"
|
||||
}
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"regenerator-runtime": {
|
||||
"version": "0.12.1",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
|
||||
"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
|
||||
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
|
||||
"requires": {
|
||||
"glob": "^7.1.3"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"typedarray": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
||||
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"yauzl": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
|
||||
"integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
|
||||
"requires": {
|
||||
"fd-slicer": "~1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
20
tools/tests/apps/git-commit-hash/package.json
Normal file
20
tools/tests/apps/git-commit-hash/package.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "git-commit-hash",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "meteor run",
|
||||
"test": "TEST_BROWSER_DRIVER=puppeteer meteor test --once --full-app --driver-package meteortesting:mocha"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.1.5",
|
||||
"meteor-node-stubs": "^0.4.1",
|
||||
"puppeteer": "^1.6.2"
|
||||
},
|
||||
"meteor": {
|
||||
"mainModule": {
|
||||
"client": "client/main.js",
|
||||
"server": "server/main.js"
|
||||
},
|
||||
"testModule": "tests/main.js"
|
||||
}
|
||||
}
|
||||
6
tools/tests/apps/git-commit-hash/server/main.js
Normal file
6
tools/tests/apps/git-commit-hash/server/main.js
Normal file
@@ -0,0 +1,6 @@
|
||||
import { Meteor } from "meteor/meteor";
|
||||
|
||||
Meteor.startup(() => {
|
||||
const { gitCommitHash } = __meteor_runtime_config__;
|
||||
console.log("__meteor_runtime_config__.gitCommitHash: " + gitCommitHash);
|
||||
});
|
||||
27
tools/tests/apps/git-commit-hash/tests/main.js
Normal file
27
tools/tests/apps/git-commit-hash/tests/main.js
Normal file
@@ -0,0 +1,27 @@
|
||||
import assert from "assert";
|
||||
|
||||
const gitShaPattern = /^[0-9a-z]{40}$/;
|
||||
|
||||
describe("git-commit-hash", function () {
|
||||
it("package.json has correct name", async function () {
|
||||
const { name } = await import("../package.json");
|
||||
assert.strictEqual(name, "git-commit-hash");
|
||||
});
|
||||
|
||||
it("Meteor.gitCommitHash is defined", function () {
|
||||
assert.strictEqual(typeof Meteor.gitCommitHash, "string");
|
||||
assert(gitShaPattern.test(Meteor.gitCommitHash), Meteor.gitCommitHash);
|
||||
});
|
||||
|
||||
if (Meteor.isClient) {
|
||||
it("client is not server", function () {
|
||||
assert.strictEqual(Meteor.isServer, false);
|
||||
});
|
||||
}
|
||||
|
||||
if (Meteor.isServer) {
|
||||
it("server is not client", function () {
|
||||
assert.strictEqual(Meteor.isClient, false);
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -3,7 +3,7 @@ if (Meteor.isClient) {
|
||||
|
||||
var maybeCall = function () {
|
||||
var A = Package.autoupdate.Autoupdate;
|
||||
if (A._ClientVersions.findOne() && ! A.newClientAvailable()) {
|
||||
if (A._clientVersions.hasVersions() && ! A.newClientAvailable()) {
|
||||
Meteor.call("clientLoad",
|
||||
typeof jsVar === 'undefined' ? 'undefined' : jsVar,
|
||||
typeof packageVar === 'undefined' ? 'undefined' : packageVar,
|
||||
|
||||
18
tools/tests/apps/standard-app/.meteor/.finished-upgraders
Normal file
18
tools/tests/apps/standard-app/.meteor/.finished-upgraders
Normal file
@@ -0,0 +1,18 @@
|
||||
# This file contains information which helps Meteor properly upgrade your
|
||||
# app when you run 'meteor update'. You should check it into version control
|
||||
# with your project.
|
||||
|
||||
notices-for-0.9.0
|
||||
notices-for-0.9.1
|
||||
0.9.4-platform-file
|
||||
notices-for-facebook-graph-api-2
|
||||
1.2.0-standard-minifiers-package
|
||||
1.2.0-meteor-platform-split
|
||||
1.2.0-cordova-changes
|
||||
1.2.0-breaking-changes
|
||||
1.3.0-split-minifiers-package
|
||||
1.4.0-remove-old-dev-bundle-link
|
||||
1.4.1-add-shell-server-package
|
||||
1.4.3-split-account-service-packages
|
||||
1.5-add-dynamic-import-package
|
||||
1.7-split-underscore-from-meteor-base
|
||||
7
tools/tests/apps/standard-app/.meteor/.id
Normal file
7
tools/tests/apps/standard-app/.meteor/.id
Normal file
@@ -0,0 +1,7 @@
|
||||
# This file contains a token that is unique to your project.
|
||||
# Check it into your repository along with the rest of this directory.
|
||||
# It can be used for purposes such as:
|
||||
# - ensuring you don't accidentally deploy one app on top of another
|
||||
# - providing package authors with aggregated statistics
|
||||
|
||||
lwfpbe3yeelg.jiny0taw9ho
|
||||
@@ -3,5 +3,9 @@
|
||||
# 'meteor add' and 'meteor remove' will edit this file for you,
|
||||
# but you can also edit it by hand.
|
||||
|
||||
meteor-base
|
||||
standard-minifiers
|
||||
meteor-base@1.4.0
|
||||
mongo@1.6.0
|
||||
standard-minifier-css
|
||||
standard-minifier-js
|
||||
shell-server
|
||||
dynamic-import
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user