Merge branch 'devel' into underscore/webapp

This commit is contained in:
Harry Adel
2023-04-02 18:16:24 +02:00
committed by GitHub
162 changed files with 12839 additions and 6245 deletions

19
.github/workflows/check-code-style.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: Check code-style
on:
push:
paths:
- 'npm-packages/meteor-installer/**'
pull_request:
paths:
- 'npm-packages/meteor-installer/**'
jobs:
check-code-style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 14.x
- run: npm ci
- name: Run ESLint@8
run: npx eslint@8 "./npm-packages/meteor-installer/**/*.js"

View File

@@ -10,14 +10,14 @@ jobs:
run:
working-directory: docs/
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 12.x
- name: Build the Docs
run: npm ci && npm run build
- name: Deploy to Netlify for preview
uses: nwtgck/actions-netlify@v1.2.2
uses: nwtgck/actions-netlify@v1.2.4
with:
publish-dir: './docs/public/'
production-branch: devel

View File

@@ -10,14 +10,14 @@ jobs:
run:
working-directory: guide/
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 12.x
- name: Build the Guide
run: npm ci && npm run build
- name: Deploy to Netlify for preview
uses: nwtgck/actions-netlify@v1.2.2
uses: nwtgck/actions-netlify@v1.2.4
with:
publish-dir: './guide/public'
production-branch: devel

View File

@@ -17,6 +17,6 @@ jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v3
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -20,9 +20,9 @@ jobs:
matrix:
node-version: [12.x, 14.x]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: npm

View File

@@ -20,9 +20,9 @@ jobs:
matrix:
node-version: [12.x, 14.x]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: npm

View File

@@ -20,9 +20,9 @@ jobs:
matrix:
node-version: [12.x, 14.x]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: npm

3
.gitignore vendored
View File

@@ -29,6 +29,3 @@ mongo-test-output
# core packages shouldn't have .versions files
packages/*/.versions
# packages shouldn't have .npm on Git
packages/**/.npm

View File

@@ -28,7 +28,7 @@ Meteor is an **ultra-simple** environment for building **modern** web applicatio
### 📚 **Create your applications using modern JavaScript**
Benefit from the latest technology updates to fastly prototype and develop your applications.
Benefit from the latest technology updates to rapidly prototype and develop your applications.
<hr>
@@ -46,7 +46,7 @@ Use the same code whether youre developing for web, iOS, Android, or desktop
# 🔥 Getting Started
What about to try a getting started tutorial in your favorite technology?
How about trying a getting started tutorial in your favorite technology?
| [<img align="left" width="25" src="https://www.quantumversity.com/wp-content/uploads/2020/11/Adding-Authentication-to-React-with-Auth0-Login-and-Profile.png"> React](https://react-tutorial.meteor.com/) |
| - |

View File

@@ -1,6 +1,8 @@
title: Meteor API Docs
subtitle: API Docs
versions:
- '2.11'
- '2.10'
- '2.9'
- '2.8'
- '2.7'

View File

@@ -0,0 +1,36 @@
## vX.XX.X, 2023-XX-XX
### Highlights
* MongoDB Server 6.x Support
* Embedded Mongo now uses MongoDB 6.0.3
* Some pr [GH someone] [PR #number] // this will become -> [StorytellerCZ](https://github.com/someone) [PR](https://github.com/meteor/meteor/pull/number)
#### Breaking Changes
N/A
#### Internal API changes
N/A
#### Migration Steps
TODO
#### Meteor Version Release
* `Command line`:
- Corrected typo in XX XX
* `npm mongo @4.13.0`: // You can use @get-version to get the version of the package
- Updated MongoDB driver to version 4.13.0
#### Special thanks to
- [@XXX](https://github.com/XXXX).
For making this great framework even better!

View File

@@ -0,0 +1,29 @@
## Changelog Generator
This is a generator for the changelog, you must create a file with the name of
the version that you are generating the changelog for. The script will take care of the rest.
In this file you should follow the EXAMPLE.md file that is within this directory.
The script will generate a file called `history.gen.md` that will be used by the
`changelog.md` file to generate the changelog page.
To get which branches were merged into release you can search in the GitHub
repo by using this query:
```
is:pr base:<release-branch-name> is:merged
```
or in GH Cli:
```bash
gh pr list --state merged --base <release-branch-name>
```
note that it may not be as useful as the first one, since it will not show the
Authors and other related information.
## Why?
Computers with lower memory/ IDEs with high memory usage can have problems with
the changelog file(~10k lines). This is a way to reduce the memory usage of the changelog, also creating a more
organized changelog, since all the files will be reflecting at least one version.

View File

@@ -0,0 +1,77 @@
const _fs = require('fs');
const fs = _fs.promises;
function getPackageVersion(packageName) {
function getFile(path) {
try {
const data = _fs.readFileSync(path, 'utf8');
return [data, null];
} catch (e) {
console.error(e);
return ['', e];
}
}
const [code, error] = getFile(`../packages/${ packageName }/package.js`);
if (error) return 'ERR_NO_VERSION';
for (const line of code.split(/\n/)) {
// verify if the line has a version
if (!line.includes('version:')) continue;
//Package.describe({
// summary: 'some description.',
// version: '1.2.3' <--- this is the line we want, we assure that it has a version in the previous if
//});
const [_, versionValue] = line.split(':');
if (!versionValue) continue;
const removeQuotes =
(v) =>
v
.trim()
.replace(',', '')
.replace(/'/g, '')
.replace(/"/g, '');
if (versionValue.includes('-')) return removeQuotes(versionValue.split('-')[0]);
return removeQuotes(versionValue);
}
}
const main = async () => {
try {
console.log('started concatenating files');
const files = await fs.readdir('./generators/changelog/versions', 'utf8');
const filesStream = files
.map(file => {
console.log(`reading file: ${ file }`);
return fs.readFile(`./generators/changelog/versions/${ file }`, 'utf8');
})
.map(async (buf, index) => {
// first file we don't do anything
// Big file and does not follow the new standard
if (index === 0) return buf;
const content = (await buf).toString();
// DSL Replacers
// [PR #123] -> [PR #123](https://github.com/meteor/meteor/pull/123)
// [GH meteor/meteor] -> [meteor/meteor](https://github.com/meteor/meteor)
// package-name@get-version -> package-name@1.3.3
return content
.replace(/\[PR #(\d+)\]/g, (_, number) => `[PR #${ number }](https://github.com/meteor/meteor/pull/${ number })`)
.replace(/\[GH ([^\]]+)\]/g, (_, name) => `[${ name }](https://github.com/${ name })`)
.replace(/([a-z0-9-]+)@get-version/g, (_, name) => `${ name }@${ getPackageVersion(name) }`);
})
.reverse();
console.log('Giving some touches to the files');
const filesContent = await Promise.all(filesStream);
await fs.writeFile('./history.md', filesContent.join(''));
console.log('Finished :)');
} catch (e) {
console.log(e);
}
}
main().then(_ => _);

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,84 @@
## v2.10.0, 2023-01-13
### Highlights
* Update skeletons to use React 18 [PR](https://github.com/meteor/meteor/pull/12419) by [StorytellerCZ](https://github.com/StorytellerCZ).
* Use MongoDB types instead of the homebuilt [PR](https://github.com/meteor/meteor/pull/12415) by [perbergland](https://github.com/perbergland).
* Fixing wrong type definitions in MongoDB package [PR](https://github.com/meteor/meteor/pull/12409) by [ebroder](https://github.com/ebroder).
* Typescript to version v4.7.4 [PR](https://github.com/meteor/meteor/pull/12393) by [StorytellerCZ](https://github.com/StorytellerCZ).
* Update test-in-browser dependencies [PR](https://github.com/meteor/meteor/pull/12384) by [harryadel](https://github.com/harryadel).
* Update boilerplate-generator-tests [PR](https://github.com/meteor/meteor/pull/12429) by [harryadel](https://github.com/harryadel).
* Replace double-ended-queue with denque [PR](https://github.com/meteor/meteor/pull/12430) by [harryadel](https://github.com/harryadel).
* Allow multiple runtime config and updated runtime hooks [PR](https://github.com/meteor/meteor/pull/12426) by [ebroder](https://github.com/ebroder).
* Added async forEach and clear for method Hooks [PR](https://github.com/meteor/meteor/pull/12427) by [Grubba27](https://github.com/Grubba27).
* Implemented async Tracker with explicit values [PR](https://github.com/meteor/meteor/pull/12294) by [radekmie](https://github.com/radekmie).
* Improved eslint config [PR](https://github.com/meteor/meteor/pull/12309) by [afrokick](https://github.com/afrokick).
#### Breaking Changes
N/A
#### Internal API changes
N/A
#### Migration Steps
N/A
#### Meteor Version Release
* `babel-compiler@7.10.2`:
- Updated @meteorjs/babel to version 7.18.0.
- Updated to typescript to version v4.7.4.
* `boilerplate-generator-tests@1.5.1`:
- Updated parse5 and turned streamToString into a local function.
* `callback-hook@1.5.0`
- Added forEachAsync.
* `ecmascript@0.16.5`
- Updated typescript to version 4.7.4.
* `Command line`:
- Updated React skeletons to use React 18
* `Meteor@1.11.0`:
- Replaced double-ended-queue with [denque](https://github.com/invertase/denque)
* `mongo@1.16.4`:
- Fixed wrong type definitions.
- switch to using MongoDB types instead of the homebuilt.
- Fixed wrong type definitions in MongoDB package related to dropIndexAsync
* `react-fast-refresh@0.2.5`:
- Updated react-refresh dependency.
* `test-in-browser@1.3.3`:
- Updated dependencies and removed unused libs.
* `Tracker@1.3.0`:
- Implemented async Tracker with explicit values
* `typescript@4.7.4`
- Updated typescript to version 4.7.4.
* `webapp@1.13.3`
- The forEach method on Hook will stop iterating unless the iterator function returns a truthy value.
Previously, this meant that only the first registered runtime config hook would be called.
* `@meteorjs/babel@7.18.0-beta.5`
- Updated typescript to version 4.7.4.
#### Special thanks to
- [@StorytellerCZ](https://github.com/StorytellerCZ).
- [@perbergland](https://github.com/perbergland).
- [@ebroder](https://github.com/ebroder).
- [@harryadel](https://github.com/harryadel).
- [@radekmie](https://github.com/radekmie).
- [@Grubba27](https://github.com/Grubba27).
- [@afrokick](https://github.com/afrokick).
For making this great framework even better!

View File

@@ -0,0 +1,137 @@
## v2.11.0, 2023-03-02
### Highlights
* MongoDB Server 6.x Support
* Embedded Mongo now uses MongoDB 6.0.3
* Optimized makeLookupFunction
by [radekmie](https://github.com/radekmie) [PR](https://github.com/meteor/meteor/pull/12462)
* In async wrappers, catch exceptions and reject
by [ebroder](https://github.com/ebroder) [PR](https://github.com/meteor/meteor/pull/12469)
* Bump Typescript to v4.9.4 by [Firfi](https://github.com/Firfi) [PR](https://github.com/meteor/meteor/pull/12465)
* Ensure the meteor.loginServiceConfiguration subscription always becomes ready
by [Torgen](https://github.com/Torgen) [PR](https://github.com/meteor/meteor/pull/12480)
* Deprecate appcache package
by [StorytellerCZ](https://github.com/StorytellerCZ) [PR](https://github.com/meteor/meteor/pull/12456)
* Made standard-minifier-css debuggable
by [softwarecreations](https://github.com/softwarecreations) [PR](https://github.com/meteor/meteor/pull/12478).
* Upgrading MongoDB Driver to v4.14
by [Grubba27](https://github.com/Grubba27) [PR](https://github.com/meteor/meteor/pull/12501)
* Remove Blaze dependency and types that live in blaze.d.ts
by [perbergland](https://github.com/perbergland) [PR](https://github.com/meteor/meteor/pull/12428)
* Switch typescript skeleton to zodern:types and test that it works by [GH ebroder] [PR #12510]
* Remove packages/*/.npm from gitignore and add missing .npm folders by [GH ebroder] [PR #12508]
* Add type definitions for async methods from Meteor 2.9 by [GH ebroder] [PR #12507]
* TypeScript skeleton fixes by [GH ebroder] [PR #12506]
* Fix TypeScript type dependencies for mongo, webapp, and underscore by [GH ebroder] [PR #12505]
* Improve specificity of types previously declared as "Object" by [GH ebroder] [PR #12520]
* Bump to Node 14.21.3 by [GH StorytellerCZ] [PR #12517]
#### Breaking Changes
`meteor mongo` command was removed due compatibility with MongoDB v6.x of `mongosh
for more information about MongoDB migration
read our [Migration Guide](https://guide.meteor.com/2.11-migration.html) for this version.
#### Internal API changes
App cache is now deprecated.
#### Migration Steps
Read our [Migration Guide](https://guide.meteor.com/2.11-migration.html) for this version.
#### Meteor Version Release
* `accounts-2fa@get-version`:
- removed .npm/package contents and added .gitignore
* `accounts-base@get-version`:
- Updated types to match async methods added in newer versions.
- Ensured the meteor.loginServiceConfiguration subscription always becomes ready, by adding a this.ready() call.
- Specified that previously were declared as "Object" types. More context can be seen in [PR #12520].
* `accounts-password@get-version`:
- Updated `Accounts.changePassword` and `Accounts.resetPassword` to be correctly verify if the new password is
valid.
- removed .npm/package contents and added .gitignore
* `appcache@1.2.8`
- Deprecated appcache
package. [applicationCache](https://developer.mozilla.org/en-US/docs/Web/API/Window/applicationCache), which this
package relies on, has been deprecated and is not available on the latest browsers.
* `babel-compiler@7.10.3`:
- Updated typescript to version 4.9.4.
* `ecmascript@0.16.6`:
- Updated typescript to version 4.9.4.
* `email@get-version`:
- Updated types to match async methods added in newer versions.
- Specified that previously were declared as "Object" types. More context can be seen in [PR #12520].
* `logging@get-version`:
- removed .npm/package contents and added .gitignore
* `Command line`:
- Corrected typo in vue skeleton.
- Command `meteor mongo` was removed due compatibility with MongoDB v6.x of `mongosh`
* `meteor@get-version`:
- updated types to removed unused Blaze types
- Specified that previously were declared as "Object" types. More context can be seen in [PR #12520].
* `minimongo@1.9.2`:
- Updated performance of makeLookupFunction
- In async wrappers, catch exceptions and reject
* `mongo@get-version`:
- In async wrappers, catch exceptions and reject
- Updated MongoDB types to match driver version 4.13.0 and MongoDB server version 6.0.3
- Specified that previously were declared as "Object" types. More context can be seen in [PR #12520].
- Now uses MongoDB v6.0.3
- Now uses Node v14.21.3
* `npm-mongo@4.14.0`:
- Updated MongoDB driver to version 4.14.0
* `oauth@2.2.0`:
- bumped cordova-plugin-inappbrowser to 5.0.0
* `react-fast-refresh@get-version`:
- removed .npm/package contents and added .gitignore
* `standard-minifier-css@1.9.0`:
- standard-minifier-css is now debuggable
* `tracker@1.3.1`:
- Added missing withComputation method in types
* `typescript@4.9.4`
- Updated typescript to version 4.9.4.
* `underscore@get-version`:
- Added dependency in types to underscore
* `webapp@get-version`:
- Added dependency in types to webapp(to connect)
- removed .npm/package contents and added .gitignore
* `@meteorjs/babel@7.18.0-beta.6`
- Updated typescript to version 4.9.4.
#### Special thanks to
- [@radekmie](https://github.com/radekmie).
- [@ebroder](https://github.com/ebroder).
- [@Firfi](https://github.com/Firfi).
- [@Torgen](https://github.com/Torgen).
- [@StorytellerCZ](https://github.com/StorytellerCZ).
- [@softwarecreations](https://github.com/softwarecreations).
- [@Grubba27](https://github.com/Grubba27).
For making this great framework even better!

View File

@@ -0,0 +1,12 @@
[//]: # (Do not edit this file by hand.)
[//]: # (This is a generated file.)
[//]: # (If you want to change something in this file)
[//]: # (go to meteor/docs/generators/changelog/docs)

View File

@@ -1,3 +1,290 @@
[//]: # (Do not edit this file by hand.)
[//]: # (This is a generated file.)
[//]: # (If you want to change something in this file)
[//]: # (go to meteor/docs/generators/changelog/docs)
## v2.11.0, 2023-03-02
### Highlights
* MongoDB Server 6.x Support
* Embedded Mongo now uses MongoDB 6.0.3
* Optimized makeLookupFunction
by [radekmie](https://github.com/radekmie) [PR](https://github.com/meteor/meteor/pull/12462)
* In async wrappers, catch exceptions and reject
by [ebroder](https://github.com/ebroder) [PR](https://github.com/meteor/meteor/pull/12469)
* Bump Typescript to v4.9.4 by [Firfi](https://github.com/Firfi) [PR](https://github.com/meteor/meteor/pull/12465)
* Ensure the meteor.loginServiceConfiguration subscription always becomes ready
by [Torgen](https://github.com/Torgen) [PR](https://github.com/meteor/meteor/pull/12480)
* Deprecate appcache package
by [StorytellerCZ](https://github.com/StorytellerCZ) [PR](https://github.com/meteor/meteor/pull/12456)
* Made standard-minifier-css debuggable
by [softwarecreations](https://github.com/softwarecreations) [PR](https://github.com/meteor/meteor/pull/12478).
* Upgrading MongoDB Driver to v4.14
by [Grubba27](https://github.com/Grubba27) [PR](https://github.com/meteor/meteor/pull/12501)
* Remove Blaze dependency and types that live in blaze.d.ts
by [perbergland](https://github.com/perbergland) [PR](https://github.com/meteor/meteor/pull/12428)
* Switch typescript skeleton to zodern:types and test that it works by [ebroder](https://github.com/ebroder) [PR #12510](https://github.com/meteor/meteor/pull/12510)
* Remove packages/*/.npm from gitignore and add missing .npm folders by [ebroder](https://github.com/ebroder) [PR #12508](https://github.com/meteor/meteor/pull/12508)
* Add type definitions for async methods from Meteor 2.9 by [ebroder](https://github.com/ebroder) [PR #12507](https://github.com/meteor/meteor/pull/12507)
* TypeScript skeleton fixes by [ebroder](https://github.com/ebroder) [PR #12506](https://github.com/meteor/meteor/pull/12506)
* Fix TypeScript type dependencies for mongo, webapp, and underscore by [ebroder](https://github.com/ebroder) [PR #12505](https://github.com/meteor/meteor/pull/12505)
* Improve specificity of types previously declared as "Object" by [ebroder](https://github.com/ebroder) [PR #12520](https://github.com/meteor/meteor/pull/12520)
* Bump to Node 14.21.3 by [StorytellerCZ](https://github.com/StorytellerCZ) [PR #12517](https://github.com/meteor/meteor/pull/12517)
#### Breaking Changes
`meteor mongo` command was removed due compatibility with MongoDB v6.x of `mongosh
for more information about MongoDB migration
read our [Migration Guide](https://guide.meteor.com/2.11-migration.html) for this version.
#### Internal API changes
App cache is now deprecated.
#### Migration Steps
Read our [Migration Guide](https://guide.meteor.com/2.11-migration.html) for this version.
#### Meteor Version Release
* `accounts-2fa@2.0.2`:
- removed .npm/package contents and added .gitignore
* `accounts-base@2.2.7`:
- Updated types to match async methods added in newer versions.
- Ensured the meteor.loginServiceConfiguration subscription always becomes ready, by adding a this.ready() call.
- Specified that previously were declared as "Object" types. More context can be seen in [PR #12520](https://github.com/meteor/meteor/pull/12520).
* `accounts-password@2.3.4`:
- Updated `Accounts.changePassword` and `Accounts.resetPassword` to be correctly verify if the new password is
valid.
- removed .npm/package contents and added .gitignore
* `appcache@1.2.8`
- Deprecated appcache
package. [applicationCache](https://developer.mozilla.org/en-US/docs/Web/API/Window/applicationCache), which this
package relies on, has been deprecated and is not available on the latest browsers.
* `babel-compiler@7.10.3`:
- Updated typescript to version 4.9.4.
* `ecmascript@0.16.6`:
- Updated typescript to version 4.9.4.
* `email@2.2.4`:
- Updated types to match async methods added in newer versions.
- Specified that previously were declared as "Object" types. More context can be seen in [PR #12520](https://github.com/meteor/meteor/pull/12520).
* `logging@1.3.2`:
- removed .npm/package contents and added .gitignore
* `Command line`:
- Corrected typo in vue skeleton.
- Command `meteor mongo` was removed due compatibility with MongoDB v6.x of `mongosh`
* `meteor@1.11.1`:
- updated types to removed unused Blaze types
- Specified that previously were declared as "Object" types. More context can be seen in [PR #12520](https://github.com/meteor/meteor/pull/12520).
* `minimongo@1.9.2`:
- Updated performance of makeLookupFunction
- In async wrappers, catch exceptions and reject
* `mongo@1.16.5`:
- In async wrappers, catch exceptions and reject
- Updated MongoDB types to match driver version 4.13.0 and MongoDB server version 6.0.3
- Specified that previously were declared as "Object" types. More context can be seen in [PR #12520](https://github.com/meteor/meteor/pull/12520).
- Now uses MongoDB v6.0.3
- Now uses Node v14.21.3
* `npm-mongo@4.14.0`:
- Updated MongoDB driver to version 4.14.0
* `oauth@2.2.0`:
- bumped cordova-plugin-inappbrowser to 5.0.0
* `react-fast-refresh@0.2.6`:
- removed .npm/package contents and added .gitignore
* `standard-minifier-css@1.9.0`:
- standard-minifier-css is now debuggable
* `tracker@1.3.1`:
- Added missing withComputation method in types
* `typescript@4.9.4`
- Updated typescript to version 4.9.4.
* `underscore@1.0.12`:
- Added dependency in types to underscore
* `webapp@1.13.4`:
- Added dependency in types to webapp(to connect)
- removed .npm/package contents and added .gitignore
* `@meteorjs/babel@7.18.0-beta.6`
- Updated typescript to version 4.9.4.
#### Special thanks to
- [@radekmie](https://github.com/radekmie).
- [@ebroder](https://github.com/ebroder).
- [@Firfi](https://github.com/Firfi).
- [@Torgen](https://github.com/Torgen).
- [@StorytellerCZ](https://github.com/StorytellerCZ).
- [@softwarecreations](https://github.com/softwarecreations).
- [@Grubba27](https://github.com/Grubba27).
For making this great framework even better!
## v2.10.0, 2023-01-13
### Highlights
* Update skeletons to use React 18 [PR](https://github.com/meteor/meteor/pull/12419) by [StorytellerCZ](https://github.com/StorytellerCZ).
* Use MongoDB types instead of the homebuilt [PR](https://github.com/meteor/meteor/pull/12415) by [perbergland](https://github.com/perbergland).
* Fixing wrong type definitions in MongoDB package [PR](https://github.com/meteor/meteor/pull/12409) by [ebroder](https://github.com/ebroder).
* Typescript to version v4.7.4 [PR](https://github.com/meteor/meteor/pull/12393) by [StorytellerCZ](https://github.com/StorytellerCZ).
* Update test-in-browser dependencies [PR](https://github.com/meteor/meteor/pull/12384) by [harryadel](https://github.com/harryadel).
* Update boilerplate-generator-tests [PR](https://github.com/meteor/meteor/pull/12429) by [harryadel](https://github.com/harryadel).
* Replace double-ended-queue with denque [PR](https://github.com/meteor/meteor/pull/12430) by [harryadel](https://github.com/harryadel).
* Allow multiple runtime config and updated runtime hooks [PR](https://github.com/meteor/meteor/pull/12426) by [ebroder](https://github.com/ebroder).
* Added async forEach and clear for method Hooks [PR](https://github.com/meteor/meteor/pull/12427) by [Grubba27](https://github.com/Grubba27).
* Implemented async Tracker with explicit values [PR](https://github.com/meteor/meteor/pull/12294) by [radekmie](https://github.com/radekmie).
* Improved eslint config [PR](https://github.com/meteor/meteor/pull/12309) by [afrokick](https://github.com/afrokick).
#### Breaking Changes
N/A
#### Internal API changes
N/A
#### Migration Steps
N/A
#### Meteor Version Release
* `babel-compiler@7.10.2`:
- Updated @meteorjs/babel to version 7.18.0.
- Updated to typescript to version v4.7.4.
* `boilerplate-generator-tests@1.5.1`:
- Updated parse5 and turned streamToString into a local function.
* `callback-hook@1.5.0`
- Added forEachAsync.
* `ecmascript@0.16.5`
- Updated typescript to version 4.7.4.
* `Command line`:
- Updated React skeletons to use React 18
* `Meteor@1.11.0`:
- Replaced double-ended-queue with [denque](https://github.com/invertase/denque)
* `mongo@1.16.4`:
- Fixed wrong type definitions.
- switch to using MongoDB types instead of the homebuilt.
- Fixed wrong type definitions in MongoDB package related to dropIndexAsync
* `react-fast-refresh@0.2.5`:
- Updated react-refresh dependency.
* `test-in-browser@1.3.3`:
- Updated dependencies and removed unused libs.
* `Tracker@1.3.0`:
- Implemented async Tracker with explicit values
* `typescript@4.7.4`
- Updated typescript to version 4.7.4.
* `webapp@1.13.3`
- The forEach method on Hook will stop iterating unless the iterator function returns a truthy value.
Previously, this meant that only the first registered runtime config hook would be called.
* `@meteorjs/babel@7.18.0-beta.5`
- Updated typescript to version 4.7.4.
#### Special thanks to
- [@StorytellerCZ](https://github.com/StorytellerCZ).
- [@perbergland](https://github.com/perbergland).
- [@ebroder](https://github.com/ebroder).
- [@harryadel](https://github.com/harryadel).
- [@radekmie](https://github.com/radekmie).
- [@Grubba27](https://github.com/Grubba27).
- [@afrokick](https://github.com/afrokick).
For making this great framework even better!
## v2.9.1, 2022-12-27
### Highlights
* Reverted missing types [PR](https://github.com/meteor/meteor/pull/12366) by [Grubba27](https://github.com/Grubba27).
* Fix fetch() type declaration [PR](https://github.com/meteor/meteor/pull/12352) by [zarvox](https://github.com/zarvox).
* update svelte skeleton [PR](https://github.com/meteor/meteor/pull/12350) by [tosinek](https://github.com/tosinek).
* Bump to node 14.21.2.0 [PR](https://github.com/meteor/meteor/pull/12370) by [Grubba27](https://github.com/Grubba27).
* resetPassword and verifyEmail to no longer sign in the user automatically [PR](https://github.com/meteor/meteor/pull/12385) by [denihs](https://github.com/denihs).
* Added missing vue2 declaration for skeletons [PR](https://github.com/meteor/meteor/pull/12396) by [Grubba27](https://github.com/Grubba27) & [mlanning](https://github.com/mlanning).
#### Breaking Changes
* `accounts-password@2.3.3`
- The methods `resetPassword` and `verifyEmail` no longer logs the user if they have 2FA enabled. Now, the functions work as before, but instead of automatically logging in the user at the end, an error with the code `2fa-enabled` will be thrown.
#### Internal API changes
N/A
#### Migration Steps
N/A
#### Meteor Version Release
* `fetch@0.1.3`:
- Updated fetch type definition.
* `meteor@1.10.4`:
- Added back meteor type definitions that were removed by mistake in earlier version.
* `accounts-password@2.3.3`
- The methods `resetPassword` and `verifyEmail` no longer logs the user if they have 2FA enabled. Now, the functions work as before, but instead of automatically logging in the user at the end, an error with the code `2fa-enabled` will be thrown.
* `Command line`:
- Updated Svelte skeleton to now be able to support typescript out of the box and added ``#each`` in links in the skeleton.
- Updated node to 14.21.2 changes can be seen [here](https://github.com/nodejs/node/releases/tag/v14.21.2).
- Solved [issue](https://github.com/meteor/meteor/issues/12395) that could not allow vue2 apps being created in command line.
#### Special thanks to
- [@zarvox](https://github.com/zarvox).
- [@tosinek](https://github.com/tosinek).
- [@Grubba27](https://github.com/Grubba27).
- [@denihs](https://github.com/denihs).
- [@mlanning](https://github.com/mlanning).
For making this great framework even better!
## v2.9, 2022-12-12
### Highlights
@@ -31,17 +318,17 @@
by [henriquealbert](https://github.com/henriquealbert).
#### Breaking Changes
N/A
* `Accounts.createUserVerifyingEmail` is now async
#### Internal API changes
* Internal methods from `OAuth` that are now async:
- _attemptLogin
- _loginMethod
- _runLoginHandlers
- OAuth.registerService now accepts async functions
- _attemptLogin
- _loginMethod
- _runLoginHandlers
- OAuth.registerService now accepts async functions
OAuth related code has been moved from `accounts-base` to `accounts-oauth`, removing the dependency on `service-configuration`
more can be seen in this [discussion](https://github.com/meteor/meteor/discussions/12171) and in the [PR](https://github.com/meteor/meteor/pull/12202).
more can be seen in this [discussion](https://github.com/meteor/meteor/discussions/12171) and in the [PR](https://github.com/meteor/meteor/pull/12202).
This means that if you dont use third-party login on your project, you dont need to add the package service-configuration anymore.
#### Migration Steps
@@ -51,63 +338,63 @@ You can follow in [here](https://guide.meteor.com/2.9-migration.html).
#### Meteor Version Release
* `eslint-plugin-meteor@7.4.0`:
- updated Typescript deps and meteor babel.
- updated Typescript deps and meteor babel.
* `eslint-plugin-meteor@7.4.0`:
- updated Typescript deps and meteor babel.
- updated Typescript deps and meteor babel.
* `accounts-base@2.2.6`
- Moved some functions to accounts-oauth.
- Moved some functions to accounts-oauth.
* `accounts-oauth@1.4.2`
- Received functions from accounts-base.
- Received functions from accounts-base.
* `accounts-password@2.3.2`
- Asyncfied functions such as `changePassword`, `forgotPassword`, `resetPassword`, `verifyEmail`, `setPasswordAsync`.
- Asyncfied functions such as `changePassword`, `forgotPassword`, `resetPassword`, `verifyEmail`, `setPasswordAsync`.
* `babel-compiler@7.10.1`
- Updated babel to 7.17.1.
- Updated babel to 7.17.1.
* `email@2.2.3`
- Create Email.sendAsync method without using Fibers.
- Create Email.sendAsync method without using Fibers.
* `facebook-oauth@1.11.2`
- Updated facebook-oauth to use async functions.
- Updated facebook-oauth to use async functions.
* `github-oauth@1.4.1`
- Updated github-oauth to use async functions.
- Updated github-oauth to use async functions.
* `google-oauth@1.4.3`
- Updated google-oauth to use async functions.
- Updated google-oauth to use async functions.
* `meetup-oauth@1.1.2`
- Updated meetup-oauth to use async functions.
- Updated meetup-oauth to use async functions.
* `meteor-developer-oauth@1.3.2`
- Updated meteor-developer-oauth to use async functions.
- Updated meteor-developer-oauth to use async functions.
* `meteor@1.10.3`
- Added Async Local Storage helpers.
- Added Async Local Storage helpers.
* `minifier-css@1.6.2`
- Asyncfied `minifyCss` function.
- Asyncfied `minifyCss` function.
* `minimongo@1.9.1`
- Implemented Fibers-less MongoDB count methods.
- Implemented Fibers-less MongoDB count methods.
* `mongo@1.16.2`
- Implemented Fibers-less MongoDB count methods.
- Implemented Fibers-less MongoDB count methods.
* `npm-mongo@4.12.1`
- Updated npm-mongo to 4.12.
- Updated npm-mongo to 4.12.
* `oauth@2.1.3`
- Asyncfied methods.
- Asyncfied methods.
* `oauth1@1.5.1`
- Asyncfied methods.
- Asyncfied methods.
* `oauth2@1.3.2`
- Asyncfied methods.
- Asyncfied methods.
* `package-version-parser@3.2.1`
- Removed underscore.
- Removed underscore.
* `promise@0.12.2`
- Added DISABLE_FIBERS flag.
- Added DISABLE_FIBERS flag.
* `standard-minifier-css@1.8.3`
- Asyncfied minify method.
- Asyncfied minify method.
* `test-helpers@1.3.1`
- added runAndThrowIfNeeded function.
- added runAndThrowIfNeeded function.
* `test-in-browser@1.3.2`
- Adjusted e[type] to e.type
- Adjusted e[type] to e.type
* `tinytest@1.2.2`
- TinyTest package without Future.
- TinyTest package without Future.
* `twitter-oauth@1.3.2`
- Asyncfied methods.
- Asyncfied methods.
* `typescript@4.6.4`
- updated typescript to 4.6.4.
- updated typescript to 4.6.4.
* `weibo-oauth@1.3.2`
- Asyncfied methods.
- Asyncfied methods.
#### Special thanks to
- [@henriquealbert](https://github.com/henriquealbert);
@@ -126,10 +413,10 @@ For making this great framework even better!
#### Highlights
* `mongo@1.16.2`:
- Make count NOT create a cursor. [PR](https://github.com/meteor/meteor/pull/12326).
- Make count NOT create a cursor. [PR](https://github.com/meteor/meteor/pull/12326).
* `meteorjs/babel@7.16.1-beta.0`
- Adjusted config to Auto import React on jsx,tsx files [PR](https://github.com/meteor/meteor/pull/12327).
- needs to use directly from npm the meteorjs/babel@7.16.1-beta.0.
- Adjusted config to Auto import React on jsx,tsx files [PR](https://github.com/meteor/meteor/pull/12327).
- needs to use directly from npm the meteorjs/babel@7.16.1-beta.0.
#### Breaking Changes
N/A
@@ -138,7 +425,7 @@ N/A
#### Meteor Version Release
* `mongo@1.16.2`:
- Make count NOT create a cursor. [PR](https://github.com/meteor/meteor/pull/12326).
- Make count NOT create a cursor. [PR](https://github.com/meteor/meteor/pull/12326).
#### Special thanks to
- [@henriquealbert](https://github.com/henriquealbert);
@@ -166,15 +453,15 @@ For making this great framework even better!
- In the client, don't wait if the stub doesn't return a promise by [denihs](https://github.com/denihs)
- The rest of type definitions for core packages by [piotrpospiech](https://github.com/piotrpospiech)
- Removing underscore in packages by [harryadel](https://github.com/harryadel):
- [twitter-oauth] Remove underscore
- [test-in-browser] Remove underscore
- [webapp-hashing] Remove underscore
- [browser-policy] Remove underscore
- [ecmascript] Remove underscore
- [browser-policy-framing] Remove underscore
- [diff-sequence] Remove underscore
- [facts-ui] Remove underscore
- [geojson-utils] Remove underscore
- [twitter-oauth] Remove underscore
- [test-in-browser] Remove underscore
- [webapp-hashing] Remove underscore
- [browser-policy] Remove underscore
- [ecmascript] Remove underscore
- [browser-policy-framing] Remove underscore
- [diff-sequence] Remove underscore
- [facts-ui] Remove underscore
- [geojson-utils] Remove underscore
#### Breaking Changes
@@ -191,78 +478,78 @@ _In case you want types in your app using the core packages types/zodern:types (
#### Meteor Version Release
* `accounts-base@2.2.5`
- added types for package.
- added types for package.
* `browser-policy@1.1.1`
- adjusted package tests.
- adjusted package tests.
* `browser-policy-common@1.0.12`
- added types for package.
- added types for package.
* `browser-policy-framing@1.1.1`
- removed underscore.
- removed underscore.
* `check@1.3.2`
- added types for package.
- added types for package.
* `ddp@1.4.0`
- added types for package.
- added types for package.
* `ddp-client@2.6.1`
- In the client, don't wait if the stub doesn't return a promise.
- In the client, don't wait if the stub doesn't return a promise.
* `ddp-rate-limiter@1.1.1`
- added types for package.
- added types for package.
* `diff-sequence@1.1.2`
- removed underscore.
- removed underscore.
* `ecmascript@0.16.3`
- removed underscore.
- removed underscore.
* `ejson@1.1.3`
- added types for package.
- added types for package.
* `ejson@2.2.2`
- added types for package.
- added types for package.
* `facebook-oauth@1.12.0`
- Updated default version of Facebook GraphAPI to v15
- Updated default version of Facebook GraphAPI to v15
* `facts-ui@1.0.1`
- removed underscore.
- removed underscore.
* `fetch@0.1.2`
- added types for package.
- added types for package.
* `geojson-utils@1.0.11`
- removed underscore.
- removed underscore.
* `hot-module-replacement@0.5.2`
- added types for package.
- added types for package.
* `meteor@1.10.2`
- added types for package.
- added types for package.
* `modern-browsers@0.1.9`
- added types for package.
- added types for package.
* `modules-runtime@0.13.2`
- added accurate error messages.
- added accurate error messages.
* `modules-runtime-hot@0.14.1`
- added accurate error messages.
- added accurate error messages.
* `mongo@1.16.1`
- added types for package.
- added true mongo binary
- added types for package.
- added true mongo binary
* `npm-mongo@4.11.0`
- updated npm mongo version to match npm one.
- updated npm mongo version to match npm one.
* `promise@0.13.0`
- added types for package.
- added types for package.
* `random@1.2.1`
- added types for package.
- added types for package.
* `reactive-dict@1.3.1`
- added types for package.
- added types for package.
* `reactive-dict@1.0.12`
- added types for package.
- added types for package.
* `server-render@0.4.1`
- added types for package.
- added types for package.
* `service-configuration@1.3.1`
- added types for package.
- added types for package.
* `session@1.2.1`
- added types for package.
- added types for package.
* `test-in-browser@1.3.1`
- removed underscore.
- removed underscore.
* `tracker@1.2.1`
- added types for package.
* `twitter-oauth@1.3.1`
- removed underscore.
- removed underscore.
* `underscore@1.0.11`
- added types for package.
- added types for package.
* `webapp@1.13.2`
- added types for package.
- added types for package.
* `webapp-hashing@1.1.1`
- added types for package.
- added types for package.
## v2.8, 2022-10-19
#### Highlights
@@ -281,60 +568,60 @@ Read our [Migration Guide](https://guide.meteor.com/2.8-migration.html) for this
#### Meteor Version Release
* `modules@0.19.0`:
- Updating reify version. [PR](https://github.com/meteor/meteor/pull/12055).
- Updating reify version. [PR](https://github.com/meteor/meteor/pull/12055).
* `minimongo@1.9.0`:
- New methods to work with the Async API. [PR](https://github.com/meteor/meteor/pull/12028).
- Solved invalid dates in Minimongo Matcher [PR](https://github.com/meteor/meteor/pull/12165).
- New methods to work with the Async API. [PR](https://github.com/meteor/meteor/pull/12028).
- Solved invalid dates in Minimongo Matcher [PR](https://github.com/meteor/meteor/pull/12165).
* `mongo@1.16.0`:
- Adding async counterparts that allows gradual migration from Fibers. [PR](https://github.com/meteor/meteor/pull/12028).
- Improved oplogV2V1Converter implementation. [PR](https://github.com/meteor/meteor/pull/12116).
- Exit on MongoDB connection error. [PR](https://github.com/meteor/meteor/pull/12115).
- Fixed MongoConnection._onFailover hook. [PR](https://github.com/meteor/meteor/pull/12125).
- Fixed handling objects in oplogV2V1Converter. [PR](https://github.com/meteor/meteor/pull/12107).
- Adding async counterparts that allows gradual migration from Fibers. [PR](https://github.com/meteor/meteor/pull/12028).
- Improved oplogV2V1Converter implementation. [PR](https://github.com/meteor/meteor/pull/12116).
- Exit on MongoDB connection error. [PR](https://github.com/meteor/meteor/pull/12115).
- Fixed MongoConnection._onFailover hook. [PR](https://github.com/meteor/meteor/pull/12125).
- Fixed handling objects in oplogV2V1Converter. [PR](https://github.com/meteor/meteor/pull/12107).
* `meteor@1.10.1`:
- Create method to check if Fibers is enabled by flag DISABLE_FIBERS. [PR](https://github.com/meteor/meteor/pull/12100).
- Fix bugs for linter build plugins. [PR](https://github.com/meteor/meteor/pull/12120).
- Document meteor show METEOR. [PR](https://github.com/meteor/meteor/pull/12124).
- Update Cordova Android to 10.1.2. [PR](https://github.com/meteor/meteor/pull/12131).
- Fixed flaky test. [PR](https://github.com/meteor/meteor/pull/12129).
- Refactoring/Remove unused imports from tools folder. [PR](https://github.com/meteor/meteor/pull/12084).
- Fix problem when publishing async methods. [PR](https://github.com/meteor/meteor/pull/12152).
- Update skeletons Apollo[PR](https://github.com/meteor/meteor/pull/12091) and other skeletons [PR](https://github.com/meteor/meteor/pull/12099)
- Added callAsync method for calling async methods [PR](https://github.com/meteor/meteor/pull/12196).
- Create method to check if Fibers is enabled by flag DISABLE_FIBERS. [PR](https://github.com/meteor/meteor/pull/12100).
- Fix bugs for linter build plugins. [PR](https://github.com/meteor/meteor/pull/12120).
- Document meteor show METEOR. [PR](https://github.com/meteor/meteor/pull/12124).
- Update Cordova Android to 10.1.2. [PR](https://github.com/meteor/meteor/pull/12131).
- Fixed flaky test. [PR](https://github.com/meteor/meteor/pull/12129).
- Refactoring/Remove unused imports from tools folder. [PR](https://github.com/meteor/meteor/pull/12084).
- Fix problem when publishing async methods. [PR](https://github.com/meteor/meteor/pull/12152).
- Update skeletons Apollo[PR](https://github.com/meteor/meteor/pull/12091) and other skeletons [PR](https://github.com/meteor/meteor/pull/12099)
- Added callAsync method for calling async methods [PR](https://github.com/meteor/meteor/pull/12196).
* `meteor-installer@2.7.5`:
- Validates required Node.js version. [PR](https://github.com/meteor/meteor/pull/12066).
- Validates required Node.js version. [PR](https://github.com/meteor/meteor/pull/12066).
* `npm-mongo@4.9.0`:
- Updated MongoDB driver to 4.9. [PR](https://github.com/meteor/meteor/pull/12163).
- Updated MongoDB driver to 4.9. [PR](https://github.com/meteor/meteor/pull/12163).
* `@meteorjs/babel@7.17.0`
- Upgrade TypeScript to `4.6.4`
- Upgrade TypeScript to `4.6.4`
* `babel-compiler@7.10.0`
- Upgrade TypeScript to `4.6.4`
- Upgrade TypeScript to `4.6.4`
* `ecmascript@0.16.3`
- Upgrade TypeScript to `4.6.4`
- Upgrade TypeScript to `4.6.4`
* `typescript@4.6.4`
- Upgrade TypeScript to `4.6.4`
- Upgrade TypeScript to `4.6.4`
* `eslint-plugin-meteor@7.4.0`
- Upgrade TypeScript to `4.6.4`
- Upgrade TypeScript to `4.6.4`
#### Independent Releases
* `accounts-passwordless@2.1.3`:
- Fixing bug where tokens where never expiring. [PR](https://github.com/meteor/meteor/pull/12088).
- Fixing bug where tokens where never expiring. [PR](https://github.com/meteor/meteor/pull/12088).
* `accounts-base@2.2.4`:
- Adding new options to the `Accounts.config()` method: `loginTokenExpirationHours` and `tokenSequenceLength`. [PR](https://github.com/meteor/meteor/pull/12088).
- Adding new options to the `Accounts.config()` method: `loginTokenExpirationHours` and `tokenSequenceLength`. [PR](https://github.com/meteor/meteor/pull/12088).
* `Meteor Repo`:
- Included githubactions in the dependabot config. [PR](https://github.com/meteor/meteor/pull/12061).
- Visual rework in meteor readme. [PR](https://github.com/meteor/meteor/pull/12133).
- Remove useraccounts from Guide. [PR](https://github.com/meteor/meteor/pull/12090).
- Included githubactions in the dependabot config. [PR](https://github.com/meteor/meteor/pull/12061).
- Visual rework in meteor readme. [PR](https://github.com/meteor/meteor/pull/12133).
- Remove useraccounts from Guide. [PR](https://github.com/meteor/meteor/pull/12090).
* `minifier-css@1.6.1`:
- Update postcss package to avoid issues with `Browserslist` and `caniuse-lite`. [PR](https://github.com/meteor/meteor/pull/12136).
- Update postcss package to avoid issues with `Browserslist` and `caniuse-lite`. [PR](https://github.com/meteor/meteor/pull/12136).
* `minifier-js@2.7.5`:
- Update terser package due to security fixes and to take advantage of terser improvements. [PR](https://github.com/meteor/meteor/pull/12137).
- Update terser package due to security fixes and to take advantage of terser improvements. [PR](https://github.com/meteor/meteor/pull/12137).
* `standard-minifier-css@1.8.2`:
- Update dependencies to avoid issues with `Browserslist` and `caniuse-lite`. [PR](https://github.com/meteor/meteor/pull/12141).
- Update dependencies to avoid issues with `Browserslist` and `caniuse-lite`. [PR](https://github.com/meteor/meteor/pull/12141).
* `standard-minifier-js@2.8.1`:
- Update dependencies to avoid issues with `Browserslist` and `caniuse-lite`. [PR](https://github.com/meteor/meteor/pull/12142).
- Update dependencies to avoid issues with `Browserslist` and `caniuse-lite`. [PR](https://github.com/meteor/meteor/pull/12142).
* `ddp-server@2.5.1`:
- Rename setPublicationStrategy and getPublicationStrategy arguments. [PR](https://github.com/meteor/meteor/pull/12166).
- Rename setPublicationStrategy and getPublicationStrategy arguments. [PR](https://github.com/meteor/meteor/pull/12166).
#### Special thanks to
- [@fredmaiaarantes](https://github.com/fredmaiaarantes)
@@ -355,7 +642,7 @@ For making this great framework even better!
#### Highlights
* `accounts-passwordless@2.1.2`:
- Throwing an error when the login tokens are not generated well calling requestLoginTokenForUser. [PR](https://github.com/meteor/meteor/pull/12047/files).
- Throwing an error when the login tokens are not generated well calling requestLoginTokenForUser. [PR](https://github.com/meteor/meteor/pull/12047/files).
* Node updated to v14.19.3
* npm update to v6.14.17
* Fix recompiling npm packages for web arch. [PR](https://github.com/meteor/meteor/pull/12023).
@@ -367,9 +654,9 @@ N/A
#### Meteor Version Release
* `accounts-passwordless@2.1.2`:
- Throwing an error when the login tokens are not generated well calling requestLoginTokenForUser. [PR](https://github.com/meteor/meteor/pull/12047/files).
- Throwing an error when the login tokens are not generated well calling requestLoginTokenForUser. [PR](https://github.com/meteor/meteor/pull/12047/files).
* `babel-runtime@1.5.1`:
- Make client 25kb smaller. [PR](https://github.com/meteor/meteor/pull/12051).
- Make client 25kb smaller. [PR](https://github.com/meteor/meteor/pull/12051).
* Node updated to v14.19.3
* npm update to v6.14.17
* Fix win style paths being added to watch sets.
@@ -386,14 +673,14 @@ N/A
#### Meteor Version Release
* `mongo@1.15.0`
- New option `Meteor.settings.packages.mongo.reCreateIndexOnOptionMismatch` for case when an index with the same name, but different options exists it will be re-created.
- If there is an error on index creation Meteor will output a better message naming the collection and index where the error occured. [PR](https://github.com/meteor/meteor/pull/11995).
- New option `Meteor.settings.packages.mongo.reCreateIndexOnOptionMismatch` for case when an index with the same name, but different options exists it will be re-created.
- If there is an error on index creation Meteor will output a better message naming the collection and index where the error occured. [PR](https://github.com/meteor/meteor/pull/11995).
* `modern-browsers@0.1.8`
- New api `getMinimumBrowserVersions` to access the `minimumBrowserVersions`. [PR](https://github.com/meteor/meteor/pull/11998).
- New api `getMinimumBrowserVersions` to access the `minimumBrowserVersions`. [PR](https://github.com/meteor/meteor/pull/11998).
* `socket-stream-client@0.5.0`
- Ability to disable sockjs on client side. [PR](https://github.com/meteor/meteor/pull/12007/).
- Ability to disable sockjs on client side. [PR](https://github.com/meteor/meteor/pull/12007/).
* `meteor-node-stubs@1.2.3`:
- Fix using meteor-node-stubs in IE. [PR](https://github.com/meteor/meteor/pull/12014).
- Fix using meteor-node-stubs in IE. [PR](https://github.com/meteor/meteor/pull/12014).
* New ARCH environment variable that permit users to set uname info. [PR](https://github.com/meteor/meteor/pull/12020).
* Skeleton dependencies updated.
* New Tailwind skeleton. [PR](https://github.com/meteor/meteor/pull/12000).
@@ -407,26 +694,26 @@ N/A
#### Breaking Changes
* `accounts-2fa@2.0.0`
- The method `has2faEnabled` no longer takes a selector as an argument, just the callback.
- `generate2faActivationQrCode` now throws an error if it's being called when the user already has 2FA enabled.
- The method `has2faEnabled` no longer takes a selector as an argument, just the callback.
- `generate2faActivationQrCode` now throws an error if it's being called when the user already has 2FA enabled.
#### Migration Steps
#### Meteor Version Release
* `accounts-2fa@2.0.0`
- Reduce one DB call on 2FA login. [PR](https://github.com/meteor/meteor/pull/11985)
- Throw error when user is not found on `Accounts._is2faEnabledForUser`
- Remove vulnerability from the method `has2faEnabled`
- Now the package auto-publish the field `services.twoFactorAuthentication.type` for logged in users.
- Reduce one DB call on 2FA login. [PR](https://github.com/meteor/meteor/pull/11985)
- Throw error when user is not found on `Accounts._is2faEnabledForUser`
- Remove vulnerability from the method `has2faEnabled`
- Now the package auto-publish the field `services.twoFactorAuthentication.type` for logged in users.
* `accounts-password@2.3.1`
- Use method `Accounts._check2faEnabled` when validating 2FA
- Use method `Accounts._check2faEnabled` when validating 2FA
* `accounts-passwordless@2.1.1`
- Use method `Accounts._check2faEnabled` when validating 2FA
- Use method `Accounts._check2faEnabled` when validating 2FA
* `oauth@2.1.2`
- Check effectively if popup was blocked by browser. [PR](https://github.com/meteor/meteor/pull/11984)
- Check effectively if popup was blocked by browser. [PR](https://github.com/meteor/meteor/pull/11984)
* `standard-minifier-css@1.8.1`
- PostCSS bug fixes. [PR](https://github.com/meteor/meteor/pull/11987/files)
- PostCSS bug fixes. [PR](https://github.com/meteor/meteor/pull/11987/files)
#### Independent Releases
@@ -452,73 +739,73 @@ Read our [Migration Guide](https://guide.meteor.com/2.7-migration.html) for this
#### Meteor Version Release
* `standard-minifier-css@1.8.0`
- Runs PostCSS plugins if the app has a PostCSS config and the `postcss-load-config` npm package installed. Supports TailwindCSS 3.x [PR 1](https://github.com/Meteor-Community-Packages/meteor-postcss/pull/56) [PR 2](https://github.com/meteor/meteor/pull/11903)
- Runs PostCSS plugins if the app has a PostCSS config and the `postcss-load-config` npm package installed. Supports TailwindCSS 3.x [PR 1](https://github.com/Meteor-Community-Packages/meteor-postcss/pull/56) [PR 2](https://github.com/meteor/meteor/pull/11903)
* `react-fast-refresh@0.2.3`
- Fix tracking states with circular dependencies. [PR](https://github.com/meteor/meteor/pull/11923)
- Fix tracking states with circular dependencies. [PR](https://github.com/meteor/meteor/pull/11923)
* `accounts-2fa@1.0.0`
- New package to provide 2FA support
- New package to provide 2FA support
* `accounts-password@2.3.0`
- 2FA support
- 2FA support
* `accounts-passwordless@2.1.0`
- 2FA support
- 2FA support
* `@meteorjs/babel@7.16.0`
- Upgrade TypeScript to `4.5.4`
- Upgrade TypeScript to `4.5.4`
* `babel-compiler@7.9.0`
- Upgrade TypeScript to `4.5.4`
- Upgrade TypeScript to `4.5.4`
* `ecmascript@0.16.2`
- Upgrade TypeScript to `4.5.4`
- Upgrade TypeScript to `4.5.4`
* `typescript@4.5.4`
- Upgrade TypeScript to `4.5.4` [PR](https://github.com/meteor/meteor/pull/11846)
- Upgrade TypeScript to `4.5.4` [PR](https://github.com/meteor/meteor/pull/11846)
* `accounts-ui-unstyled@1.6.0`
- `Accounts.ui.config` can now be set via `Meteor.settings.public.packages.accounts-ui-unstyled`.
- `Accounts.ui.config` can now be set via `Meteor.settings.public.packages.accounts-ui-unstyled`.
* `meteor-tool@2.7`
- CSS minifiers must now handle any caching themselves [PR](https://github.com/meteor/meteor/pull/11882)
- CSS minifiers are always given lazy css resources instead of only during production builds [PR](https://github.com/meteor/meteor/pull/11897)
- Files passed to CSS minifiers now have `file.readAndWatchFileWithHash`, same as for compilers [PR](https://github.com/meteor/meteor/pull/11882)
- If a minifier has a `beforeMinify` function, it will be called once during each build before the minifier is run the first time [PR](https://github.com/meteor/meteor/pull/11882)
- Add `Plugin.fs.readdirWithTypesSync` [PR](https://github.com/meteor/meteor/pull/11882)
- CSS minifiers must now handle any caching themselves [PR](https://github.com/meteor/meteor/pull/11882)
- CSS minifiers are always given lazy css resources instead of only during production builds [PR](https://github.com/meteor/meteor/pull/11897)
- Files passed to CSS minifiers now have `file.readAndWatchFileWithHash`, same as for compilers [PR](https://github.com/meteor/meteor/pull/11882)
- If a minifier has a `beforeMinify` function, it will be called once during each build before the minifier is run the first time [PR](https://github.com/meteor/meteor/pull/11882)
- Add `Plugin.fs.readdirWithTypesSync` [PR](https://github.com/meteor/meteor/pull/11882)
* `ejson@1.1.2`
- Fixing error were EJSON.equals fail to compare object and array if first param is object and second is array. [PR](https://github.com/meteor/meteor/pull/11866), [Issue](https://github.com/meteor/meteor/issues/11864).
- Fixing error were EJSON.equals fail to compare object and array if first param is object and second is array. [PR](https://github.com/meteor/meteor/pull/11866), [Issue](https://github.com/meteor/meteor/issues/11864).
* `oauth@1.4.1`
- If OAuth._retrieveCredentialSecret() fails trying to get credentials inside Accounts.oauth.tryLoginAfterPopupClosed(), we call it again once more.
- If OAuth._retrieveCredentialSecret() fails trying to get credentials inside Accounts.oauth.tryLoginAfterPopupClosed(), we call it again once more.
* `accounts-base@2.2.2`
- Fix an issue where an extra field defined in `defaultFieldSelector` would not get published to the client
- Proving the login results to the `_onLoginHook` when finishing login inside `callLoginMethod`. [PR](https://github.com/meteor/meteor/pull/11913).
- Fix an issue where an extra field defined in `defaultFieldSelector` would not get published to the client
- Proving the login results to the `_onLoginHook` when finishing login inside `callLoginMethod`. [PR](https://github.com/meteor/meteor/pull/11913).
* `github-oauth@1.4.0`
- More data will be retrieved and saved under `services.github` on the user account.
- Add option to disallow sign-up on GitHub using `allow_signup` [parameter](https://docs.github.com/en/developers/apps/building-oauth-apps/authorizing-oauth-apps#parameters), this will be activated based on your Accounts settings, specifically if the option `forbidClientAccountCreation` is set to `true`.
- More data will be retrieved and saved under `services.github` on the user account.
- Add option to disallow sign-up on GitHub using `allow_signup` [parameter](https://docs.github.com/en/developers/apps/building-oauth-apps/authorizing-oauth-apps#parameters), this will be activated based on your Accounts settings, specifically if the option `forbidClientAccountCreation` is set to `true`.
* `email@2.2.1`
- Throwing error when trying to send email in a production environment but without a mail URL set. [PR](https://github.com/meteor/meteor/pull/11891), [Issue](https://github.com/meteor/meteor/issues/11709).
- Throwing error when trying to send email in a production environment but without a mail URL set. [PR](https://github.com/meteor/meteor/pull/11891), [Issue](https://github.com/meteor/meteor/issues/11709).
* `facebook-oauth@1.11.0`
- Updated Facebook API to version 12.0
- Updated Facebook API to version 12.0
* `google-oauth@1.4.2`
- Migrate from `http` to `fetch`
- Migrate from `http` to `fetch`
* `modules-runtime@0.13.0`
- Fix some npm modules being imported as an empty object. [PR](https://github.com/meteor/meteor/pull/11954), [Issue 1](https://github.com/meteor/meteor/issues/11900), [Issue 2](https://github.com/meteor/meteor/issues/11853).
- Fix some npm modules being imported as an empty object. [PR](https://github.com/meteor/meteor/pull/11954), [Issue 1](https://github.com/meteor/meteor/issues/11900), [Issue 2](https://github.com/meteor/meteor/issues/11853).
* `meteor-node-stubs@1.2.1`
- Adds support for [node:](https://nodejs.org/api/esm.html#node-imports) imports.
- Adds support for [node:](https://nodejs.org/api/esm.html#node-imports) imports.
* `minifier-jss@2.8.0`
- Updating terser. It will fix this [issue](https://github.com/meteor/meteor/issues/11721) and [this](https://github.com/meteor/meteor/issues/11930) one. [PR](https://github.com/meteor/meteor/pull/11983).
- Updating terser. It will fix this [issue](https://github.com/meteor/meteor/issues/11721) and [this](https://github.com/meteor/meteor/issues/11930) one. [PR](https://github.com/meteor/meteor/pull/11983).
#### Independent Releases
@@ -542,36 +829,36 @@ Read our [Migration Guide](https://guide.meteor.com/2.7-migration.html) for this
#### Meteor Version Release
* `meteor-tool@2.6.1`
- Use latest @meteor/babel dependency with @babel@7.17.x
- Use latest @meteor/babel dependency with @babel@7.17.x
* `@meteorjs/babel@7.15.1`
- Use babel@7.17.x
- Use babel@7.17.x
* `babel-compiler@7.8.1`
- Use latest @meteor/babel dependency with @babel@7.17.x
- Use latest @meteor/babel dependency with @babel@7.17.x
* `hot-module-replacement@0.5.1`
- Fix issues with HMR and meteor build --debug [PR](https://github.com/meteor/meteor/pull/11922)
- Fix issues with HMR and meteor build --debug [PR](https://github.com/meteor/meteor/pull/11922)
* `webapp@1.13.1`
- Fix issues with HMR and meteor build --debug [PR](https://github.com/meteor/meteor/pull/11922)
- Fix issues with HMR and meteor build --debug [PR](https://github.com/meteor/meteor/pull/11922)
#### Independent Releases
* `mongo@1.14.6` at 2022-02-18
- Remove false-positive warning for supported operation a.0.b:{}
- Remove false-positive warning for supported operation a.0.b:{}
* `mongo@1.14.5` at 2022-02-16
- Fix multiple array operators bug and add support for debug messages
- Fix isArrayOperator function regexp false-positive
- Fix multiple array operators bug and add support for debug messages
- Fix isArrayOperator function regexp false-positive
* `mongo@1.14.4` at 2022-02-11
- Fix sync return for insert methods inside _collection private method [PR](https://github.com/meteor/meteor/pull/11907)
- Support the new "projection" field inside the decision of using oplog for a published cursor or not [PR](https://github.com/meteor/meteor/pull/11908)
- Fix sync return for insert methods inside _collection private method [PR](https://github.com/meteor/meteor/pull/11907)
- Support the new "projection" field inside the decision of using oplog for a published cursor or not [PR](https://github.com/meteor/meteor/pull/11908)
* `mongo@1.14.3` at 2022-02-08
- Remove throw on _id exclusion inside mongo collection finds. [PR](https://github.com/meteor/meteor/pull/11894).
- Remove throw on _id exclusion inside mongo collection finds. [PR](https://github.com/meteor/meteor/pull/11894).
* `mongo@1.14.2` at 2022-02-06
- Fix flatten object issue when internal object value is an array on oplog converter. [PR](https://github.com/meteor/meteor/pull/11888).
- Fix flatten object issue when internal object value is an array on oplog converter. [PR](https://github.com/meteor/meteor/pull/11888).
* `mongo@1.14.1` at 2022-02-04
- Fix flatten object issue when the object is empty on oplog converter. [PR](https://github.com/meteor/meteor/pull/11885), [Issue](https://github.com/meteor/meteor/issues/11884).
- Fix flatten object issue when the object is empty on oplog converter. [PR](https://github.com/meteor/meteor/pull/11885), [Issue](https://github.com/meteor/meteor/issues/11884).
## v2.6, 2022-02-01
@@ -662,7 +949,7 @@ Read our [Migration Guide](https://guide.meteor.com/2.6-migration.html) for this
#### Meteor Version Release
* `meteor-tool@2.5.7`
- Patch release to update Node and npm versions.
- Patch release to update Node and npm versions.
## v2.5.6, 2022-01-25

View File

@@ -23,7 +23,8 @@
"underscore": "1.13.1"
},
"scripts": {
"build": "jsdoc/jsdoc.sh && chexo meteor-hexo-config -- generate",
"generate-history": "node ./generators/changelog/script.js",
"build": "npm run generate-history && jsdoc/jsdoc.sh && chexo meteor-hexo-config -- generate",
"clean": "hexo clean; rm data/data.js data/names.json",
"test": "npm run clean; npm run build",
"predeploy": "npm run build",

View File

@@ -216,6 +216,14 @@ collections will be empty.
Equivalent to [`find`](#find)`(selector, options).`[`fetch`](#fetch)`()[0]` with
`options.limit = 1`.
{% apibox "Mongo.Collection#countDocuments" %}
Similar to `count`, but returns a `Promise`. For a faster version, see `estimatedDocumentCount`.
{% apibox "Mongo.Collection#estimatedDocumentCount" %}
Returns a `Promise` that resolves to the number of documents in the cursor's result set. The count is an estimate and not guaranteed to be exact.
{% apibox "Mongo.Collection#insert" %}
Add a document to the collection. A document is just an object, and

View File

@@ -59,6 +59,10 @@ email with a link the user can use to verify their email address.
{% apibox "Accounts.verifyEmail" %}
If the user trying to verify the email has 2FA enabled, this error will be thrown:
* "Email verified, but user not logged in because 2FA is enabled [2fa-enabled]": No longer signing in the user automatically if the user has 2FA enabled.
This function accepts tokens passed into the callback registered with
[`Accounts.onEmailVerificationLink`](#Accounts-onEmailVerificationLink).
@@ -89,6 +93,9 @@ This function accepts tokens passed into the callbacks registered with
[`AccountsClient#onResetPasswordLink`](#Accounts-onResetPasswordLink) and
[`Accounts.onEnrollmentLink`](#Accounts-onEnrollmentLink).
If the user trying to reset the password has 2FA enabled, this error will be thrown:
* "Changed password, but user not logged in because 2FA is enabled [2fa-enabled]": No longer signing in the user automatically if the user has 2FA enabled.
{% apibox "Accounts.setPassword" %}
{% apibox "Accounts.sendResetPasswordEmail" %}

View File

@@ -80,7 +80,22 @@ If the initial run of an autorun throws an exception, the computation
is automatically stopped and won't be rerun.
### Tracker.autorun and async callbacks
`Tracker.autorun` can accept an `async` callback function. However, the async call back function will only be dependent on reactive functions called prior to any called functions that return a promise.
`Tracker.autorun` can accept an `async` callback function.
However, to make the async call reactive, you should wrap your async function in
a `Tracker.withComputation` call.
```javascript
Tracker.autorun(async function example1(computation) {
let asyncData =
await Tracker.withComputation(computation, () => asyncDataFunction());
let users = Meteor.users.find({}).fetch();
});
```
> If you want to get computation in other way you can use `Tracker.currentComputation`
#### Using async callbacks in versions of Meteor prior to 2.10
`Tracker.autorun` can accept an `async` callback function.
However, the async call back function will only be dependent on reactive functions called prior to any called functions that return a promise.
Example 1 - autorun `example1()` **is not** dependent on reactive changes to the `Meteor.users` collection. Because it is dependent on nothing reactive it will run only once:
```javascript
@@ -99,7 +114,6 @@ Example 2 - autorun `example2()` **is** dependent on reactive changes to the Me
let asyncData = await asyncDataFunction();
});
```
{% apibox "Tracker.flush" %}
Normally, when you make changes (like writing to the database),

View File

@@ -91,6 +91,16 @@ You can pass an absolute or relative path.
**Flags for default packages**
`--prototype`
Creates a package with the prototype purpose packages(`autopublish` and `insecure`)
if you use them you can change your collections quickly,
but it is not supposed to be used in production.
For more information about security you can check
it [here](https://guide.meteor.com/security.html#checklist)
It can be used together with other flags that create apps such as `--react` or `--typescript`.
`--bare`
Creates a basic, blaze project.
@@ -164,38 +174,38 @@ Create a basic [Solid](https://www.solidjs.com/) app.
| | Default (`--react`) | `--bare` | `--full` | `--minimal` | `--blaze` | `--apollo` | `--vue-2` | `--svelte` | `--tailwind` | `--chakra-ui` | `--solid` | `--vue` |
|------------------------------------------------------------------------------------------------------|:-------------------:|:--------:|:--------:|:-----------:|:---------:|:----------:|:---------:|:----------:|:------------:|:-------------:|:---------:|:-------:|
| [autopublish](https://atmospherejs.com/meteor/autopublish) | X | | | | X | | | X | X | X | X | |
| [autopublish](https://atmospherejs.com/meteor/autopublish) | X | | | | X | | | | X | X | X | |
| [akryum:vue-component](https://atmospherejs.com/akryum/vue-component) | | | | | | | X | | | | | |
| [apollo](https://atmospherejs.com/meteor/apollo) | | | | | | X | | | | | | |
| [blaze-html-templates](https://atmospherejs.com/meteor/blaze-html-templates) | | | X | | X | | | | | | | |
| [ecmascript](https://atmospherejs.com/meteor/ecmascript) | X | X | X | X | X | X | X | X | X | X | X | X |
| [es5-shim](https://atmospherejs.com/meteor/es5-shim) | X | X | X | X | X | X | X | X | X | X | X | X |
| [hot-module-replacement](https://atmospherejs.com/meteor/hot-module-replacement) | X | | | | X | X | | | X | X | X | X |
| [insecure](https://atmospherejs.com/meteor/insecure) | X | | | | X | | | X | X | X | X | X |
| [hot-module-replacement](https://atmospherejs.com/meteor/hot-module-replacement) | X | | | | X | X | | X | X | X | X | X |
| [insecure](https://atmospherejs.com/meteor/insecure) | X | | | | X | | | | X | X | X | X |
| [johanbrook:publication-collector](https://atmospherejs.com/meteor/johanbrook/publication-collector) | | | X | | | X | | | | | | |
| [jquery](https://atmospherejs.com/meteor/jquery) | | | X | | X | | | | | | | |
| [ostrio:flow-router-extra](https://atmospherejs.com/meteor/ostrio/flow-router-extra) | | | X | | | | | | | | | |
| [less](https://atmospherejs.com/meteor/less) | | | X | | | | | | | | | |
| [meteor](https://atmospherejs.com/meteor/meteor) | | | | X | | | | | | | | |
| [meteor-base](https://atmospherejs.com/meteor/meteor-base) | X | X | X | | X | X | X | X | X | X | X | X |
| [mobile-experience](https://atmospherejs.com/meteor/mobile-experience) | X | X | X | | X | X | X | X | X | X | X | X |
| [mongo](https://atmospherejs.com/meteor/mongo) | X | X | X | | X | X | X | X | X | X | X | X |
| [meteortesting:mocha](https://atmospherejs.com/meteortesting/mocha) | | | X | | | | X | | | | | |
| [reactive-var](https://atmospherejs.com/meteor/reactive-var) | X | X | X | | X | X | X | X | X | X | X | X |
| [rdb:svelte-meteor-data](https://atmospherejs.com/rdb/svelte-meteor-data) | | | | | | | | X | | | | |
| [ostrio:flow-router-extra](https://atmospherejs.com/meteor/ostrio/flow-router-extra) | | | X | | | | | | | | | |
| [react-meteor-data](https://atmospherejs.com/meteor/react-meteor-data) | X | | | | | | | | X | X | | |
| [reactive-var](https://atmospherejs.com/meteor/reactive-var) | X | X | X | | X | X | X | | X | X | X | X |
| [server-render](https://atmospherejs.com/meteor/server-render) | | | | X | | X | X | | | | | |
| [shell-server](https://atmospherejs.com/meteor/shell-server) | | X | | X | X | X | X | X | X | X | X | X |
| [standard-minifier-css](https://atmospherejs.com/meteor/standard-minifier-css) | X | X | X | X | X | X | X | X | X | X | X | X |
| [standard-minifier-js](https://atmospherejs.com/meteor/standard-minifier-js) | X | X | X | X | X | X | X | X | X | X | X | X |
| [static-html](https://atmospherejs.com/meteor/static-html) | | X | | X | | X | X | X | | | | |
| [svelte:compiler](https://atmospherejs.com/svelte/compiler) | | | | | | | | X | | | | |
| [swydo:graphql](https://atmospherejs.com/swydo/graphql) | | | | | | X | | | | | | |
| [tailwindcss](https://tailwindcss.com) | | X | X | | X | | X | | X | | | |
| [tracker](https://atmospherejs.com/meteor/tracker) | | X | X | | X | | X | | | | | |
| [typescript](https://atmospherejs.com/meteor/typescript) | X | X | X | X | X | X | X | X | X | X | X | |
| [webapp](https://atmospherejs.com/meteor/webapp) | | | | X | | | | | | | | |
| [react-meteor-data](https://atmospherejs.com/meteor/react-meteor-data) | X | | | | | | | | X | X | | |
| [vite:bundler](https://atmospherejs.com/vite/bundler) | | | | | | | | | | | X | X |
| [webapp](https://atmospherejs.com/meteor/webapp) | | | | X | | | | | | | | |
| [zodern:melte](https://atmospherejs.com/zodern/melte) | | | | | | | | X | | | | |
| [zodern:types](https://atmospherejs.com/zodern/types) | | | | | | | | X | | | | |
<h2 id="meteorgenerate"> meteor generate </h2>
@@ -916,7 +926,7 @@ from npm to your `node_modules` directory and save its usage in your
Using the `meteor npm ...` commands in place of traditional `npm ...` commands
is particularly important when using Node.js modules that have binary
dependencies that make native C calls (like [`bcrypt`](https://www.npmjs.com/package/bcrypt))
because doing so ensures that they are built using the same libaries.
because doing so ensures that they are built using the same libraries.
Additionally, this access to the npm that comes with Meteor avoids the need to
download and install npm separately.

View File

@@ -1,35 +1,48 @@
---
title: Install
title: Install Meteor.js
---
Meteor currently supports **OS X, Windows, and Linux**. Only 64-bit is supported.
Apple M1 is natively supported from Meteor 2.5.1 onward (for older versions, you will need to run with a [rosetta terminal](https://osxdaily.com/2020/11/18/how-run-homebrew-x86-terminal-apple-silicon-mac/)).
<h2 id="prereqs">Prerequisites and useful information</h2>
You need to install the Meteor command line tool to create, run, and manage your Meteor.js projects. Check the prerequisites and follow the installation process below.
- If you are on a Mac M1 (Arm64 version) you need to have Rosetta 2 installed, as Meteor uses it for running MongoDB. Check how to install it [here](https://osxdaily.com/2020/12/04/how-install-rosetta-2-apple-silicon-mac/)
- Meteor works with Node.js version >= 10 and <= 14, for Windows you need to have Node.js installed for running the npm installer (tip: you can use [nvm](https://github.com/nvm-sh/nvm) for managing node versions).
- Meteor supports Windows 7/Windows Server 2008 R2 and up.
<h2 id="prereqs">Prerequisites</h2>
<h3 id="prereqs-node">Node.js version</h3>
- Node.js version >= 10 and <= 14 is required.
- We recommend you using [nvm](https://github.com/nvm-sh/nvm) or [Volta](https://volta.sh/) for managing Node.js versions.
<h3 id="prereqs-os">Operating System (OS)</h3>
- Meteor currently supports **OS X, Windows, and Linux**. Only 64-bit is supported.
- Meteor supports Windows 7 / Windows Server 2008 R2 and up.
- Apple M1 is natively supported from Meteor 2.5.1 onward (for older versions, rosetta terminal is required).
- If you are on a Mac M1 (Arm64 version) you need to have Rosetta 2 installed, as Meteor uses it for running MongoDB. Check how to install it [here](https://osxdaily.com/2020/12/04/how-install-rosetta-2-apple-silicon-mac/).
- Disabling antivirus (Windows Defender, etc.) will improve performance.
- For compatibility, Linux binaries are built with CentOS 6.4 i386/amd64.
<h3 id="prereqs-mobile">Mobile Development</h3>
- iOS development requires the latest Xcode.
- **Do not install meteor npm in your project's package.json by any means, the npm library is only an installer.**
<h2 id="installation">Installation</h2>
Install the latest official Meteor release from your terminal running one of the commands below.
Install the latest official version of Meteor.js from your terminal by running one of the commands below. You can check our [changelog](https://docs.meteor.com/changelog.html) for the release notes.
For Linux and OS X:
> Run `node -v` to ensure you are using Node.js 14.
```bash
curl https://install.meteor.com/ | sh
```
For Windows (Node.js is required):
For Windows, Linux and OS X, you can run the following command:
```bash
npm install -g meteor
```
An alternative for Linux and OS X, is to install Meteor by using curl:
```bash
curl https://install.meteor.com/ | sh
```
> Do not install the npm Meteor Tool in your project's package.json. This library is just an installer.
<h2 id="troubleshooting">Troubleshooting</h2>

View File

@@ -3,6 +3,8 @@ title: appcache
description: Documentation of Meteor's `appcache` package.
---
> This package has been deprecated since [applicationCache](https://developer.mozilla.org/en-US/docs/Web/API/Window/applicationCache), which this package relies on, has been deprecated and is not available on the latest browsers. Plaese consider using [Service Worker](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) as an replacement.
The `appcache` package stores the static parts of a Meteor application
(the client side Javascript, HTML, CSS, and images) in the browser's
[application cache](https://en.wikipedia.org/wiki/AppCache). To enable

View File

@@ -50,3 +50,19 @@ module.exports = {
### Tailwind CSS
Tailwind CSS is fully supported. Since HMR applies updates to js files earlier than the css is updated, there can be a delay when using a Tailwind CSS class the first time before the styles are applied.
### Debbuging
_Since Meteor.js 2.11.0 in this [PR](https://github.com/meteor/meteor/pull/12478) we have a debbug mode for the minifier_
#### How standard-minifier-css becomes verbose
- Either of the common debugging commandline arguments
- `--verbose`
- `--debug`
- Environment variable
- `DEBUG_CSS`
Side notes:
`DEBUG_CSS=false` or `DEBUG_CSS=0` will prevent it from being verbose regardless of `--verbose` or `--debug` commandline arguments, because `DEBUG_CSS` is specific.

View File

@@ -5,6 +5,8 @@ edit_branch: 'devel'
edit_path: 'guide'
content_root: 'content'
versions:
- '2.11'
- '2.10'
- '2.9'
- '2.8'
- '2.7'
@@ -38,7 +40,7 @@ sidebar_categories:
- index
- code-style
- structure
- 2.9-migration
- 2.11-migration
Data:
- collections
- data-loading

View File

@@ -0,0 +1,76 @@
---
title: Migrating to Meteor 2.10
description: How to migrate your application to Meteor 2.10.
---
Most of the new features in Meteor 2.10 are either applied directly behind the scenes (in a backwards compatible manner) or are opt-in. For a complete breakdown of the changes, please refer to the [changelog](http://docs.meteor.com/changelog.html).
The above being said, there are a few items that you should implement to have easier time in the future.
<h3 id="async-tracker">Async Tracker</h3>
Wrapping your async calls in a ```Tracker.withComputation``` method will make sure that even async calls are reactive.
before if you used a code like the one below it would only run once and would not be reactive
```javascript
Tracker.autorun(async function example1() {
let asyncData = await asyncDataFunction();
let users = Meteor.users.find({}).fetch();
});
```
To be reactive before 2.10 you would need to call the reactive data sources before the async call
```javascript
Tracker.autorun(async function example2() {
let users = Meteor.users.find({}).fetch();
let asyncData = await asyncDataFunction();
});
```
Now you can have both examples reactive by wrapping the async call in a ```Tracker.withComputation``` method
```javascript
Tracker.autorun(async function example1(computation) {
let asyncData = await Tracker.withComputation(computation, () => asyncDataFunction());
let users = Meteor.users.find({}).fetch();
});
Tracker.autorun(async function example2(computation) {
let users = await Tracker.withComputation(computation, () => Meteor.users.find({}).fetch());
let asyncData = await Tracker.withComputation(computation, () => asyncDataFunction());
});
// using async mongo api
Tracker.autorun(async function example2(computation) {
let asyncData = await Tracker.withComputation(computation, () => asyncDataFunction());
let users = await Tracker.withComputation(computation, () => Meteor.users.find({}).fetchAsync());
});
```
<h2 id="older-versions">Migrating from a version older than 2.9?</h2>
If you're migrating from a version of Meteor older than Meteor 2.9, there may be important considerations not listed in this guide. Please review the older migration guides for details:
* [Migrating to Meteor 2.9](2.9-migration.html) (from 2.8)
* [Migrating to Meteor 2.8](2.8-migration.html) (from 2.7)
* [Migrating to Meteor 2.7](2.7-migration.html) (from 2.6)
* [Migrating to Meteor 2.6](2.6-migration.html) (from 2.5)
* [Migrating to Meteor 2.5](2.5-migration.html) (from 2.4)
* [Migrating to Meteor 2.4](2.4-migration.html) (from 2.3)
* [Migrating to Meteor 2.3](2.3-migration.html) (from 2.2)
* [Migrating to Meteor 2.2](2.2-migration.html) (from 2.0)
* [Migrating to Meteor 2.0](2.0-migration.html) (from 1.12)
* [Migrating to Meteor 1.12](1.12-migration.html) (from 1.11)
* [Migrating to Meteor 1.11](1.11-migration.html) (from 1.10.2)
* [Migrating to Meteor 1.10.2](1.10.2-migration.html) (from 1.10)
* [Migrating to Meteor 1.10](1.10-migration.html) (from 1.9.3)
* [Migrating to Meteor 1.9.3](1.9.3-migration.html) (from 1.9)
* [Migrating to Meteor 1.9](1.9-migration.html) (from 1.8.3)
* [Migrating to Meteor 1.8.3](1.8.3-migration.html) (from 1.8.2)
* [Migrating to Meteor 1.8.2](1.8.2-migration.html) (from 1.8)
* [Migrating to Meteor 1.8](1.8-migration.html) (from 1.7)
* [Migrating to Meteor 1.7](1.7-migration.html) (from 1.6)
* [Migrating to Meteor 1.6](1.6-migration.html) (from 1.5)
* [Migrating to Meteor 1.5](1.5-migration.html) (from 1.4)
* [Migrating to Meteor 1.4](1.4-migration.html) (from 1.3)
* [Migrating to Meteor 1.3](1.3-migration.html) (from 1.2)

View File

@@ -0,0 +1,161 @@
---
title: Migrating to Meteor 2.11
description: How to migrate your application to Meteor 2.11.
---
Most of the new features in Meteor 2.11 are either applied directly behind the scenes (in a backwards compatible manner)
or are opt-in. For a complete breakdown of the changes, please refer to
the [changelog](http://docs.meteor.com/changelog.html).
The above being said, there are a few items that you should implement to have easier time in the future.
<h3 id="mongo-5">MongoDB 6.0.3</h3>
#### Introduction
> This migration is recommended but not required. Since Meteor v2.2.0 we support
> MongoDB v6.x (not with its full
> features), [You can check the compatibility table](https://www.mongodb.com/docs/drivers/node/current/compatibility/)
> but we encourage everybody to run the
> the latest version of Meteor as soon as possible as you can benefit from a new
> MongoDB driver and also other features that we are always adding to Meteor.
Meteor before 2.11 was supporting MongoDB Server 5.x, starting from this version we've upgraded to MongoDB Node.js
driver from version 4.12.1 to 4.14
This change was necessary at the time of writing this guide (January 2023) as MongoDB Atlas is going to migrate
automatically all the clusters in the plans Atlas M0 (Free Cluster), M2, and M5 to MongoDB 6.0 in February 2022, but
this change would be necessary anyway as this is now the latest version of MongoDB Server. The migration in the M0, M2
and M5 is just a sign from MongoDB that they believe MongoDB 6.0 should be the version used by everybody as soon as
possible.
An important note is that we have migrated everything supported by Meteor to be compatible with MongoDB 6.x and also
MongoDB Node.js Driver 4.x but this doesn't include, as you should expect, what you do in your code or package
using `rawCollection`. `rawCollection` is a way for Meteor to provide you the freedom to interact with MongoDB driver
but that also comes with the responsibility to keep your code up-to-date with the version of the driver used by Meteor.
That said, we encourage everybody to run the latest version of Meteor as soon as possible as you can benefit from a new
MongoDB driver and also other features that we are always adding to Meteor.
This version of Meteor is also compatible with previous version of MongoDB server, so you can continue using the latest
Meteor without any issues even if you are not running MongoDB 6.x yet. You can
check [here](https://docs.mongodb.com/drivers/node/current/compatibility/) which versions of MongoDB server the Node.js
driver in the version 4.13.0 supports and as a consequence these are the versions of MongoDB server supported by Meteor
2.11 as well. In short, Meteor 2.11 supports these versions of MongoDB server:6.1, 6.0, 5.0, 4.4, 4.2, 4.0, 3.6.
#### Embedded MongoDB
If you are using Embedded MongoDB in your local environment you should run `meteor reset` in order to have your database
working properly after this upgrade. `meteor reset` is going to remove all the data in your local database.
#### ```meteor mongo```
From MongoDB version 6.X, the `mongo` shell is not available anymore. It can be
seen [here](https://www.mongodb.com/docs/manual/release-notes/6.0-compatibility/#legacy-mongo-shell-removed) for more
info.
For this reason the `meteor mongo` command is not going to work anymore. If you are using this command, you should use
the `mongosh` command instead.
We will be working for a future version of Meteor to have `meteor mongo` working again with `mongosh` but for now you
can use `mongosh` directly.
#### Removed Operators
The following operators have been removed from MongoDB 6.0.3 retrieved from
the [MongoDB 6.0.3 Release Notes](https://www.mongodb.com/docs/manual/release-notes/6.0-compatibility/#removed-operators):
- $comment:
Use [cursor.comment()](https://www.mongodb.com/docs/manual/reference/method/cursor.comment/#mongodb-method-cursor.comment)
- $explain:
Use [cursor.explain()](https://www.mongodb.com/docs/manual/reference/method/cursor.explain/#mongodb-method-cursor.explain)
- $hint:
Use [cursor.hint()](https://www.mongodb.com/docs/manual/reference/method/cursor.hint/#mongodb-method-cursor.hint))
- $max: Use [cursor.max()](https://www.mongodb.com/docs/manual/reference/method/cursor.max/#mongodb-method-cursor.max)
- $maxTimeMS:
Use [cursor.maxTimeMS()](https://www.mongodb.com/docs/manual/reference/method/cursor.maxTimeMS/#mongodb-method-cursor.maxTimeMS)
- $min: Use [cursor.min()](https://www.mongodb.com/docs/manual/reference/method/cursor.min/#mongodb-method-cursor.min)
- $orderby:
Use [cursor.sort()](https://www.mongodb.com/docs/manual/reference/method/cursor.sort/#mongodb-method-cursor.sort)
- $query:
See [Cursor Methods](https://www.mongodb.com/docs/manual/reference/method/js-cursor/#std-label-doc-cursor-methods)
- $returnKey:
Use [cursor.returnKey()](https://www.mongodb.com/docs/manual/reference/method/cursor.returnKey/#mongodb-method-cursor.returnKey)
- $showDiskLoc: Use
[cursor.showRecordId](https://www.mongodb.com/docs/manual/reference/method/cursor.returnKey/#mongodb-method-cursor.showRecordId)
- db.getLastError():
See [Legacy Opcodes Removed](https://www.mongodb.com/docs/manual/release-notes/6.0-compatibility/#std-label-legacy-op-codes-removed)
- db.getLastErrorObj():
See [Legacy Opcodes Removed](https://www.mongodb.com/docs/manual/release-notes/6.0-compatibility/#std-label-legacy-op-codes-removed)
- getLastError:
See [Legacy Opcodes Removed](https://www.mongodb.com/docs/manual/release-notes/6.0-compatibility/#std-label-legacy-op-codes-removed)
#### Changes
Nothing has changed in the Meteor API. You may face issues if you are using any
of the features that have been mentioned above
Below we describe a few common cases in this migration:
#### 1) Same version of MongoDB server
If you are not changing your MongoDB server version you don't need to change anything in your code, but as we did many
changes on how Meteor interact with MongoDB in order to be compatible with the new driver we recommend that you test
your application carefully before releasing to production with this Meteor version.
We've made many tests in real applications and also in our automatic tests suite, we believe we've fixed all the issues
that we found along the way but Meteor interaction with MongoDB is so broad and open that maybe you have different use
cases that could lead to different issues.
Again, we are not aware of any issues that were introduced by these changes, but it's important that you check your app
behavior, especially if you have places where you believe you are not using MongoDB in a traditional way.
#### 2) Migrating from MongoDB 5.x to MongoDB 6.x
As we have made many changes to Meteor core packages in this version we recommend the following steps to migrate:
- Upgrade your app to use Meteor 2.11 (meteor update --release 2.11) in a branch;
- Create a staging environment with MongoDB 6.x and your app environment using the branch created in the previous step;
- If you are using MongoDB Atlas, in MongoDB Atlas we were not able to migrate to a free MongoDB 6.x instance, so we
had to migrate to a paid cluster in order to test the app properly, maybe this will change after February 2023;
- Set up your staging database with MongoDB 6.x and restore your production data there, or populate this database in a
way that you can reproduce the same cases as if you were in production;
- Run your app pointing your MONGO_URL to this new database, that is running MongoDB 6.x;
- Run your end-to-end tests in this environment. If you don't have a robust end-to-end test we recommend that you test
your app manually to make sure everything is working properly.
- Once you have a stable end-to-end test (or manual test), you can consider that you are ready to run using MongoDB 6.x,
so you can consider it as any other database version migration.
We are not aware of any issues that were introduced by the necessary changes to support MongoDB, but it's important that
you check your app behavior, especially if you have places where you believe you are not using MongoDB in a traditional
way.
<h2 id="older-versions">Migrating from a version older than 2.10?</h2>
If you're migrating from a version of Meteor older than Meteor 2.10, there may be important considerations not listed in
this guide. Please review the older migration guides for details:
* [Migrating to Meteor 2.10](2.10-migration.html) (from 2.9)
* [Migrating to Meteor 2.9](2.9-migration.html) (from 2.8)
* [Migrating to Meteor 2.8](2.8-migration.html) (from 2.7)
* [Migrating to Meteor 2.7](2.7-migration.html) (from 2.6)
* [Migrating to Meteor 2.6](2.6-migration.html) (from 2.5)
* [Migrating to Meteor 2.5](2.5-migration.html) (from 2.4)
* [Migrating to Meteor 2.4](2.4-migration.html) (from 2.3)
* [Migrating to Meteor 2.3](2.3-migration.html) (from 2.2)
* [Migrating to Meteor 2.2](2.2-migration.html) (from 2.0)
* [Migrating to Meteor 2.0](2.0-migration.html) (from 1.12)
* [Migrating to Meteor 1.12](1.12-migration.html) (from 1.11)
* [Migrating to Meteor 1.11](1.11-migration.html) (from 1.10.2)
* [Migrating to Meteor 1.10.2](1.10.2-migration.html) (from 1.10)
* [Migrating to Meteor 1.10](1.10-migration.html) (from 1.9.3)
* [Migrating to Meteor 1.9.3](1.9.3-migration.html) (from 1.9)
* [Migrating to Meteor 1.9](1.9-migration.html) (from 1.8.3)
* [Migrating to Meteor 1.8.3](1.8.3-migration.html) (from 1.8.2)
* [Migrating to Meteor 1.8.2](1.8.2-migration.html) (from 1.8)
* [Migrating to Meteor 1.8](1.8-migration.html) (from 1.7)
* [Migrating to Meteor 1.7](1.7-migration.html) (from 1.6)
* [Migrating to Meteor 1.6](1.6-migration.html) (from 1.5)
* [Migrating to Meteor 1.5](1.5-migration.html) (from 1.4)
* [Migrating to Meteor 1.4](1.4-migration.html) (from 1.3)
* [Migrating to Meteor 1.3](1.3-migration.html) (from 1.2)

View File

@@ -70,6 +70,43 @@ We now have async version of methods that you already use. They are:
- [Meteor.userAsync()](https://github.com/meteor/meteor/pull/12274)
- [CssTools.minifyCssAsync()](https://github.com/meteor/meteor/pull/12105)
<h3 id="breaking-async">Breaking async</h3>
`Accounts.createUserVerifyingEmail` is now completely async:
- [Accounts.createUserVerifyingEmail](https://github.com/meteor/meteor/issues/12398)
To upgrade change from
```js
Meteor.methods({
createUserAccount (user) {
/**
* This seems to be the issue.
* Using the other method `createUser` works as expected.
*/
Accounts.createUserVerifyingEmail({
username: user.username,
email: user.email,
password: user.password,
});
}
});
```
to
```js
Meteor.methods({
async createUserAccount (user) {
await Accounts.createUserVerifyingEmail({
username: user.username,
email: user.email,
password: user.password,
});
}
});
```
<h3 id="accounts-base">Accounts-base without service-configuration</h3>
Now `accounts-base` is [no longer tied up](https://github.com/meteor/meteor/pull/12202) with `service-configuration`. So, if you don't use third-party login on your project, you don't need to add the package `service-configuration` anymore.

3
meteor
View File

@@ -1,6 +1,7 @@
#!/usr/bin/env bash
BUNDLE_VERSION=14.21.1.7
BUNDLE_VERSION=14.21.3.0
# OS Check. Put here because here is where we download the precompiled
# bundles that are arch specific.

View File

@@ -14,8 +14,8 @@ var packageJson = {
pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8",
"node-gyp": "8.0.0",
"node-pre-gyp": "0.15.0",
typescript: "4.6.4",
"@meteorjs/babel": "7.17.1-beta.0",
typescript: "4.9.4",
"@meteorjs/babel": "7.18.0-beta.6",
// Keep the versions of these packages consistent with the versions
// found in dev-bundle-server-package.js.
"meteor-promise": "0.9.0",

View File

@@ -1,12 +1,12 @@
{
"name": "@meteorjs/babel",
"version": "7.17.2-beta.0",
"version": "7.18.0-beta.6",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@meteorjs/babel",
"version": "7.17.2-beta.0",
"version": "7.18.0-beta.6",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.17.2",
@@ -26,7 +26,7 @@
"convert-source-map": "^1.6.0",
"lodash": "^4.17.21",
"meteor-babel-helpers": "0.0.3",
"typescript": "~4.6.4"
"typescript": "~4.9.4"
},
"devDependencies": {
"@babel/plugin-proposal-decorators": "7.14.5",
@@ -3617,9 +3617,9 @@
}
},
"node_modules/typescript": {
"version": "4.6.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
"integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==",
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -6590,9 +6590,9 @@
"integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
},
"typescript": {
"version": "4.6.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
"integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg=="
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg=="
},
"unbox-primitive": {
"version": "1.0.1",

View File

@@ -1,7 +1,7 @@
{
"name": "@meteorjs/babel",
"author": "Meteor <dev@meteor.com>",
"version": "7.18.0-beta.4",
"version": "7.18.0-beta.6",
"license": "MIT",
"description": "Babel wrapper package for use with Meteor",
"keywords": [
@@ -47,7 +47,7 @@
"convert-source-map": "^1.6.0",
"lodash": "^4.17.21",
"meteor-babel-helpers": "0.0.3",
"typescript": "~4.6.4"
"typescript": "~4.9.4"
},
"devDependencies": {
"@babel/plugin-proposal-decorators": "7.14.5",

View File

@@ -14,6 +14,10 @@ npm install -g meteor
| NPM Package | Meteor Official Release |
|-------------|-------------------------|
| 2.11.0 | 2.11.0 |
| 2.10.0 | 2.10.0 |
| 2.9.1 | 2.9.1 |
| 2.9.0 | 2.9.0 |
| 2.8.2 | 2.8.1 |
| 2.8.1 | 2.8.1 |
| 2.8.0 | 2.8.0 |

View File

@@ -14,7 +14,7 @@ if (!command) {
}
if (command === 'install') {
require('./install.js');
require('./install');
} else if (command === 'uninstall') {
const { uninstall } = require('./uninstall');
uninstall();

View File

@@ -1,7 +1,7 @@
const path = require('path');
const os = require('os');
const METEOR_LATEST_VERSION = '2.9.0';
const METEOR_LATEST_VERSION = '2.11.0';
const sudoUser = process.env.SUDO_USER || '';
function isRoot() {
return process.getuid && process.getuid() === 0;
@@ -31,9 +31,8 @@ if (isWindows() && !localAppData) {
throw new Error('LOCALAPPDATA env var is not set.');
}
const shouldSetupExecPath = () => {
return !process.env.npm_config_ignore_meteor_setup_exec_path;
}
const shouldSetupExecPath = () =>
!process.env.npm_config_ignore_meteor_setup_exec_path;
const meteorLocalFolder = '.meteor';
const meteorPath = path.resolve(rootPath, meteorLocalFolder);

View File

@@ -4,7 +4,7 @@ const Seven = require('node-7z');
const fs = require('fs');
const { resolve, dirname } = require('path');
const child_process = require('child_process');
const { isMac } = require('./config.js')
const { isMac } = require('./config.js');
function extractWith7Zip(tarPath, destination, onProgress) {
return new Promise((resolve, reject) => {
@@ -29,7 +29,7 @@ function extractWith7Zip(tarPath, destination, onProgress) {
function createSymlinks(symlinks, baseDir) {
symlinks.forEach(({ path, linkPath }) => {
try {
let resolveBase = resolve(baseDir, dirname(path));
const resolveBase = resolve(baseDir, dirname(path));
const result = fs.statSync(resolve(resolveBase, linkPath));
if (result.isDirectory()) {
@@ -45,7 +45,7 @@ function createSymlinks(symlinks, baseDir) {
});
}
function extractWithNativeTar(tarPath, destination, onProgress) {
function extractWithNativeTar(tarPath, destination) {
child_process.execSync(
`tar -xf "${tarPath}" ${
!isMac() ? `--checkpoint-action=ttyout="#%u: %T \r"` : ``
@@ -60,7 +60,7 @@ function extractWithNativeTar(tarPath, destination, onProgress) {
}
function extractWithTar(tarPath, destination, onProgress) {
let symlinks = [];
const symlinks = [];
let total = 0;
// This takes a few seconds, but lets us show the progress

View File

@@ -3,11 +3,14 @@ const cliProgress = require('cli-progress');
const Seven = require('node-7z');
const path = require('path');
const sevenBin = require('7zip-bin');
const fs = require('fs');
const semver = require('semver');
const child_process = require('child_process');
const fsPromises = fs.promises;
const tmp = require('tmp');
const os = require('os');
const fs = require('fs');
const fsPromises = fs.promises;
const {
meteorPath,
release,
@@ -20,26 +23,30 @@ const {
isMac,
METEOR_LATEST_VERSION,
shouldSetupExecPath,
} = require('./config.js');
} = require('./config');
const { uninstall } = require('./uninstall');
const {
extractWithTar,
extractWith7Zip,
extractWithNativeTar,
} = require('./extract.js');
const semver = require('semver');
const isInstalledGlobally = process.env.npm_config_global === 'true';
} = require('./extract');
const { engines } = require('./package.json');
const { engines } = require('./package');
const nodeVersion = engines.node;
const npmVersion = engines.npm;
// Compare installed NodeJs version with required NodeJs version
if (!semver.satisfies(process.version, nodeVersion)) {
console.warn(`WARNING: Recommended versions are Node.js ${nodeVersion} and npm ${npmVersion}.`);
console.warn(`We recommend using a Node version manager like NVM or Volta to install Node.js and npm.\n`);
console.warn(
`WARNING: Recommended versions are Node.js ${nodeVersion} and npm ${npmVersion}.`
);
console.warn(
`We recommend using a Node version manager like NVM or Volta to install Node.js and npm.\n`
);
}
const isInstalledGlobally = process.env.npm_config_global === 'true';
if (!isInstalledGlobally) {
console.error('******************************************');
console.error(
@@ -54,7 +61,10 @@ process.on('unhandledRejection', err => {
throw err;
});
if (os.arch() !== 'x64') {
const isValidM1Version = semver.gte(semver.coerce(METEOR_LATEST_VERSION), '2.5.1-beta.3');
const isValidM1Version = semver.gte(
semver.coerce(METEOR_LATEST_VERSION),
'2.5.1-beta.3'
);
if (os.arch() !== 'arm64' || !isMac() || !isValidM1Version) {
console.error(
'The current architecture is not supported in this version: ',
@@ -170,8 +180,8 @@ function download() {
override: true,
fileName: tarGzName,
httpsRequestOptions: {
agent: generateProxyAgent()
}
agent: generateProxyAgent(),
},
});
dl.on('progress', ({ progress }) => {
@@ -250,7 +260,7 @@ async function extract() {
fileCount: 0,
});
let tarPath = path.resolve(tempPath, tarName);
const tarPath = path.resolve(tempPath, tarName);
// 7Zip is ~15% faster, but doesn't work when the user doesn't have permission to create symlinks
// TODO: we could always use 7zip if we have it ignore the symlinks, and then manually create them as
// is done in extractWithTar
@@ -279,15 +289,14 @@ async function setup() {
}
async function setupExecPath() {
if (isWindows()) {
//set for the current session and beyond
// set for the current session and beyond
child_process.execSync(`setx path "${meteorPath}/;%path%`);
return;
}
const exportCommand = `export PATH=${meteorPath}:$PATH`;
const appendPathToFile = async file => {
return fsPromises.appendFile(`${rootPath}/${file}`, `${exportCommand}\n`);
};
const appendPathToFile = async file =>
fsPromises.appendFile(`${rootPath}/${file}`, `${exportCommand}\n`);
if (process.env.SHELL && process.env.SHELL.includes('zsh')) {
await appendPathToFile('.zshrc');

View File

@@ -1,6 +1,6 @@
{
"name": "meteor",
"version": "2.9.0",
"version": "2.11.0",
"description": "Install Meteor",
"main": "install.js",
"scripts": {

View File

@@ -1,20 +1,20 @@
const { meteorPath } = require('./config.js');
const { meteorPath } = require('./config');
const rimraf = require('rimraf');
function uninstall() {
console.log(`Uninstalling Meteor from ${meteorPath}`);
try {
rimraf.sync(meteorPath)
rimraf.sync(meteorPath);
} catch (err) {
console.log('Encountered error while uninstalling:');
console.error(err);
process.exit(1);
}
console.log('Successfully uninstalled Meteor');
}
module.exports = {
uninstall
}
uninstall,
};

View File

@@ -19,6 +19,21 @@
"eslintConfig": {
"extends": [
"@quave/quave"
]
],
"rules": {
"global-require": "off",
"no-console": "off",
"camelcase": "warn",
"consistent-return": "off",
"quotes": "warn",
"no-shadow": [
"error",
{
"allow": ["resolve"]
}
],
"no-use-before-define": "warn",
"import/no-unresolved": "warn"
}
}
}

View File

@@ -0,0 +1 @@
node_modules

View File

@@ -0,0 +1,7 @@
This directory and the files immediately inside it are automatically generated
when you change this package's NPM dependencies. Commit the files in this
directory (npm-shrinkwrap.json, .gitignore, and this README) to source control
so that others run the same versions of sub-dependencies.
You should NOT check in the node_modules directory that Meteor automatically
creates; if you are using git, the .gitignore file tells git to ignore it.

View File

@@ -0,0 +1,40 @@
{
"lockfileVersion": 1,
"dependencies": {
"@types/node": {
"version": "18.13.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz",
"integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg=="
},
"@types/notp": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@types/notp/-/notp-2.0.2.tgz",
"integrity": "sha512-JUcVYN9Tmw0AjoAfvjslS4hbv39fPBbZdftBK3b50g5z/DmhLsu6cd0UOEBiQuMwy2FirshF2Gk9gAvfWjshMw=="
},
"node-2fa": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/node-2fa/-/node-2fa-2.0.3.tgz",
"integrity": "sha512-PQldrOhjuoZyoydMvMSctllPN1ZPZ1/NwkEcgYwY9faVqE/OymxR+3awPpbWZxm6acLKqvmNqQmdqTsqYyflFw=="
},
"notp": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/notp/-/notp-2.0.3.tgz",
"integrity": "sha512-oBig/2uqkjQ5AkBuw4QJYwkEWa/q+zHxI5/I5z6IeP2NT0alpJFsP/trrfCC+9xOAgQSZXssNi962kp5KBmypQ=="
},
"qrcode-svg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/qrcode-svg/-/qrcode-svg-1.1.0.tgz",
"integrity": "sha512-XyQCIXux1zEIA3NPb0AeR8UMYvXZzWEhgdBgBjH9gO7M48H9uoHzviNz8pXw3UzrAcxRRRn9gxHewAVK7bn9qw=="
},
"thirty-two": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.2.tgz",
"integrity": "sha512-OEI0IWCe+Dw46019YLl6V10Us5bi574EvlJEOcAkB29IzQ/mYD1A6RyNHLjZPiHCmuodxvgF6U+vZO1L15lxVA=="
},
"tslib": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
}
}
}

View File

@@ -1,5 +1,5 @@
Package.describe({
version: '2.0.1',
version: '2.0.2',
summary:
'Package used to enable two factor authentication through OTP protocol',
});

View File

@@ -21,6 +21,10 @@ export namespace Accounts {
fields?: Mongo.FieldSpecifier | undefined;
}): Meteor.User | null;
function userAsync(options?: {
fields?: Mongo.FieldSpecifier | undefined;
}): Promise<Meteor.User | null>;
function userId(): string | null;
function createUser(
@@ -28,11 +32,21 @@ export namespace Accounts {
username?: string | undefined;
email?: string | undefined;
password?: string | undefined;
profile?: Object | undefined;
profile?: Meteor.UserProfile | undefined;
},
callback?: (error?: Error | Meteor.Error | Meteor.TypedError) => void
): string;
function createUserAsync(
options: {
username?: string | undefined;
email?: string | undefined;
password?: string | undefined;
profile?: Meteor.UserProfile | undefined;
},
callback?: (error?: Error | Meteor.Error | Meteor.TypedError) => void
): Promise<string>;
function config(options: {
sendVerificationEmail?: boolean | undefined;
forbidClientAccountCreation?: boolean | undefined;
@@ -103,12 +117,16 @@ export namespace Accounts {
callback?: (error?: Error | Meteor.Error | Meteor.TypedError) => void
): void;
type PasswordSignupField = 'USERNAME_AND_EMAIL' | 'USERNAME_AND_OPTIONAL_EMAIL' | 'USERNAME_ONLY' | 'EMAIL_ONLY';
type PasswordlessSignupField = 'USERNAME_AND_EMAIL' | 'EMAIL_ONLY';
var ui: {
config(options: {
requestPermissions?: Object | undefined;
requestOfflineToken?: Object | undefined;
forceApprovalPrompt?: Object | undefined;
passwordSignupFields?: string | undefined;
requestPermissions?: Record<string, string[]> | undefined;
requestOfflineToken?: Record<'google', boolean> | undefined;
forceApprovalPrompt?: Record<'google', boolean> | undefined;
passwordSignupFields?: PasswordSignupField | PasswordSignupField[] | undefined;
passwordlessSignupFields?: PasswordlessSignupField | PasswordlessSignupField[] | undefined;
}): void;
};
}
@@ -173,9 +191,15 @@ export namespace Accounts {
function setPassword(
userId: string,
newPassword: string,
options?: { logout?: Object | undefined }
options?: { logout?: boolean | undefined }
): void;
function setPasswordAsync(
userId: string,
newPassword: string,
options?: { logout?: boolean | undefined }
): Promise<void>;
function validateNewUser(func: Function): boolean;
function validateLoginAttempt(
@@ -264,6 +288,13 @@ export namespace Accounts {
* */
function callLoginMethod(options: LoginMethodOptions): void;
type LoginMethodResult = { error: Error } | {
userId: string;
error?: Error;
stampedLoginToken?: StampedLoginToken;
options?: Record<string, any>;
};
/**
*
* The main entry point for auth packages to hook in to login.
@@ -279,9 +310,12 @@ export namespace Accounts {
* - `undefined`, meaning don't handle;
* - a login method result object
**/
function registerLoginHandler(
handler: (options: any) => undefined | LoginMethodResult
): void;
function registerLoginHandler(
name: string,
handler: (options: any) => undefined | Object
handler: (options: any) => undefined | LoginMethodResult
): void;
type Password =

View File

@@ -761,11 +761,12 @@ export class AccountsServer extends AccountsCommon {
const { users, _autopublishFields, _defaultPublishFields } = this;
// Publish all login service configuration fields other than secret.
this._server.publish("meteor.loginServiceConfiguration", () => {
this._server.publish("meteor.loginServiceConfiguration", function() {
if (Package['service-configuration']) {
const { ServiceConfiguration } = Package['service-configuration'];
return ServiceConfiguration.configurations.find({}, {fields: {secret: 0}});
}
this.ready();
}, {is_auto: true}); // not technically autopublish, but stops the warning.
// Use Meteor.startup to give other packages a chance to call

View File

@@ -1,6 +1,6 @@
Package.describe({
summary: 'A user account system',
version: '2.2.6',
version: '2.2.7',
});
Package.onUse(api => {

View File

@@ -0,0 +1 @@
node_modules

View File

@@ -0,0 +1,7 @@
This directory and the files immediately inside it are automatically generated
when you change this package's NPM dependencies. Commit the files in this
directory (npm-shrinkwrap.json, .gitignore, and this README) to source control
so that others run the same versions of sub-dependencies.
You should NOT check in the node_modules directory that Meteor automatically
creates; if you are using git, the .gitignore file tells git to ignore it.

View File

@@ -0,0 +1,311 @@
{
"lockfileVersion": 1,
"dependencies": {
"@mapbox/node-pre-gyp": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz",
"integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA=="
},
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"agent-base": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="
},
"ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
"aproba": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
"integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
},
"are-we-there-yet": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
"integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw=="
},
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"bcrypt": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz",
"integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw=="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
},
"chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
},
"color-support": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
},
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
},
"delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
},
"detect-libc": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w=="
},
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"fs-minipass": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"dependencies": {
"minipass": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="
}
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
},
"gauge": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
"integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q=="
},
"glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="
},
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
"integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
},
"https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
},
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="
},
"make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
"integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dependencies": {
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
"minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="
},
"minipass": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.3.tgz",
"integrity": "sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw=="
},
"minizlib": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
"integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
"dependencies": {
"minipass": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="
}
}
},
"mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node-addon-api": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
},
"node-fetch": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
"integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg=="
},
"nopt": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
"integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ=="
},
"npmlog": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
"integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw=="
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
},
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
},
"rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A=="
},
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
},
"signal-exit": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
},
"string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="
},
"strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="
},
"tar": {
"version": "6.1.13",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz",
"integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw=="
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="
},
"wide-align": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
"integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg=="
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
}

View File

@@ -5,7 +5,7 @@ Package.describe({
// 2.2.x in the future. The version was also bumped to 2.0.0 temporarily
// during the Meteor 1.5.1 release process, so versions 2.0.0-beta.2
// through -beta.5 and -rc.0 have already been published.
version: '2.3.2',
version: '2.3.4',
});
Npm.depends({

View File

@@ -142,7 +142,7 @@ Accounts.changePassword = (oldPassword, newPassword, callback) => {
return reportError(new Error("Must be logged in to change password."), callback);
}
if (!newPassword instanceof String) {
if (!(typeof newPassword === "string" || newPassword instanceof String)) {
return reportError(new Meteor.Error(400, "Password must be a string"), callback);
}
@@ -201,7 +201,7 @@ Accounts.forgotPassword = (options, callback) => {
// @param callback (optional) {Function(error|undefined)}
/**
* @summary Reset the password for a user using a token received in email. Logs the user in afterwards.
* @summary Reset the password for a user using a token received in email. Logs the user in afterwards if the user doesn't have 2FA enabled.
* @locus Client
* @param {String} token The token retrieved from the reset password URL.
* @param {String} newPassword A new password for the user. This is __not__ sent in plain text over the wire.
@@ -209,11 +209,11 @@ Accounts.forgotPassword = (options, callback) => {
* @importFromPackage accounts-base
*/
Accounts.resetPassword = (token, newPassword, callback) => {
if (!token instanceof String) {
if (!(typeof token === "string" || token instanceof String)) {
return reportError(new Meteor.Error(400, "Token must be a string"), callback);
}
if (!newPassword instanceof String) {
if (!(typeof newPassword === "string" || newPassword instanceof String)) {
return reportError(new Meteor.Error(400, "Password must be a string"), callback);
}
@@ -234,7 +234,7 @@ Accounts.resetPassword = (token, newPassword, callback) => {
// @param callback (optional) {Function(error|undefined)}
/**
* @summary Marks the user's email address as verified. Logs the user in afterwards.
* @summary Marks the user's email address as verified. Logs the user in afterwards if the user doesn't have 2FA enabled.
* @locus Client
* @param {String} token The token retrieved from the verification URL.
* @param {Function} [callback] Optional callback. Called with no arguments on success, or with a single `Error` argument on failure.

View File

@@ -687,6 +687,17 @@ Meteor.methods({resetPassword: async function (...args) {
// password should invalidate existing sessions).
Accounts._clearAllLoginTokens(user._id);
if (Accounts._check2faEnabled?.(user)) {
return {
userId: user._id,
error: Accounts._handleError(
'Changed password, but user not logged in because 2FA is enabled',
false,
'2fa-enabled'
),
};
}
return {userId: user._id};
}
);
@@ -778,6 +789,17 @@ Meteor.methods({verifyEmail: async function (...args) {
{$set: {'emails.$.verified': true},
$pull: {'services.email.verificationTokens': {address: tokenRecord.address}}});
if (Accounts._check2faEnabled?.(user)) {
return {
userId: user._id,
error: Accounts._handleError(
'Email verified, but user not logged in because 2FA is enabled',
false,
'2fa-enabled'
),
};
}
return {userId: user._id};
}
);

View File

@@ -1,5 +1,9 @@
# CHANGELOG
## v1.2.8, 2022-01-19
* Package has been deprecated since [applicationCache](https://developer.mozilla.org/en-US/docs/Web/API/Window/applicationCache), which this package relies on, has been deprecated and is not available on the latest browsers.
## v1.2.3, 2019-12-13
* Rewrite appcache resources exceed recommended cache size debug message. Fixes [Issue #10321](https://github.com/meteor/meteor/issues/10321). Thanks [@CaptainN](https://github.com/CaptainN)

View File

@@ -1,6 +1,7 @@
Package.describe({
summary: "Enable the application cache in the browser",
version: "1.2.7",
version: '1.2.8',
deprecated: true,
});
Package.onUse(api => {

View File

@@ -12,26 +12,26 @@
"integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q=="
},
"@babel/compat-data": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz",
"integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g=="
"version": "7.20.10",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz",
"integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg=="
},
"@babel/core": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz",
"integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==",
"version": "7.20.12",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
"integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
"dependencies": {
"json5": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="
}
}
},
"@babel/generator": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz",
"integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==",
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz",
"integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==",
"dependencies": {
"@jridgewell/gen-mapping": {
"version": "0.3.2",
@@ -51,14 +51,14 @@
"integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw=="
},
"@babel/helper-compilation-targets": {
"version": "7.20.0",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz",
"integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
"integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ=="
},
"@babel/helper-create-class-features-plugin": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz",
"integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww=="
"version": "7.20.12",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz",
"integrity": "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ=="
},
"@babel/helper-create-regexp-features-plugin": {
"version": "7.20.5",
@@ -91,9 +91,9 @@
"integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q=="
},
"@babel/helper-member-expression-to-functions": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz",
"integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz",
"integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw=="
},
"@babel/helper-module-imports": {
"version": "7.18.6",
@@ -101,9 +101,9 @@
"integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="
},
"@babel/helper-module-transforms": {
"version": "7.20.2",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz",
"integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA=="
"version": "7.20.11",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
"integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg=="
},
"@babel/helper-optimise-call-expression": {
"version": "7.18.6",
@@ -121,9 +121,9 @@
"integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA=="
},
"@babel/helper-replace-supers": {
"version": "7.19.1",
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz",
"integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz",
"integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A=="
},
"@babel/helper-simple-access": {
"version": "7.20.2",
@@ -161,9 +161,9 @@
"integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q=="
},
"@babel/helpers": {
"version": "7.20.6",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz",
"integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w=="
"version": "7.20.13",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz",
"integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg=="
},
"@babel/highlight": {
"version": "7.18.6",
@@ -171,14 +171,14 @@
"integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g=="
},
"@babel/parser": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz",
"integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA=="
"version": "7.20.13",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz",
"integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw=="
},
"@babel/plugin-proposal-async-generator-functions": {
"version": "7.20.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz",
"integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz",
"integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA=="
},
"@babel/plugin-proposal-class-properties": {
"version": "7.18.6",
@@ -186,9 +186,9 @@
"integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ=="
},
"@babel/plugin-proposal-logical-assignment-operators": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz",
"integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz",
"integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug=="
},
"@babel/plugin-proposal-nullish-coalescing-operator": {
"version": "7.18.6",
@@ -196,9 +196,9 @@
"integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA=="
},
"@babel/plugin-proposal-object-rest-spread": {
"version": "7.20.2",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz",
"integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz",
"integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg=="
},
"@babel/plugin-proposal-optional-catch-binding": {
"version": "7.18.6",
@@ -206,9 +206,9 @@
"integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw=="
},
"@babel/plugin-proposal-optional-chaining": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz",
"integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz",
"integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ=="
},
"@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
@@ -256,14 +256,14 @@
"integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg=="
},
"@babel/plugin-transform-arrow-functions": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz",
"integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz",
"integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ=="
},
"@babel/plugin-transform-async-to-generator": {
"version": "7.18.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz",
"integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz",
"integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q=="
},
"@babel/plugin-transform-block-scoped-functions": {
"version": "7.18.6",
@@ -271,24 +271,24 @@
"integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ=="
},
"@babel/plugin-transform-block-scoping": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz",
"integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA=="
"version": "7.20.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz",
"integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw=="
},
"@babel/plugin-transform-classes": {
"version": "7.20.2",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz",
"integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz",
"integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ=="
},
"@babel/plugin-transform-computed-properties": {
"version": "7.18.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz",
"integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz",
"integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ=="
},
"@babel/plugin-transform-destructuring": {
"version": "7.20.2",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz",
"integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz",
"integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA=="
},
"@babel/plugin-transform-exponentiation-operator": {
"version": "7.18.6",
@@ -306,9 +306,9 @@
"integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg=="
},
"@babel/plugin-transform-modules-commonjs": {
"version": "7.19.6",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz",
"integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ=="
"version": "7.20.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz",
"integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw=="
},
"@babel/plugin-transform-object-super": {
"version": "7.18.6",
@@ -316,9 +316,9 @@
"integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA=="
},
"@babel/plugin-transform-parameters": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz",
"integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz",
"integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA=="
},
"@babel/plugin-transform-property-literals": {
"version": "7.18.6",
@@ -331,9 +331,9 @@
"integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA=="
},
"@babel/plugin-transform-react-jsx": {
"version": "7.19.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz",
"integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg=="
"version": "7.20.13",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.13.tgz",
"integrity": "sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw=="
},
"@babel/plugin-transform-react-jsx-development": {
"version": "7.18.6",
@@ -361,9 +361,9 @@
"integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw=="
},
"@babel/plugin-transform-spread": {
"version": "7.19.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz",
"integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz",
"integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw=="
},
"@babel/plugin-transform-sticky-regex": {
"version": "7.18.6",
@@ -396,19 +396,19 @@
"integrity": "sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw=="
},
"@babel/template": {
"version": "7.18.10",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
"integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
"integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw=="
},
"@babel/traverse": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz",
"integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ=="
"version": "7.20.13",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz",
"integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ=="
},
"@babel/types": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz",
"integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg=="
"version": "7.20.7",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
"integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg=="
},
"@jridgewell/gen-mapping": {
"version": "0.1.1",
@@ -436,9 +436,9 @@
"integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g=="
},
"@meteorjs/babel": {
"version": "7.17.2-beta.0",
"resolved": "https://registry.npmjs.org/@meteorjs/babel/-/babel-7.17.2-beta.0.tgz",
"integrity": "sha512-gFXgGNIUu2mVvLRTtEPRE8OdpbdwDY2+vAOSn4/O//w42n7xKBDuYkiyNQtXCWIVuEjO4UBFkX2CHD88eTKhxA=="
"version": "7.18.0-beta.6",
"resolved": "https://registry.npmjs.org/@meteorjs/babel/-/babel-7.18.0-beta.6.tgz",
"integrity": "sha512-M3BL5ivQQBE4iQ9my7WqXZdkhR61x2H/Z0xshYuv8kppFzuS9/saksET1T7JrTGJnnfONpoxqYkiBGIHSw8+cQ=="
},
"@meteorjs/reify": {
"version": "0.23.0",
@@ -648,9 +648,9 @@
"integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw=="
},
"caniuse-lite": {
"version": "1.0.30001436",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz",
"integrity": "sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg=="
"version": "1.0.30001449",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz",
"integrity": "sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw=="
},
"chalk": {
"version": "2.4.2",
@@ -673,9 +673,9 @@
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
},
"core-js-compat": {
"version": "3.26.1",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz",
"integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A=="
"version": "3.27.2",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz",
"integrity": "sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg=="
},
"debug": {
"version": "4.3.4",
@@ -767,6 +767,11 @@
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
},
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="
},
"magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
@@ -788,9 +793,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node-releases": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
"integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A=="
},
"path-parse": {
"version": "1.0.7",
@@ -880,9 +885,9 @@
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
},
"typescript": {
"version": "4.6.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz",
"integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg=="
"version": "4.9.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
"integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg=="
},
"unicode-canonical-property-names-ecmascript": {
"version": "2.0.0",
@@ -908,6 +913,11 @@
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
"integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ=="
},
"yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
}
}
}

View File

@@ -1,11 +1,11 @@
Package.describe({
name: "babel-compiler",
summary: "Parser/transpiler for ECMAScript 2015+ syntax",
version: '7.10.1'
version: '7.10.3',
});
Npm.depends({
'@meteorjs/babel': '7.17.2-beta.0',
'@meteorjs/babel': '7.18.0-beta.6',
'json5': '2.1.1'
});

View File

@@ -2,19 +2,9 @@
"lockfileVersion": 1,
"dependencies": {
"parse5": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz",
"integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA="
},
"promise-polyfill": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz",
"integrity": "sha1-zQTv9G9clcOn0EVZHXm14+AfEtc="
},
"stream-to-string": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.1.0.tgz",
"integrity": "sha1-OSELATF+ars16FRTjgEwN7ajWUA="
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
}
}
}

View File

@@ -2,13 +2,12 @@ Package.describe({
// These tests are in a separate package so that we can Npm.depend on
// parse5, a html parsing library.
summary: "Tests for the boilerplate-generator package",
version: '1.5.0',
version: '1.5.1',
documentation: null
});
Npm.depends({
parse5: '3.0.2',
'stream-to-string': '1.1.0'
parse5: '6.0.1'
});
Package.onTest(function (api) {

View File

@@ -1,4 +1,11 @@
import streamToString from "stream-to-string";
function streamToString (stream) {
const chunks = [];
return new Promise((resolve, reject) => {
stream.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
stream.on('error', (err) => reject(err));
stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));
})
}
export async function generateHTMLForArch(arch, includeHead) {
// Use a dummy manifest. None of these paths will be read from the filesystem, but css / js should be handled differently

View File

@@ -84,6 +84,11 @@ export class Hook {
};
}
clear() {
this.nextCallbackId = 0;
this.callbacks = [];
}
/**
* For each registered callback, call the passed iterator function with the callback.
*
@@ -114,6 +119,28 @@ export class Hook {
}
}
/**
* For each registered callback, call the passed iterator function with the callback.
*
* it is a counterpart of forEach, but it is async and returns a promise
* @param iterator
* @return {Promise<void>}
* @see forEach
*/
async forEachAsync(iterator) {
const ids = Object.keys(this.callbacks);
for (let i = 0; i < ids.length; ++i) {
const id = ids[i];
// check to see if the callback was removed during iteration
if (hasOwn.call(this.callbacks, id)) {
const callback = this.callbacks[id];
if (!await iterator(callback)) {
break;
}
}
}
}
/**
* @deprecated use forEach
* @param iterator

View File

@@ -1,6 +1,6 @@
Package.describe({
summary: "Register callbacks on a hook",
version: '1.4.0'
version: '1.5.0'
});
Package.onUse(function (api) {

View File

@@ -1,6 +1,6 @@
Package.describe({
name: 'ecmascript',
version: '0.16.4',
version: '0.16.6',
summary: 'Compiler plugin that supports ES2015+ in all .js files',
documentation: 'README.md',
});

View File

@@ -1,6 +1,16 @@
{
"lockfileVersion": 1,
"dependencies": {
"@types/node": {
"version": "18.13.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz",
"integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg=="
},
"@types/nodemailer": {
"version": "6.4.7",
"resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.7.tgz",
"integrity": "sha512-f5qCBGAn/f0qtRcd4SEn88c8Fp3Swct1731X4ryPKqS61/A3LmmzN8zaEz7hneJvpjFbUUgY7lru/B/7ODTazg=="
},
"nodemailer": {
"version": "6.6.3",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.3.tgz",

View File

@@ -1,23 +1,22 @@
import { SendMailOptions } from 'nodemailer';
export namespace Email {
interface EmailOptions {
from?: string | undefined;
to?: string | string[] | undefined;
cc?: string | string[] | undefined;
bcc?: string | string[] | undefined;
replyTo?: string | string[] | undefined;
subject?: string | undefined;
text?: string | undefined;
html?: string | undefined;
headers?: Object | undefined;
attachments?: Object[] | undefined;
mailComposer?: MailComposer | undefined;
}
/**
* ExtraMailOptions is intentionally left empty here, but can be overridden in
* your application if desired. This should not be necessary if you're using
* the default mail transport, but if you're using a custom transport or have
* configured hooks which accept additional options, you may need to define
* this interface to match your custom options.
*/
interface ExtraMailOptions {}
type EmailOptions = { mailComposer: MailComposer } | (ExtraMailOptions & SendMailOptions)
interface CustomEmailOptions extends EmailOptions {
packageSettings?: unknown;
}
function send(options: EmailOptions): void;
function sendAsync(options: EmailOptions): Promise<void>;
function hookSend(fn: (options: EmailOptions) => boolean): void;
function customTransport(fn: (options: CustomEmailOptions) => void): void;
}

View File

@@ -1,11 +1,12 @@
Package.describe({
summary: 'Send email messages',
version: '2.2.3',
version: '2.2.4',
});
Npm.depends({
nodemailer: '6.6.3',
'stream-buffers': '3.0.2',
'@types/nodemailer': '6.4.7',
});
Package.onUse(function(api) {

View File

@@ -1,4 +1,4 @@
export declare function fetch(): typeof globalThis.fetch;
export declare var fetch: typeof globalThis.fetch;
export declare var Headers: typeof globalThis.Headers;
export declare var Request: typeof globalThis.Request;
export declare var Response: typeof globalThis.Response;

View File

@@ -1,6 +1,6 @@
Package.describe({
name: "fetch",
version: '0.1.2',
version: '0.1.3',
summary: "Isomorphic modern/legacy/Node polyfill for WHATWG fetch()",
documentation: "README.md"
});

View File

@@ -0,0 +1 @@
node_modules

View File

@@ -0,0 +1,7 @@
This directory and the files immediately inside it are automatically generated
when you change this package's NPM dependencies. Commit the files in this
directory (npm-shrinkwrap.json, .gitignore, and this README) to source control
so that others run the same versions of sub-dependencies.
You should NOT check in the node_modules directory that Meteor automatically
creates; if you are using git, the .gitignore file tells git to ignore it.

View File

@@ -0,0 +1,35 @@
{
"lockfileVersion": 1,
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
},
"chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg=="
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
}
}
}

View File

@@ -1,6 +1,6 @@
Package.describe({
summary: 'Logging facility.',
version: '1.3.1'
version: '1.3.2',
});
Npm.depends({

View File

@@ -1,6 +1,6 @@
Package.describe({
summary: 'The Meteor command-line tool',
version: '2.9.0',
version: '2.11.0',
});
Package.includeTool();

View File

@@ -1,10 +1,10 @@
{
"lockfileVersion": 1,
"dependencies": {
"double-ended-queue": {
"version": "2.1.0-0",
"resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
"integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw="
"denque": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
"integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="
}
}
}

View File

@@ -13,7 +13,7 @@ Meteor._noYieldsAllowed = function (f) {
}
};
Meteor._DoubleEndedQueue = Npm.require('double-ended-queue');
Meteor._DoubleEndedQueue = Npm.require('denque');
// Meteor._SynchronousQueue is a queue which runs task functions serially.
// Tasks are assumed to be synchronous: ie, it's assumed that they are

View File

@@ -1,6 +1,5 @@
import { Mongo } from 'meteor/mongo';
import { EJSONable, EJSONableProperty } from 'meteor/ejson';
import { Blaze } from 'meteor/blaze';
import { DDP } from 'meteor/ddp';
export type global_Error = Error;
@@ -263,7 +262,7 @@ export namespace Meteor {
* @param func A function that takes a callback as its final parameter
* @param context Optional `this` object against which the original function will be invoked
*/
function wrapAsync(func: Function, context?: Object): any;
function wrapAsync<T extends Function>(func: T, context?: ThisParameterType<T>): Function;
function bindEnvironment<TFunc extends Function>(func: TFunc): TFunc;
@@ -295,7 +294,6 @@ export namespace Meteor {
requestPermissions?: ReadonlyArray<string> | undefined;
requestOfflineToken?: Boolean | undefined;
forceApprovalPrompt?: Boolean | undefined;
loginUrlParameters?: Object | undefined;
redirectUrl?: string | undefined;
loginHint?: string | undefined;
loginStyle?: string | undefined;
@@ -317,7 +315,15 @@ export namespace Meteor {
): void;
function loginWithGoogle(
options?: Meteor.LoginWithExternalServiceOptions,
options?: Meteor.LoginWithExternalServiceOptions & {
/** Google login accepts additional login parameters based on
* https://developers.google.com/identity/openid-connect/openid-connect#authenticationuriparameters.
* However, there's only one parameter that must be set directly; all
* others can be set using Meteor's standard OAuth login parameters */
loginUrlParameters?: {
include_granted_scopes: boolean;
},
},
callback?: (error?: global_Error | Meteor.Error | Meteor.TypedError) => void
): void;
@@ -336,20 +342,8 @@ export namespace Meteor {
callback?: (error?: global_Error | Meteor.Error | Meteor.TypedError) => void
): void;
function loginWith<ExternalService>(
options?: {
requestPermissions?: ReadonlyArray<string> | undefined;
requestOfflineToken?: boolean | undefined;
loginUrlParameters?: Object | undefined;
userEmail?: string | undefined;
loginStyle?: string | undefined;
redirectUrl?: string | undefined;
},
callback?: (error?: global_Error | Meteor.Error | Meteor.TypedError) => void
): void;
function loginWithPassword(
user: Object | string,
user: { username: string } | { email: string } | { id: string } | string,
password: string,
callback?: (error?: global_Error | Meteor.Error | Meteor.TypedError) => void
): void;
@@ -372,26 +366,6 @@ export namespace Meteor {
): void;
/** Login **/
/** Event **/
interface Event {
type: string;
target: HTMLElement;
currentTarget: HTMLElement;
which: number;
stopPropagation(): void;
stopImmediatePropagation(): void;
preventDefault(): void;
isPropagationStopped(): boolean;
isImmediatePropagationStopped(): boolean;
isDefaultPrevented(): boolean;
}
interface EventHandlerFunction extends Function {
(event?: Meteor.Event, templateInstance?: Blaze.TemplateInstance): void;
}
interface EventMap {
[id: string]: Meteor.EventHandlerFunction;
}
/** Event **/
/** Connection **/
function reconnect(): void;
@@ -427,7 +401,7 @@ export namespace Meteor {
close: () => void;
onClose: (callback: () => void) => void;
clientAddress: string;
httpHeaders: Object;
httpHeaders: Record<string, string>;
}
function onConnection(callback: (connection: Connection) => void): void;
@@ -462,7 +436,7 @@ export interface Subscription {
* @param id The new document's ID.
* @param fields The fields in the new document. If `_id` is present it is ignored.
*/
added(collection: string, id: string, fields: Object): void;
added(collection: string, id: string, fields: Record<string, unknown>): void;
/**
* Call inside the publish function. Informs the subscriber that a document in the record set has been modified.
* @param collection The name of the collection that contains the changed document.
@@ -470,7 +444,7 @@ export interface Subscription {
* @param fields The fields in the document that have changed, together with their new values. If a field is not present in `fields` it was left unchanged; if it is present in `fields` and
* has a value of `undefined` it was removed from the document. If `_id` is present it is ignored.
*/
changed(collection: string, id: string, fields: Object): void;
changed(collection: string, id: string, fields: Record<string, unknown>): void;
/** Access inside the publish function. The incoming connection for this subscription. */
connection: Meteor.Connection;
/**

View File

@@ -2,7 +2,7 @@
Package.describe({
summary: "Core Meteor environment",
version: '1.10.3'
version: '1.11.1',
});
Package.registerBuildPlugin({
@@ -11,7 +11,7 @@ Package.registerBuildPlugin({
});
Npm.depends({
"double-ended-queue": "2.1.0-0"
"denque": "2.1.0"
});
Package.onUse(function (api) {
@@ -55,6 +55,8 @@ Package.onUse(function (api) {
// People expect process.exit() to not swallow console output.
// On Windows, it sometimes does, so we fix it for all apps and packages
api.addFiles('flush-buffers-on-exit-in-windows.js', 'server');
api.addAssets('meteor.d.ts', 'server');
});
Package.onTest(function (api) {

View File

@@ -972,21 +972,19 @@ export function makeLookupFunction(key, options = {}) {
makeLookupFunction(parts.slice(1).join('.'), options)
);
const omitUnnecessaryFields = result => {
if (!result.dontIterate) {
delete result.dontIterate;
}
if (result.arrayIndices && !result.arrayIndices.length) {
delete result.arrayIndices;
}
return result;
};
function buildResult(arrayIndices, dontIterate, value) {
return arrayIndices && arrayIndices.length
? dontIterate
? [{ arrayIndices, dontIterate, value }]
: [{ arrayIndices, value }]
: dontIterate
? [{ dontIterate, value }]
: [{ value }];
}
// Doc will always be a plain object or an array.
// apply an explicit numeric index, an array.
return (doc, arrayIndices = []) => {
return (doc, arrayIndices) => {
if (Array.isArray(doc)) {
// If we're being asked to do an invalid lookup into an array (non-integer
// or out-of-bounds), return no results (which is different from returning
@@ -998,7 +996,7 @@ export function makeLookupFunction(key, options = {}) {
// Remember that we used this array index. Include an 'x' to indicate that
// the previous index came from being considered as an explicit array
// index (not branching).
arrayIndices = arrayIndices.concat(+firstPart, 'x');
arrayIndices = arrayIndices ? arrayIndices.concat(+firstPart, 'x') : [+firstPart, 'x'];
}
// Do our first lookup.
@@ -1017,11 +1015,11 @@ export function makeLookupFunction(key, options = {}) {
// selectors to iterate over it. eg, {'a.0': 5} does not match {a: [[5]]}.
// So in that case, we mark the return value as 'don't iterate'.
if (!lookupRest) {
return [omitUnnecessaryFields({
return buildResult(
arrayIndices,
dontIterate: Array.isArray(doc) && Array.isArray(firstLevel),
value: firstLevel
})];
Array.isArray(doc) && Array.isArray(firstLevel),
firstLevel,
);
}
// We need to dig deeper. But if we can't, because what we've found is not
@@ -1035,7 +1033,7 @@ export function makeLookupFunction(key, options = {}) {
return [];
}
return [omitUnnecessaryFields({arrayIndices, value: undefined})];
return buildResult(arrayIndices, false, undefined);
}
const result = [];
@@ -1067,7 +1065,7 @@ export function makeLookupFunction(key, options = {}) {
!(isNumericKey(parts[1]) && options.forSort)) {
firstLevel.forEach((branch, arrayIndex) => {
if (LocalCollection._isPlainObject(branch)) {
appendToResult(lookupRest(branch, arrayIndices.concat(arrayIndex)));
appendToResult(lookupRest(branch, arrayIndices ? arrayIndices.concat(arrayIndex) : [arrayIndex]));
}
});
}

View File

@@ -520,6 +520,10 @@ export default class Cursor {
ASYNC_CURSOR_METHODS.forEach(method => {
const asyncName = getAsyncMethodName(method);
Cursor.prototype[asyncName] = function(...args) {
return Promise.resolve(this[method].apply(this, args));
try {
return Promise.resolve(this[method].apply(this, args));
} catch (error) {
return Promise.reject(error);
}
};
});

View File

@@ -1,6 +1,6 @@
Package.describe({
summary: "Meteor's client-side datastore: a port of MongoDB to Javascript",
version: '1.9.1'
version: '1.9.2',
});
Package.onUse(api => {

View File

@@ -919,6 +919,10 @@ function popCallbackFromArgs(args) {
ASYNC_COLLECTION_METHODS.forEach(methodName => {
const methodNameAsync = getAsyncMethodName(methodName);
Mongo.Collection.prototype[methodNameAsync] = function(...args) {
return Promise.resolve(this[methodName](...args));
try {
return Promise.resolve(this[methodName](...args));
} catch (error) {
return Promise.reject(error);
}
};
});

View File

@@ -1,13 +1,6 @@
import * as MongoNpmModule from 'mongodb';
import {
Collection as MongoCollection,
CreateIndexesOptions,
Db as MongoDb,
Hint,
IndexSpecification,
MongoClient,
} from 'mongodb';
import { NpmModuleMongodb } from 'meteor/npm-mongo';
import { Meteor } from 'meteor/meteor';
import { DDP } from 'meteor/ddp';
// Based on https://github.com/microsoft/TypeScript/issues/28791#issuecomment-443520161
export type UnionOmit<T, K extends keyof any> = T extends T
@@ -15,155 +8,22 @@ export type UnionOmit<T, K extends keyof any> = T extends T
: never;
export namespace Mongo {
// prettier-ignore
type BsonType = 1 | "double" |
2 | "string" |
3 | "object" |
4 | "array" |
5 | "binData" |
6 | "undefined" |
7 | "objectId" |
8 | "bool" |
9 | "date" |
10 | "null" |
11 | "regex" |
12 | "dbPointer" |
13 | "javascript" |
14 | "symbol" |
15 | "javascriptWithScope" |
16 | "int" |
17 | "timestamp" |
18 | "long" |
19 | "decimal" |
-1 | "minKey" |
127 | "maxKey" | "number";
type FieldExpression<T> = {
$eq?: T | undefined;
$gt?: T | undefined;
$gte?: T | undefined;
$lt?: T | undefined;
$lte?: T | undefined;
$in?: T[] | undefined;
$nin?: T[] | undefined;
$ne?: T | undefined;
$exists?: boolean | undefined;
$type?: BsonType[] | BsonType | undefined;
$not?: FieldExpression<T> | undefined;
$expr?: FieldExpression<T> | undefined;
$jsonSchema?: any;
$mod?: number[] | undefined;
$regex?: RegExp | string | undefined;
$options?: string | undefined;
$text?:
| {
$search: string;
$language?: string | undefined;
$caseSensitive?: boolean | undefined;
$diacriticSensitive?: boolean | undefined;
}
| undefined;
$where?: string | Function | undefined;
$geoIntersects?: any;
$geoWithin?: any;
$near?: any;
$nearSphere?: any;
$all?: T[] | undefined;
$elemMatch?: T extends {} ? Query<T> : FieldExpression<T> | undefined;
$size?: number | undefined;
$bitsAllClear?: any;
$bitsAllSet?: any;
$bitsAnyClear?: any;
$bitsAnySet?: any;
$comment?: string | undefined;
};
export type Selector<T> = NpmModuleMongodb.Filter<T>;
type Flatten<T> = T extends any[] ? T[0] : T;
type Modifier<T> = NpmModuleMongodb.UpdateFilter<T>;
type Query<T> = {
[P in keyof T]?: Flatten<T[P]> | RegExp | FieldExpression<Flatten<T[P]>>;
} & {
$or?: Query<T>[] | undefined;
$and?: Query<T>[] | undefined;
$nor?: Query<T>[] | undefined;
} & Dictionary<any>;
export type OptionalId<TSchema> = UnionOmit<TSchema, '_id'> & { _id?: any };
type QueryWithModifiers<T> = {
$query: Query<T>;
$comment?: string | undefined;
$explain?: any;
$hint?: Hint;
$maxScan?: any;
$max?: any;
$maxTimeMS?: any;
$min?: any;
$orderby?: any;
$returnKey?: any;
$showDiskLoc?: any;
$natural?: any;
};
type SortSpecifier = NpmModuleMongodb.Sort;
type Selector<T> = Query<T> | QueryWithModifiers<T>;
type Dictionary<T> = { [key: string]: T };
type PartialMapTo<T, M> = Partial<Record<keyof T, M>>;
type OnlyArrays<T> = T extends any[] ? T : never;
type OnlyElementsOfArrays<T> = T extends any[] ? Partial<T[0]> : never;
type ElementsOf<T> = {
[P in keyof T]?: OnlyElementsOfArrays<T[P]>;
};
type PushModifier<T> = {
[P in keyof T]?:
| OnlyElementsOfArrays<T[P]>
| {
$each?: T[P] | undefined;
$position?: number | undefined;
$slice?: number | undefined;
$sort?: 1 | -1 | Dictionary<number> | undefined;
};
};
type ArraysOrEach<T> = {
[P in keyof T]?: OnlyElementsOfArrays<T[P]> | { $each: T[P] };
};
type CurrentDateModifier = { $type: 'timestamp' | 'date' } | true;
type Modifier<T> =
| T
| {
$currentDate?:
| (Partial<Record<keyof T, CurrentDateModifier>> &
Dictionary<CurrentDateModifier>)
| undefined;
$inc?: (PartialMapTo<T, number> & Dictionary<number>) | undefined;
$min?:
| (PartialMapTo<T, Date | number> & Dictionary<Date | number>)
| undefined;
$max?:
| (PartialMapTo<T, Date | number> & Dictionary<Date | number>)
| undefined;
$mul?: (PartialMapTo<T, number> & Dictionary<number>) | undefined;
$rename?: (PartialMapTo<T, string> & Dictionary<string>) | undefined;
$set?: (Partial<T> & Dictionary<any>) | undefined;
$setOnInsert?: (Partial<T> & Dictionary<any>) | undefined;
$unset?:
| (PartialMapTo<T, string | boolean | 1 | 0> & Dictionary<any>)
| undefined;
$addToSet?: (ArraysOrEach<T> & Dictionary<any>) | undefined;
$push?: (PushModifier<T> & Dictionary<any>) | undefined;
$pull?: (ElementsOf<T> & Dictionary<any>) | undefined;
$pullAll?: (Partial<T> & Dictionary<any>) | undefined;
$pop?: (PartialMapTo<T, 1 | -1> & Dictionary<1 | -1>) | undefined;
};
type OptionalId<TSchema> = UnionOmit<TSchema, '_id'> & { _id?: any };
interface SortSpecifier {}
interface FieldSpecifier {
export interface FieldSpecifier {
[id: string]: Number;
}
type Transform<T> = ((doc: T) => any) | null | undefined;
export type Transform<T> = ((doc: T) => any) | null | undefined;
type Options<T> = {
export type Options<T> = {
/** Sort order (default: natural order) */
sort?: SortSpecifier | undefined;
/** Number of results to skip at the beginning */
@@ -173,7 +33,7 @@ export namespace Mongo {
/** Dictionary of fields to return or exclude. */
fields?: FieldSpecifier | undefined;
/** (Server only) Overrides MongoDB's default index selection and query optimization process. Specify an index to force its use, either by its name or index specification. */
hint?: Hint | undefined;
hint?: NpmModuleMongodb.Hint | undefined;
/** (Client only) Default `true`; pass `false` to disable reactivity */
reactive?: boolean | undefined;
/** Overrides `transform` on the [`Collection`](#collections) for this cursor. Pass `null` to disable transformation. */
@@ -194,14 +54,14 @@ export namespace Mongo {
* Constructor for a Collection
* @param name The name of the collection. If null, creates an unmanaged (unsynchronized) local collection.
*/
new <T extends MongoNpmModule.Document, U = T>(
new <T extends NpmModuleMongodb.Document, U = T>(
name: string | null,
options?: {
/**
* The server connection that will manage this collection. Uses the default connection if not specified. Pass the return value of calling `DDP.connect` to specify a different
* server. Pass `null` to specify no connection. Unmanaged (`name` is null) collections cannot specify a connection.
*/
connection?: Object | null | undefined;
connection?: DDP.DDPStatic | null | undefined;
/** The method of generating the `_id` fields of new documents in this collection. Possible values:
* - **`'STRING'`**: random strings
* - **`'MONGO'`**: random [`Mongo.ObjectID`](#mongo_object_id) values
@@ -219,7 +79,7 @@ export namespace Mongo {
}
): Collection<T, U>;
}
interface Collection<T extends MongoNpmModule.Document, U = T> {
interface Collection<T extends NpmModuleMongodb.Document, U = T> {
allow<Fn extends Transform<T> = undefined>(options: {
insert?:
| ((userId: string, doc: DispatchTransform<Fn, T, U>) => boolean)
@@ -243,12 +103,10 @@ export namespace Mongo {
maxDocuments?: number
): Promise<void>;
createIndex(
indexSpec: IndexSpecification,
options?: CreateIndexesOptions
options?: NpmModuleMongodb.CreateIndexesOptions
): void;
createIndexAsync(
indexSpec: IndexSpecification,
options?: CreateIndexesOptions
options?: NpmModuleMongodb.CreateIndexesOptions
): Promise<void>;
deny<Fn extends Transform<T> = undefined>(options: {
insert?:
@@ -269,7 +127,7 @@ export namespace Mongo {
transform?: Fn | undefined;
}): boolean;
dropCollectionAsync(): Promise<void>;
dropIndexAsync(indexName: string): void;
dropIndexAsync(indexName: string): Promise<void>;
/**
* Find the documents in a collection that match the selector.
* @param selector A query describing the documents to find
@@ -327,12 +185,12 @@ export namespace Mongo {
* Returns the [`Collection`](http://mongodb.github.io/node-mongodb-native/3.0/api/Collection.html) object corresponding to this collection from the
* [npm `mongodb` driver module](https://www.npmjs.com/package/mongodb) which is wrapped by `Mongo.Collection`.
*/
rawCollection(): MongoCollection<T>;
rawCollection(): NpmModuleMongodb.Collection<T>;
/**
* Returns the [`Db`](http://mongodb.github.io/node-mongodb-native/3.0/api/Db.html) object corresponding to this collection's database connection from the
* [npm `mongodb` driver module](https://www.npmjs.com/package/mongodb) which is wrapped by `Mongo.Collection`.
*/
rawDatabase(): MongoDb;
rawDatabase(): NpmModuleMongodb.Db;
/**
* Remove documents from the collection
* @param selector Specifies which documents to remove
@@ -436,8 +294,7 @@ export namespace Mongo {
_createCappedCollection(byteSize?: number, maxDocuments?: number): void;
/** @deprecated */
_ensureIndex(
indexSpec: IndexSpecification,
options?: CreateIndexesOptions
options?: NpmModuleMongodb.CreateIndexesOptions
): void;
_dropCollection(): Promise<void>;
_dropIndex(indexName: string): void;
@@ -541,8 +398,8 @@ export namespace Mongo {
callbacks: ObserveChangesCallbacks<T>,
options?: { nonMutatingCallbacks?: boolean | undefined }
): Meteor.LiveQueryHandle;
[Symbol.iterator](): Iterator<T, never, never>;
[Symbol.asyncIterator](): AsyncIterator<T, never, never>;
[Symbol.iterator](): Iterator<T>;
[Symbol.asyncIterator](): AsyncIterator<T>;
}
var ObjectID: ObjectIDStatic;
@@ -581,8 +438,8 @@ export namespace Mongo {
export declare module MongoInternals {
interface MongoConnection {
db: MongoDb;
client: MongoClient;
db: NpmModuleMongodb.Db;
client: NpmModuleMongodb.MongoClient;
}
function defaultRemoteCollectionDriver(): {
@@ -592,7 +449,7 @@ export declare module MongoInternals {
var NpmModules: {
mongodb: {
version: string;
module: typeof MongoNpmModule;
module: typeof NpmModuleMongodb;
};
};
}

View File

@@ -945,7 +945,11 @@ Cursor.prototype.count = function () {
const methodNameAsync = getAsyncMethodName(methodName);
Cursor.prototype[methodNameAsync] = function (...args) {
return Promise.resolve(this[methodName](...args));
try {
return Promise.resolve(this[methodName](...args));
} catch (error) {
return Promise.reject(error);
}
};
});

View File

@@ -9,7 +9,7 @@
Package.describe({
summary: "Adaptor for using MongoDB and Minimongo over DDP",
version: '1.16.3'
version: '1.16.5',
});
Npm.depends({

View File

@@ -2,16 +2,6 @@ import { BabelCompiler } from 'meteor/babel-compiler';
import CoffeeScript from 'coffeescript';
import { SourceMapConsumer, SourceMapGenerator } from 'source-map';
// The CoffeeScript compiler overrides Error.prepareStackTrace, mostly for the
// use of coffee.run which we don't use. This conflicts with the tool's use of
// Error.prepareStackTrace to properly show error messages in linked code.
// Restore the tool's one after CoffeeScript clobbers it at import time.
if (Error.METEOR_prepareStackTrace) {
Error.prepareStackTrace = Error.METEOR_prepareStackTrace;
}
// The CompileResult for this CachingCompiler is a {source, sourceMap} object.
export class CoffeeScriptCompiler {
constructor() {

View File

@@ -6,7 +6,7 @@ Package.describe({
// so bumping the version of this package will be how they get newer versions
// of `coffeescript-compiler`. If you change this, make sure to also update
// ../coffeescript-compiler/package.js to match.
version: '2.4.1'
version: '2.7.0'
});
Package.registerBuildPlugin({

View File

@@ -2,9 +2,9 @@
"lockfileVersion": 1,
"dependencies": {
"@aws-crypto/ie11-detection": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz",
"integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz",
"integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==",
"dependencies": {
"tslib": {
"version": "1.14.1",
@@ -14,9 +14,9 @@
}
},
"@aws-crypto/sha256-browser": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz",
"integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz",
"integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==",
"dependencies": {
"tslib": {
"version": "1.14.1",
@@ -26,9 +26,9 @@
}
},
"@aws-crypto/sha256-js": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz",
"integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz",
"integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==",
"dependencies": {
"tslib": {
"version": "1.14.1",
@@ -38,9 +38,9 @@
}
},
"@aws-crypto/supports-web-crypto": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz",
"integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz",
"integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==",
"dependencies": {
"tslib": {
"version": "1.14.1",
@@ -50,9 +50,9 @@
}
},
"@aws-crypto/util": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz",
"integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz",
"integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==",
"dependencies": {
"tslib": {
"version": "1.14.1",
@@ -62,94 +62,94 @@
}
},
"@aws-sdk/abort-controller": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.215.0.tgz",
"integrity": "sha512-HTvL542nawhVqe0oC1AJchdcomEOmPivJEzYUT1LqiG3e8ikxMNa2KWSqqLPeKi2t0A/cfQy7wDUyg9+BZhDSQ=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.271.0.tgz",
"integrity": "sha512-sP4RvP0fvmMySS6hV/EKMrTJ9KVMH85rn1EKvmJ3nBTKRKiR8GQUS/vX+dhLYu+3jRs2P6cY2zjGzpaOcII91w=="
},
"@aws-sdk/client-cognito-identity": {
"version": "3.218.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.218.0.tgz",
"integrity": "sha512-IHzM9jpLqdeqj2w7YA7FrmLCQyKaun7eXtu1OJYMFbJT5XHx6B4jlQ1T/N8xivSSzDfjpJxG6/MMmjec4pI+CA=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.271.0.tgz",
"integrity": "sha512-mPDRSMCnFjXccsi630+LqLycw5adry/eMPmzc76x6FLvXwW/tQtq1XsQT5MvwYKYasG78WhD/BBPymDENf6slQ=="
},
"@aws-sdk/client-sso": {
"version": "3.218.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.218.0.tgz",
"integrity": "sha512-kVMlpjaVblxgb1G8q3wD65mKxO3RzKwnjUjIBmOHpmseXzlSkAdAvYcikaDoJP+CRmys4uXk5DN8c7ZdL0OmgA=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.271.0.tgz",
"integrity": "sha512-auWPqok8yJ2UOQfNrvfLNmvf0tRAbekaZRvZZ2TzTKTKd7yz6V7Y5+AdRnp01FHoOQ+8A7MHTXtp7h7i9qltKw=="
},
"@aws-sdk/client-sso-oidc": {
"version": "3.216.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.216.0.tgz",
"integrity": "sha512-O8kmM86BHwiSwyNoIe+iHXuSpUE9PBWl3re8u+/igt/w5W5VmMVz+zQr7gRUDQ1FDgLWNEdAJa0r+JFx3pZdzA=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.271.0.tgz",
"integrity": "sha512-pYN8r0slDbP0v2q0SyLKihE2PPfbsF/hH7+11w6OpAMvSGvfm+m8R5rB49Szy3bkDudR0MhLpD6D76yoy9ckrQ=="
},
"@aws-sdk/client-sts": {
"version": "3.218.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.218.0.tgz",
"integrity": "sha512-0A81eHvryKFEPq7IeY34Opzh5b9bVhhLlf2fDy5VuZjCFf4R9vD2ceOANvFSJeMsmdlqVDq8U1mHYl0E6FRUug=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.271.0.tgz",
"integrity": "sha512-dsLGj1Q3EdqLYNjm0WpeK07wv8Xed6R+tCf+x4KMWOAVAnz72XuoZNWDI2NvACubAniEhpFycMmf39Y6NCAkLg=="
},
"@aws-sdk/config-resolver": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.215.0.tgz",
"integrity": "sha512-DxX4R+YYLQOtg0qfceKBrjVD4t1mQBG1eb7IVr2QSlckFCX8ztUNymFMuaSEo3938Jyy/NpgfUDpFqPDaSKnng=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.271.0.tgz",
"integrity": "sha512-WNtUjOa9ufKK4+o58YHosjU9J8v494Fb10tHFqD4OspFWLxBKzSJ+r6xpQRcVPucxsmocGJ2QhIiNYo8OySKkA=="
},
"@aws-sdk/credential-provider-cognito-identity": {
"version": "3.218.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.218.0.tgz",
"integrity": "sha512-ndhlPBvnxUgje23TnVw0fkDgTZHh0GVapKSgeEIxmxAy3IVLN15iMs7dCV7LWvb7z1P0cYx9cwvxa0nTrVxjtg=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.271.0.tgz",
"integrity": "sha512-XL/CL31QVjaFqkCe3PSzesrip0DTI+idxiEyZ4s/DQ8NhxUVshE7wI00Wv+VQof1CtyT5ONWjhZrj00MD2L0tA=="
},
"@aws-sdk/credential-provider-env": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.215.0.tgz",
"integrity": "sha512-n5G7I7Pxfsn81+tNsSOzspKp9SYai78oRfImsfFY4JLTcWutv7szMgFUbtEzBfUUINHpOxLiO2Lk5yu5K1C7IQ=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.271.0.tgz",
"integrity": "sha512-lKZGcDYe8us2Ep7/AjhLyMMTq0NuVt+M+L1eedBGRuGkx/Hrvn4qwlIvSXZhiodoQVa+Wr1zIah3Z06U0dTaZA=="
},
"@aws-sdk/credential-provider-imds": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.215.0.tgz",
"integrity": "sha512-/4FUUR6u9gkNfxB6mEwBr0kk0myIkrDcXbAocWN3fPd/t7otzxpx/JqPZXgM6kcVP7M4T/QT75l1E1RRHLWCCQ=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.271.0.tgz",
"integrity": "sha512-u3KsjtGBo1SA9HQAVxfA7zHWirlrdKsqsMpnp4eOtixZLoz1e2EytrR5XZem2HND0lzjrUrEPGDPp5OpDtcHxw=="
},
"@aws-sdk/credential-provider-ini": {
"version": "3.218.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.218.0.tgz",
"integrity": "sha512-tDDrGW+4A+PQThVJ+l9ee03CsDoD0XLpOB5dcf+dr/dCHjcQ7x/CeVFZ8eM+XUtGQnZVvuzXZGwzS8bUWEdJIg=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.271.0.tgz",
"integrity": "sha512-zIclMwXbJeNev74+0tbxLpEO2Js7AhqvR2Msiytz05kOXRyk61NMEavtKRp1YxD2KMptONnvNlbWbNW2rrRDnw=="
},
"@aws-sdk/credential-provider-node": {
"version": "3.218.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.218.0.tgz",
"integrity": "sha512-J9PB6XFA+V0mgxleuY5W6Jjh5WejV8HjMViTJQpp2JN+NWZP3bGvquUSQHRqWGRGg2fSJy6Z/J4zQ8fpPbGsdQ=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.271.0.tgz",
"integrity": "sha512-hfdJ+8QM5xXEm4mF4AfIy6T1fVb2zTaUVm5PfPDHtkggVM1L+QSywEkZ2lUqQZMLbbatJqVLy2EMA91k5kjVrA=="
},
"@aws-sdk/credential-provider-process": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.215.0.tgz",
"integrity": "sha512-JNvj4L5B7W8byoFdfn/8Y4scoPiwCi+Ha/fRsFCrdSC7C+snDuxM/oQj33HI8DpKY1cjuigzEnpnxiNWaA09EA=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.271.0.tgz",
"integrity": "sha512-Q1HIZYTUYLVe0cNc3HbtFOFzgo3A6PHcmT62T8XClAhFRhkOsJ/KWUybjm8col49/1uqIjKA20E7P7f5Qnn2TQ=="
},
"@aws-sdk/credential-provider-sso": {
"version": "3.218.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.218.0.tgz",
"integrity": "sha512-HecWvmxD+xffmY8G4SfLRfCOgSoLFki45wOOU8ESgRM9fQp2+3CfRSyiThKZI5PTmE+xhPTRvmR61HUmQjEv8w=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.271.0.tgz",
"integrity": "sha512-TIvsv4xXTME6UsH7g05IzVDCLujaMmgv45A0KcAyM/J/HvFQ9IBOBdyKGU5zIawPvCWXiqQqZs/kDchdB2sjXA=="
},
"@aws-sdk/credential-provider-web-identity": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.215.0.tgz",
"integrity": "sha512-AWaDDEE3VU1HeLrXvyUrkQ6Wb3PQij5bvvrMil9L0da3b1yrcpoDanQQy7wBFBXcZIVmcmSFe5MMA/nyh2Le4g=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.271.0.tgz",
"integrity": "sha512-GD1mg7fMA3ESl0jdzH/+keZHV9Fue/iaGMIWNCUm7M9dOJo0JZbDNzSaMtxZnuA6xtkvw3FiLH6ZxPt0V+7wmg=="
},
"@aws-sdk/credential-providers": {
"version": "3.218.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.218.0.tgz",
"integrity": "sha512-MWpb5k+Oq56NrHA5fYPIDX8QRYUAw4Jp8ErTELBd83kLhTgqTw025YQ05YbhIzAs84+viMeWKif0z/5kNshphw=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.271.0.tgz",
"integrity": "sha512-s3qTsTTZESfb2mvfxAgWUhOumdZHBXA+WzEqagvzwaxdRZSwrubtGYB24bm4e+TL6Rr7N5DTs6Ty3NPI524Jhw=="
},
"@aws-sdk/fetch-http-handler": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.215.0.tgz",
"integrity": "sha512-JfZyrJOE+0ik1PumsIUZd0NfgEx4sZ43VSdPCD9GRhssRWudNsSF1B5fz3xA5v+1y5oQPjXZyaWCzKtnYruiWw=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.271.0.tgz",
"integrity": "sha512-yc0YgKioACFcfs7RPtVHRlpsyYJNdEHkqiWtnRSXG0vuZHAkfvwzchrDK4bizMblnmEV/xbl495ZqDlVbQ0c9A=="
},
"@aws-sdk/hash-node": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.215.0.tgz",
"integrity": "sha512-MkSRuZvo1RCRmI0VNEmRYCGGD/DkMd9lqnLtOyglMPnSX1mhyD4/DyXmcc3rYa7PsjDRAfykGWJRiMqpoMLjiQ=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.271.0.tgz",
"integrity": "sha512-VamRhkGo2uaVe7KhQhdTqpp9y5JKSFNE3yCUZf/o6lGwL9BgBpBiVqzwCePtas7hAphAaOYvefIwx0XLaCeQ1w=="
},
"@aws-sdk/invalid-dependency": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.215.0.tgz",
"integrity": "sha512-++bK4BUQe8/CL/YcLZcQB8qPOhiXxhbuhYzfFS7PNVvW1QOLqKRZL/lKs24gzjcOmw7IhAbCybDZwvu2TM4DAg=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.271.0.tgz",
"integrity": "sha512-ZN8JmN/t+4UTHkQ6wdod2KKLfJcewLS3D/0iZLnvvOzLlymhcHp9QY8t//RObF+WxnlWeCAvZttoMl/a2MLpYQ=="
},
"@aws-sdk/is-array-buffer": {
"version": "3.201.0",
@@ -157,124 +157,124 @@
"integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg=="
},
"@aws-sdk/middleware-content-length": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.215.0.tgz",
"integrity": "sha512-zKJRb6jDLFl9nl/muSFbiQHA4uK3skinuDRcyLbpMvvzhuK/PVodv9QI1+wIUsFdXkaSxAlva1oG4bL8ZFi+sQ=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.271.0.tgz",
"integrity": "sha512-bmfqCvjFcowa6jLltJIkGHNXY599Fu9ROoMtYjQiD2ixWHmUpS0I/VivcxXL3uES2qhehxYXyJFyCt7aqRQqcA=="
},
"@aws-sdk/middleware-endpoint": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.215.0.tgz",
"integrity": "sha512-W0QXL5emcN9IXtMbnWT/abLxBFH2tGIfnre2jPNmZ9M7uVFxUwwv5OTUXxNLGNehJHKhiJPwhfQvMy20IDzVcw=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.271.0.tgz",
"integrity": "sha512-pibhIe57e68NAfDUY5c7d9zo6WfNwgfclwtrK0nV3OXw9psNeCLGLC1YbzsTun49tm0ICSmkHgmqfsXAVe4HWA=="
},
"@aws-sdk/middleware-host-header": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.215.0.tgz",
"integrity": "sha512-GOqI7VwoENZwn+6tIMrrJ4SipIqL2JCh+BNvORVcy7CQxn1ViKkna7iaCx+QMjpg/kn9cR6kfY0n1FmgZR1w9A=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.271.0.tgz",
"integrity": "sha512-sp75WZDzDui/Wr3GnQH/db4DXgVdOpKdRQddDsRuULzri8HeJlhMW+JCP+sP0kQmkO06Dagxv1tSmENUxFhPaQ=="
},
"@aws-sdk/middleware-logger": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.215.0.tgz",
"integrity": "sha512-0h4GGF0rV3jnY3jxmcAWsOdqHCYf25s0biSjmgTei+l/5S+geOGrovRPCNep0LLg0i9D8bkZsXISojilETbf+g=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.271.0.tgz",
"integrity": "sha512-mB/vayfsuc20PySSpbbQ56CPER/RAZF5oGkwGuwFI3bY+VwRun0MOnx3yHj7Ja2DN1ZEOH1Hzrb0eUgREozmHw=="
},
"@aws-sdk/middleware-recursion-detection": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.215.0.tgz",
"integrity": "sha512-KQ+kiEsaluM4i6opjusUukxY78+UhfR7vzXHDkzZK/GplQ1hY0B+rwVO1eaULmlnmf3FK+Wd6lwrPV7xS2W+EA=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.271.0.tgz",
"integrity": "sha512-prrS/YL3GdLODqVBSgxvpUfo9aPBLB3Km5wNBdbhjjN0rI1RqjD+0LquVgaz6C1VU/I8cYbnxrFYtQVcdgnWpg=="
},
"@aws-sdk/middleware-retry": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.215.0.tgz",
"integrity": "sha512-I/dnUPVg2Kp3lW+MywBoPp06EOng8IfuaS9ph4bcJpQKrhNU5ekRgCHH2C4k1A6GcP8uyHxQ5TVV6j+l0QPIsA=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.271.0.tgz",
"integrity": "sha512-yCBXmxbFGT/4czTi+e4z7lV0nbMWctvvzOtl1ssBiG0LagijIhK4KUp0KTnqDJ+yBqxMpd7wNJ1B0NdS0re6Fw=="
},
"@aws-sdk/middleware-sdk-sts": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.215.0.tgz",
"integrity": "sha512-wJRxoDf+2egbRgochaQL8+zzADx8FM/2W0spKNj8x+t/3iqw70QwxCfuEKW/uFQ3ph6eaIrv7gYc8RRjwhD8rg=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.271.0.tgz",
"integrity": "sha512-/h8+PAx+85M+tSL/kl1lWVgHrrodmDRuQuDLXC7ufE6C1JRxRBkWMTOg6S3ZeuKo1Va/8RcAKf7jtkGdIBD5HQ=="
},
"@aws-sdk/middleware-serde": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.215.0.tgz",
"integrity": "sha512-+uhLXdKvvQZcRRFc3UmemSr/YUHA4Jc+1YMjHxc3v8vvfztFJBb0wgBx999myOi8PmkYThlRBQDzXy9UCIhIJw=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.271.0.tgz",
"integrity": "sha512-louPEKEZP2TtTavMwg4k6IJjEbXC6xV05Wtb4I+ZKzjupoTG80nmLtgPU7rnvweej3D69aeSQETfPoq1N4u4mg=="
},
"@aws-sdk/middleware-signing": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.215.0.tgz",
"integrity": "sha512-3BqzYqkmdPeOxjI8DVQE7Bm7J5QIvDy30abglXqrDg6npw6KonKI2Q3FIPFf+oLpZTMStwkoQOnwXHTPrSZ6Tg=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.271.0.tgz",
"integrity": "sha512-jCxbt6sehnmV6we2uu0rY5McREJQ9WGQ3HCtjG1qSxm1vJkROX40IUvq7uvwPi3FquqIv2pCc64vLuDdhfs6OA=="
},
"@aws-sdk/middleware-stack": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.215.0.tgz",
"integrity": "sha512-rdSVL7LxRgjlvoluqwODD4ypBy2k/YVl6FrDplyCMSi8m2WHZG99FzdmR9bpnWK+0DGzYZSMRYx6ynJ9N9PsSw=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.271.0.tgz",
"integrity": "sha512-ojbvxVdJRzvHx1SiXTX8z5qtsX/86+puqqmhTNQTed0/sp856rJVHrE+59qrOa8tNX+dHih5nzmjZ2OvhP+duA=="
},
"@aws-sdk/middleware-user-agent": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.215.0.tgz",
"integrity": "sha512-X6GfoMNoEITTw7rGL/gWs8UZ0cmmmezvKcl+KtHsA642R05OR4mY5G7LdbWAw0bcrwKsuKOGmwUrC9lzGqbWUw=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.271.0.tgz",
"integrity": "sha512-VnoY5DfdkSorT/bM91FPwHduzkRFBTi/MyU/J08xPkuAQfu2CmvIBr8W15XN1ysAZbZVyDir7NeE9MNG6Q/soA=="
},
"@aws-sdk/node-config-provider": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.215.0.tgz",
"integrity": "sha512-notckD94QwwxC0GsfpTxB7VH8SREIIlMsUSddqGtpModa0cq/wRb9rqnydZSoznbYpK1ND6h0C9hr/2PNz89zw=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.271.0.tgz",
"integrity": "sha512-PbEQ7GRO9/oXXrxIMPkOsL1lKzi3FzMizFj1tLjSkN+lvUaRt2w9Yrb+P3G7Wr2VyniI8QwpAPnebQ+5Rg7yig=="
},
"@aws-sdk/node-http-handler": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.215.0.tgz",
"integrity": "sha512-btKWSR7m0UuWIN3p5MfSIvhqeYik7xri7U6nWuVI5GVzIYjzxEZOMvPAinDLDxL5wipodi0ZvTUNdDJdm7BcGQ=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.271.0.tgz",
"integrity": "sha512-r/wLPLUo3HeWHumvnYxP4LvMz1cKpVO7XVognt5caeDakS2CDiFN3NiCO2PFxOGoWCyMDKcroKtIdXETcgrEbQ=="
},
"@aws-sdk/property-provider": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.215.0.tgz",
"integrity": "sha512-dDPjMCCopkRURAmOJCMSlpIQ5BGWCpYj0+FIfZ5qWQs24fn1PAkQHecOiBhJO0ZSVuQy3xcIyWsAp1NE5e+7ug=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.271.0.tgz",
"integrity": "sha512-y95eWGs2tbCESZZVqNWbDXOL43y18bZSS0mfac2n7srOfeuVh+4+8Zdhsnz/NW3Ao61+k1IxKCFnX0iKfJSu2Q=="
},
"@aws-sdk/protocol-http": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.215.0.tgz",
"integrity": "sha512-qp6Y6v4S534LAjadiVl9p7ErK7ImphOKq6yhFyQwxko6iITLcz8ib3yU27fs4QJcnNj5ZooqW/YlL/0EikDxCQ=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.271.0.tgz",
"integrity": "sha512-WWyS/M+A0NoEBBLbgO1qG7oxEGWvhjsFJgX0Yzz38mKIjW8G/31X9ylaCQoGFSOTn6GXBRqc/i0P86os+wL45Q=="
},
"@aws-sdk/querystring-builder": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.215.0.tgz",
"integrity": "sha512-eilk8CqG37BVhQklLif00K2dOJgDzacUi8h3KVQ72ry1V3h345i4HsmaFIxvnz8XtNyDvV8qFAzeYg9n2P9RQA=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.271.0.tgz",
"integrity": "sha512-2FKaoeOgCyn2eShq4hZrEBQ9euHYMvh0aFwWrjQgXjUWJmV4Q+/+eob/sEDeeYvkMW45T5aIG7D+hbVowgWZAQ=="
},
"@aws-sdk/querystring-parser": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.215.0.tgz",
"integrity": "sha512-8h/9H8dWM4fZO27UGzo8W5JXln4yJMugPyUl4qFA437gzPgNFN95+oLJWXtHMlfCHC5T/PDKetY9TarMDgBD0Q=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.271.0.tgz",
"integrity": "sha512-SGcxf+gaSMMST806zQxETEoe3ENWkncQh+cpDNDRo/oS582PMd7tIOAxP9JJdLJGp9UkIdSkTLWXDjzk9Zt02w=="
},
"@aws-sdk/service-error-classification": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.215.0.tgz",
"integrity": "sha512-SKBvClGFGzMPsjBBKjneaUazLCNr6bSxe9eFvOr3gCwuwE2jPQwW3VE1mb62howuvm6cLthEDwLQp/FsT1gMsw=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.271.0.tgz",
"integrity": "sha512-yTnxoeCa4uMRfpaaq6oG1h1a01vXQ2al+D0DyX+D5sw7u6RyZOaxxUEbyfEPTN+JtRw+M+zcdlvto3swIwRqoQ=="
},
"@aws-sdk/shared-ini-file-loader": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.215.0.tgz",
"integrity": "sha512-unzQeLOyUiYHr8WxxandHo0OaCj31gx0wpt8dn2cZcHm/MdCqHcHcsQqOVnQsWQrrxY/XZ27cPyMVQeicNKYwQ=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.271.0.tgz",
"integrity": "sha512-PR1Hco+r1sH7WlqxaO3Vvl6a8I5juvwVjwjjorbI3EVsxQgEcyCjy1ZVnpCAxY1Xam7ne5nAWO6Y6LtfY4JJ5g=="
},
"@aws-sdk/signature-v4": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.215.0.tgz",
"integrity": "sha512-Rc73uUCi3eJneO25DydLTfJYamXeuKS9YIhNMTKlpvcN1UQAmAnUbAmCuEmqvkYOiGD1i4/kd8kBga708iIikQ=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.271.0.tgz",
"integrity": "sha512-OzS+h0MGqzukJSrPqVi08pWDGZkq8U/yXf2LfCkQz58Rv/pbCuDIIN7Oab6IwnVPQV7KoCsegYL3e6BpOp1qpA=="
},
"@aws-sdk/smithy-client": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.215.0.tgz",
"integrity": "sha512-PiZfCdZkPohzMPrRmJ46TPOf2Tr/dhKYdwQArRnOOIsJABUGXjlzCUE8vysDN35XZYRx5f9hd+/U7kayhniq2w=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.271.0.tgz",
"integrity": "sha512-8wqNArFoLx2hy2kT5jV7JsaZ4jIqI535K1WXBCkzVLKNMv6RVYCBN57I5+C5sgVtHCZwy9RLzRHJIGLEIKIfBg=="
},
"@aws-sdk/token-providers": {
"version": "3.216.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.216.0.tgz",
"integrity": "sha512-cEmOfG7njWl0OA5lR65Sp2SW1i8ZLjf7C95TZ1e6t2Oo5aUFeN3aKBxMOV//1yc+BNzcFBnoHP/f29GhWxUOxA=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.271.0.tgz",
"integrity": "sha512-tCh3Pw7VuSGT6yg8n7IeNc25IT8cjPS9Q0YKzjN8rPBZW5iI8/kJyZ7kQBj52JD8WrEYCoxG4hnDvawe1e1lAA=="
},
"@aws-sdk/types": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.215.0.tgz",
"integrity": "sha512-eRbCVjwzTYd9C5e2mceScJ6D2kYDDEC3PLkYfJa+1wH9iiF2JlbiYozAokyeYBHQ+AjmD93MK58RBoM8iZfH0Q=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.271.0.tgz",
"integrity": "sha512-w4oNKEaBul7eh2IM97c89xaH9Ti8+e+u/Rc1ZkgNtpnfOpDUU2t3ugJ91ihGH+xtASQCWJTopTDfX5CuKsQQtQ=="
},
"@aws-sdk/url-parser": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.215.0.tgz",
"integrity": "sha512-r/qIk3TUlV36JvoRjTErFm0LzzgNKLB1YUG8zVZCGAc2TEATi8OVEmsZvi+KfTmsbszulITJVcjZKbHLbGoUzg=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.271.0.tgz",
"integrity": "sha512-HuL38pnLaZX4zjlsm9sZfyiPvEK9gFl9viX7wpBJcF50+KgRcj1rasYCy8AfWlCEtL7A214xEutFwGqLfTyDag=="
},
"@aws-sdk/util-base64": {
"version": "3.208.0",
@@ -302,19 +302,19 @@
"integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg=="
},
"@aws-sdk/util-defaults-mode-browser": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.215.0.tgz",
"integrity": "sha512-MiNfZgB0I4dR8CBxH163W7c9KvE38sgCHNPWopMqSX5ezz7cuCPohCU0XsWd4I7K31PvzuqmKgOiKBAZraQJMA=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.271.0.tgz",
"integrity": "sha512-zyCIT/4PKiBxblZLKcMTNCllKcPhLuE08lIv1fGaqgIZzULFaAGjd/lpTO1q7I2hOt5oFL/4uzTFDrG8g5HJAg=="
},
"@aws-sdk/util-defaults-mode-node": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.215.0.tgz",
"integrity": "sha512-mSp3R8GljQ+4UT3QMOksQk9L0cWbFLvR7bBmAlt4+GobgTjpRfzFjBP3uwrCqFa3BKDUR3FeJq3qwo+xeY1Krg=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.271.0.tgz",
"integrity": "sha512-QqruC9fkrraoWxrzG7EFX/pOkoLblV2YPsvPHR37DzKSssnsQxOPbiAF95Qw2zocsDrpDuxJEe2RM800vunIsw=="
},
"@aws-sdk/util-endpoints": {
"version": "3.216.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.216.0.tgz",
"integrity": "sha512-uHje4H6Qj/z/op8UZoSuvGpEZhz/r+AGY0rCihFo7XjhT4RYVxb2Eb9uHRK/IAeHU4kjHAdpQiWGMSmnT/UacA=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.271.0.tgz",
"integrity": "sha512-qr+IWZB0Th+TcarjTW5ZakkbKxBNKlLsnFiw3j+gECDA5raUEyTB3w6tRH0nhPFNzN6cM5P8arKlpm3R7f002Q=="
},
"@aws-sdk/util-hex-encoding": {
"version": "3.201.0",
@@ -327,9 +327,14 @@
"integrity": "sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg=="
},
"@aws-sdk/util-middleware": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.215.0.tgz",
"integrity": "sha512-DfHGlFlQCr+T/xhjS36HH8JEThDVB5lg5NZ6x4Cibhyeps9YX/4ovLAIx3B19H34sdWhZi7q6LfslCHLRu2+7Q=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.271.0.tgz",
"integrity": "sha512-qE+t+JKygIPtXvik1Dy9B2dQx8pJ5NFPms/uFi9kOexCJy8mWd4FApK+sCwT5TGWte+tY2Fg7fcTs5g7ufcsKw=="
},
"@aws-sdk/util-retry": {
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.271.0.tgz",
"integrity": "sha512-tO3nHBtAlBSppM37AJNc/rUwLNypPvkDC7av2cyuCDTaH4OHLd/RqZUtvMtSXJKjxR4v8RiyiQvRVE65u0Ermw=="
},
"@aws-sdk/util-uri-escape": {
"version": "3.201.0",
@@ -337,29 +342,29 @@
"integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA=="
},
"@aws-sdk/util-user-agent-browser": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.215.0.tgz",
"integrity": "sha512-uZz6BJWr8sJcA+onveS1lFqnbIXBHwvkyHLgCuuGhAxd5yY6YNLhpJBnhy9Fb8/aSbk6yao3qxlokqw9gthmAw=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.271.0.tgz",
"integrity": "sha512-nFU4flPzzkG6c46ZKroXtQc6D8g/8ei3nUYJF2Poc+3UD/GiuKASWR+ymALN7Zc2YfR95LcVCNdcm1rDI1WLXA=="
},
"@aws-sdk/util-user-agent-node": {
"version": "3.215.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.215.0.tgz",
"integrity": "sha512-4lrdd1oGRwJEwfvgvg1jcJ2O0bwElsvtiqZfTRHN6MNTFUqsKl0xHlgFChQsz3Hfrc1niWtZCmbqQKGdO5ARpw=="
"version": "3.271.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.271.0.tgz",
"integrity": "sha512-okLJbQ1iBmAH+OdqDd6AmINUAQdLnhi+D9rvp4ZoE5DIhgbzFIuUK6SByB7Rl/9XE76wzkHfRhZJYPyD1cPkQA=="
},
"@aws-sdk/util-utf8": {
"version": "3.254.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz",
"integrity": "sha512-14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw=="
},
"@aws-sdk/util-utf8-browser": {
"version": "3.188.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.188.0.tgz",
"integrity": "sha512-jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q=="
},
"@aws-sdk/util-utf8-node": {
"version": "3.208.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.208.0.tgz",
"integrity": "sha512-jKY87Acv0yWBdFxx6bveagy5FYjz+dtV8IPT7ay1E2WPWH1czoIdMAkc8tSInK31T6CRnHWkLZ1qYwCbgRfERQ=="
"version": "3.259.0",
"resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz",
"integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw=="
},
"@types/node": {
"version": "18.11.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
"integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg=="
"version": "18.13.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz",
"integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg=="
},
"@types/webidl-conversions": {
"version": "7.0.0",
@@ -382,9 +387,9 @@
"integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="
},
"bson": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
"integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA=="
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/bson/-/bson-4.7.2.tgz",
"integrity": "sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ=="
},
"buffer": {
"version": "5.7.1",
@@ -412,9 +417,9 @@
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg=="
},
"mongodb": {
"version": "4.12.1",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.12.1.tgz",
"integrity": "sha512-koT87tecZmxPKtxRQD8hCKfn+ockEL2xBiUvx3isQGI6mFmagWt4f4AyCE9J4sKepnLhMacoCTQQA6SLAI2L6w=="
"version": "4.14.0",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.14.0.tgz",
"integrity": "sha512-coGKkWXIBczZPr284tYKFLg+KbGPPLlSbdgfKAb6QqCFt5bo5VFZ50O3FFzsw4rnkqjwT6D8Qcoo9nshYKM7Mg=="
},
"mongodb-connection-string-url": {
"version": "2.6.0",
@@ -422,9 +427,9 @@
"integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ=="
},
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
},
"saslprep": {
"version": "1.0.3",
@@ -457,9 +462,9 @@
"integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA=="
},
"tslib": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
"integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
},
"uuid": {
"version": "8.3.2",

3
packages/npm-mongo/index.d.ts vendored Normal file
View File

@@ -0,0 +1,3 @@
import * as NpmModuleMongodb from 'mongodb';
declare const NpmModuleMongodbVersion: string;
export { NpmModuleMongodb, NpmModuleMongodbVersion };

View File

@@ -3,12 +3,12 @@
Package.describe({
summary: "Wrapper around the mongo npm package",
version: '4.12.1',
version: '4.14.0',
documentation: null
});
Npm.depends({
mongodb: "4.12.1"
mongodb: "4.14.0"
});
Package.onUse(function (api) {
@@ -17,4 +17,5 @@ Package.onUse(function (api) {
"NpmModuleMongodb",
"NpmModuleMongodbVersion",
], "server");
api.addAssets('index.d.ts', 'server');
});

View File

@@ -19,6 +19,8 @@ OAuth.showPopup = (url, callback, dimensions) => {
// works that we don't understand and isn't well-documented.
let oauthFinished = false;
const popup = cordova.InAppBrowser.open(url, '_blank', 'location=yes,hidden=yes');
const pageLoaded = event => {
if (oauthFinished) {
return;
@@ -59,7 +61,6 @@ OAuth.showPopup = (url, callback, dimensions) => {
popup.removeEventListener('exit', onExit);
};
const popup = window.open(url, '_blank', 'location=yes,hidden=yes');
popup.addEventListener('loadstop', pageLoaded);
popup.addEventListener('loaderror', fail);
popup.addEventListener('exit', onExit);

View File

@@ -1,6 +1,6 @@
Package.describe({
summary: "Common code for OAuth-based services",
version: "2.1.3"
version: '2.2.0',
});
Package.onUse(api => {
@@ -49,5 +49,5 @@ Package.onTest(api => {
});
Cordova.depends({
'cordova-plugin-inappbrowser': '3.2.0'
'cordova-plugin-inappbrowser': '5.0.0'
});

View File

@@ -0,0 +1 @@
node_modules

View File

@@ -0,0 +1,7 @@
This directory and the files immediately inside it are automatically generated
when you change this package's NPM dependencies. Commit the files in this
directory (npm-shrinkwrap.json, .gitignore, and this README) to source control
so that others run the same versions of sub-dependencies.
You should NOT check in the node_modules directory that Meteor automatically
creates; if you are using git, the .gitignore file tells git to ignore it.

View File

@@ -0,0 +1,25 @@
{
"lockfileVersion": 1,
"dependencies": {
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="
},
"react-refresh": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
"integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ=="
},
"semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A=="
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
}

View File

@@ -1,14 +1,14 @@
Package.describe({
name: 'react-fast-refresh',
version: '0.2.3',
version: '0.2.6',
summary: 'Automatically update React components with HMR',
documentation: 'README.md',
devOnly: true,
});
Npm.depends({
'react-refresh': '0.11.0',
semver: '7.3.4',
'react-refresh': '0.14.0',
semver: '7.3.8',
});
Package.onUse(function(api) {

View File

@@ -1,28 +1,30 @@
Package.describe({
name: 'standard-minifier-css',
version: '1.8.3',
version: '1.9.0',
summary: 'Standard css minifier used with Meteor apps by default.',
documentation: 'README.md'
documentation: 'README.md',
});
Package.registerBuildPlugin({
name: "minifyStdCSS",
use: [
'minifier-css',
'ecmascript'
'ecmascript',
'logging',
],
npmDependencies: {
"@babel/runtime": "7.18.9",
"source-map": "0.7.4",
"lru-cache": "6.0.0",
"micromatch": "4.0.5"
"micromatch": "4.0.5",
},
sources: [
'plugin/minify-css.js'
'plugin/minify-css.js',
]
});
Package.onUse(function(api) {
api.use('minifier-css@1.5.4');
api.use('isobuild:minifier-plugin@1.0.0');
api.use('logging@1.3.1');
});

View File

@@ -2,10 +2,16 @@ import sourcemap from "source-map";
import { createHash } from "crypto";
import LRU from "lru-cache";
import { loadPostCss, watchAndHashDeps, usePostCss } from './postcss.js';
import { Log } from 'meteor/logging';
const { argv, env:{ DEBUG_CSS } } = process;
const verbose = (DEBUG_CSS!=="false" && DEBUG_CSS!=="0" && (
DEBUG_CSS || argv.indexOf('--verbose') > -1 || argv.indexOf('--debug') > -1
));
Plugin.registerMinifier({
extensions: ["css"],
archMatching: "web"
archMatching: "web",
}, function () {
const minifier = new CssToolsMinifier();
return minifier;
@@ -14,16 +20,23 @@ Plugin.registerMinifier({
class CssToolsMinifier {
constructor() {
this.cache = new LRU({
max: 100
max: 100,
});
this.depsHashCache = Object.create(null);
this.totalSize = 0;
this.totalMinifiedSize = 0;
this.haveHitAnyCache = false; // once we hit the cache, there's no point in showing 'Adding CSS', we know it will be fine and floods the terminal needlessly.
}
beforeMinify() {
this.depsHashCache = Object.create(null);
}
formatSize(bytes) {
return bytes < 1024 ? `${bytes} bytes` : `${Math.round(bytes/1024)}k`;
}
watchAndHashDeps(deps, file) {
const cacheKey = JSON.stringify(deps);
@@ -47,30 +60,53 @@ class CssToolsMinifier {
cachedResult &&
cachedResult.depsCacheKey === this.watchAndHashDeps(cachedResult.deps, files[0])
) {
if (verbose && !this.haveHitAnyCache) {
this.haveHitAnyCache = true;
setTimeout( () => { // we use a timeout to give all files a chance to finish being minified
const stats = [`minifyStdCSS: Total CSS ${this.formatSize(this.totalSize)}`];
if (this.totalMinifiedSize!==0) {
stats.push(`minified ${this.formatSize(this.totalMinifiedSize)}`);
stats.push(`reduction ${Math.round(100-this.totalMinifiedSize*100/this.totalSize)}%`);
}
console.log(stats.join(", "));
}, 500);
}
return cachedResult.stylesheets;
}
let result = [];
if (verbose) process.stdout.write(` > Merging [ ${files.map( ({ _source:{ targetPath } }) => targetPath ).join(' ')} ]`);
const merged = await mergeCss(files, postcssConfig);
if (verbose) {
process.stdout.write(` > ${this.formatSize(merged.code.length)}`);
this.totalSize += merged.code.length;
}
if (mode === 'development') {
result = [{
data: merged.code,
sourceMap: merged.sourceMap,
path: 'merged-stylesheets.css'
path: 'merged-stylesheets.css',
}];
} else {
const minifiedFiles = await CssTools.minifyCssAsync(merged.code);
if (verbose) process.stdout.write(` > minifying`);
result = minifiedFiles.map(minified => ({
data: minified
}));
const minifiedFiles = await CssTools.minifyCssAsync(merged.code);
result = minifiedFiles.map( minified => ({ data:minified }) );
if (verbose) {
const minifiedSize = minifiedFiles.reduce( (sum, minifiedFile) => sum + minifiedFile.length, 0);
process.stdout.write(` > ${this.formatSize(minifiedSize)}`);
this.totalMinifiedSize += minifiedSize;
}
}
if (verbose) process.stdout.write('\n');
this.cache.set(cacheKey, {
stylesheets: result,
deps: merged.deps,
depsCacheKey: this.watchAndHashDeps(merged.deps, files[0])
depsCacheKey: this.watchAndHashDeps(merged.deps, files[0]),
});
return result;
}
@@ -81,13 +117,15 @@ class CssToolsMinifier {
const { error, postcssConfig } = await loadPostCss();
if (error) {
if (verbose) Log.error('processFilesForBundle loadPostCss error', error);
files[0].error(error);
return;
}
const stylesheets = await this.minifyFiles(files, minifyMode, postcssConfig);
stylesheets.forEach(stylesheet => {
stylesheets.forEach( (stylesheet,i) => {
if (verbose && !this.haveHitAnyCache) process.stdout.write(`Adding CSS${i===0?'':' '+i+1}`);
files[0].addStylesheet(stylesheet);
});
}
@@ -128,7 +166,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) {
postcssConfig.plugins
).process(content, {
from: Plugin.convertToOSPath(file.getSourcePath()),
parser: postcssConfig.options.parser
parser: postcssConfig.options.parser,
});
result.warnings().forEach(warning => {
@@ -150,7 +188,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) {
file.error({
message: e.reason,
line: e.line,
column: e.column
column: e.column,
});
} else {
// Just in case it's not the normal error the library makes.
@@ -171,7 +209,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) {
const stringifiedCss = CssTools.stringifyCss(mergedCssAst, {
sourcemap: true,
// don't try to read the referenced sourcemaps from the input
inputSourcemaps: false
inputSourcemaps: false,
});
if (! stringifiedCss.code) {
@@ -220,7 +258,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) {
let original = {
line: mapping.originalLine,
column: mapping.originalColumn
column: mapping.originalColumn,
};
// If there is a source map for the original file, e.g., if it has been
@@ -256,7 +294,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) {
newMap.addMapping({
generated: {
line: mapping.generatedLine,
column: mapping.generatedColumn
column: mapping.generatedColumn,
},
original,
source,
@@ -281,7 +319,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) {
return {
code: stringifiedCss.code,
sourceMap: newMap.toString(),
deps
deps,
};
});
@@ -289,5 +327,5 @@ function warnCb (filename, msg) {
// XXX make this a buildmessage.warning call rather than a random log.
// this API would be like buildmessage.error, but wouldn't cause
// the build to fail.
console.log(`${filename}: warn: ${msg}`);
Log.warn(`${filename}: warn: ${msg}`);
};

Some files were not shown because too many files have changed in this diff Show More