mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Merge branch 'devel' into feature/github-return-data
This commit is contained in:
26
History.md
26
History.md
@@ -1,4 +1,4 @@
|
||||
## v2.6, 2021-11-
|
||||
## vNext, UNRELEASED
|
||||
|
||||
#### Highlights
|
||||
|
||||
@@ -12,6 +12,30 @@
|
||||
|
||||
#### Independent Releases
|
||||
|
||||
## v2.5.1, 2021-11-17
|
||||
|
||||
#### Highlights
|
||||
- Mac M1 Support - darwin arm64. [Read more](https://blog.meteor.com/).
|
||||
|
||||
#### Breaking Changes
|
||||
- `Meteor.loginWithToken` from the new package `accounts-passwordless` was conflicting with another method with the same name on `accounts-base` so we had to rename the method of `accounts-passwordless` package to `Meteor.passwordlessLoginWithToken`.
|
||||
|
||||
#### Meteor Version Release
|
||||
|
||||
* `meteor-tool@2.5.1`
|
||||
- Meteor supports now Mac M1 chips (darwin arm64)
|
||||
|
||||
* `accounts-passwordless@2.0.0`
|
||||
- `Meteor.loginWithToken` from the new package `accounts-passwordless` was conflicting with another method with the same name on `accounts-base` so we had to rename the method of `accounts-passwordless` package to `Meteor.passwordlessLoginWithToken`.
|
||||
|
||||
#### Independent Releases
|
||||
* `minifier-js@2.7.2`
|
||||
- Stopped using `evaluate` option in the compression to fix a [bug](https://github.com/meteor/meteor/issues/11756).
|
||||
- Updated `terser` to [v5.9.0](https://github.com/terser/terser/blob/master/CHANGELOG.md#v590) to fix various bugs
|
||||
|
||||
* `standard-minifier-js@2.7.2`
|
||||
- Using `minifier-js@2.7.2`
|
||||
|
||||
* `github-oauth@1.3.2`
|
||||
- Migrate from `http` to `fetch`
|
||||
- Fix GitHub login params to adhere to changes in GitHub API
|
||||
|
||||
35
README.md
35
README.md
@@ -15,13 +15,14 @@ With Meteor you write apps:
|
||||
Try a getting started tutorial:
|
||||
* [React](https://react-tutorial.meteor.com)
|
||||
* [Blaze](https://blaze-tutorial.meteor.com/)
|
||||
* [Angular](https://www.meteor.com/tutorials/angular/creating-an-app)
|
||||
* [Vue](https://vue-tutorial.meteor.com/)
|
||||
* [Svelte](https://svelte-tutorial.meteor.com/)
|
||||
|
||||
Next, read the [guide](https://guide.meteor.com) and the [documentation](https://docs.meteor.com/).
|
||||
Next, read the [documentation](https://docs.meteor.com/).
|
||||
|
||||
Are you looking for examples? Check this [meteor/examples](https://github.com/meteor/examples)
|
||||
Are you looking for examples? Check this [meteor/examples](https://github.com/meteor/examples).
|
||||
|
||||
Check your [changes](https://docs.meteor.com/changelog.html) to keep your app up-to-date.
|
||||
|
||||
## Quick Start
|
||||
|
||||
@@ -33,22 +34,16 @@ npm install -g meteor
|
||||
|
||||
Visit the official [install page](https://www.meteor.com/developers/install) to learn more.
|
||||
|
||||
Alternatively, on macOS and Linux you can use:
|
||||
|
||||
```bash
|
||||
curl https://install.meteor.com/ | sh
|
||||
```
|
||||
|
||||
Create a project:
|
||||
|
||||
```bash
|
||||
meteor create try-meteor
|
||||
meteor create my-app
|
||||
```
|
||||
|
||||
Run it:
|
||||
|
||||
```bash
|
||||
cd try-meteor
|
||||
cd my-app
|
||||
meteor
|
||||
```
|
||||
|
||||
@@ -56,10 +51,10 @@ meteor
|
||||
|
||||
Building an application with Meteor?
|
||||
|
||||
* Deploy on Galaxy hosting: https://www.meteor.com/cloud
|
||||
* Announcement list: sign up at https://www.meteor.com/
|
||||
* Discussion forums: https://forums.meteor.com/
|
||||
* Deploy on [Meteor Cloud](https://www.meteor.com/cloud)
|
||||
* Discussion [Forums](https://forums.meteor.com/)
|
||||
* Join the Meteor community Slack by clicking this [invite link](https://join.slack.com/t/meteor-community/shared_invite/enQtODA0NTU2Nzk5MTA3LWY5NGMxMWRjZDgzYWMyMTEyYTQ3MTcwZmU2YjM5MTY3MjJkZjQ0NWRjOGZlYmIxZjFlYTA5Mjg4OTk3ODRiOTc).
|
||||
* Announcement list. Subscribe in the [footer](https://www.meteor.com/).
|
||||
|
||||
|
||||
Interested in helping or contributing to Meteor? These resources will help:
|
||||
@@ -69,15 +64,5 @@ Interested in helping or contributing to Meteor? These resources will help:
|
||||
* [Feature requests](https://github.com/meteor/meteor/discussions/)
|
||||
* [Issue tracker](https://github.com/meteor/meteor/issues)
|
||||
|
||||
## Uninstalling Meteor
|
||||
|
||||
Aside from a short launcher shell script, Meteor installs itself inside your
|
||||
home directory. To uninstall Meteor, run:
|
||||
|
||||
```bash
|
||||
rm -rf ~/.meteor/
|
||||
sudo rm /usr/local/bin/meteor
|
||||
```
|
||||
|
||||
On Windows, [read here](npm-packages/meteor-installer/README.md).
|
||||
To uninstall Meteor [read here](https://docs.meteor.com/install.html#uninstall).
|
||||
|
||||
|
||||
@@ -240,7 +240,21 @@ This is necessary as our database provider does not have certificates installed
|
||||
You can change the app plan by providing argument `--plan` with one of the following values: professional, essentials, or free. Be aware that this argument overwrites the `--free` argument.
|
||||
|
||||
{% pullquote warning %}
|
||||
The `plan` option is available to Meteor 2.1+
|
||||
The `plan` option is available since Meteor 2.1.
|
||||
{% endpullquote %}
|
||||
|
||||
Use `--cache-build` to keep the bundle in your temp folder after the deploy is finished, this is helpful when you want to deploy the same code to different environments. For example, a [background job](https://cloud-guide.meteor.com/background-jobs.html) app from the same code as the web app.
|
||||
|
||||
Your project should be a git repository as the commit hash is going to be used to decide if your code is still the same or not in the next deploy.
|
||||
|
||||
{% pullquote warning %}
|
||||
The `cache-build` option is available since Meteor 1.11.
|
||||
{% endpullquote %}
|
||||
|
||||
With the argument `--container-size` you can change your app's container size using the deploy command. The valid arguments are: `tiny`, `compact`, `standard`, `double`, `quad`, `octa`, and `dozen`. To see more about the difference and prices of each one you can check it [here](https://www.meteor.com/cloud#pricing-section).
|
||||
|
||||
{% pullquote warning %}
|
||||
The `--container-size` option is available since Meteor 2.4.1.
|
||||
{% endpullquote %}
|
||||
|
||||
<h2 id="meteorupdate">meteor update</h2>
|
||||
|
||||
@@ -34,4 +34,4 @@ Meteor is a full-stack JavaScript platform for developing modern web and mobile
|
||||
|
||||
{% oldRedirects %}
|
||||
|
||||
<!-- hidden comment to trigger a change again -->
|
||||
<!-- hidden comment to trigger a change -->
|
||||
|
||||
@@ -4,16 +4,16 @@ title: Install
|
||||
Meteor currently supports **OS X, Windows, and Linux**. Only 64-bit is supported.
|
||||
Apple M1 is only supported from Meteor 2.5.1 onward.
|
||||
|
||||
### Prerequisites and useful information
|
||||
<h2 id="prereqs">Prerequisites and useful information</h2>
|
||||
|
||||
- Meteor requires Node.js 8 or newer installed for running the npm installer.
|
||||
- Meteor requires Node.js version >= 10 and <= 14 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.
|
||||
- Disabling antivirus (Windows Defender, etc.) will improve performance.
|
||||
- For compatibility, Linux binaries are built with CentOS 6.4 i386/amd64.
|
||||
- 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.**
|
||||
|
||||
### Installation
|
||||
<h2 id="installation">Installation</h2>
|
||||
|
||||
Install the latest official Meteor release from your terminal:
|
||||
|
||||
@@ -21,6 +21,9 @@ Install the latest official Meteor release from your terminal:
|
||||
npm install -g meteor
|
||||
```
|
||||
|
||||
|
||||
<h2 id="troubleshooting">Troubleshooting</h2>
|
||||
|
||||
If your user doesn't have permission to install global binaries, and you need to use sudo, it's necessary to append *--unsafe-perm* to the above command:
|
||||
|
||||
```bash
|
||||
@@ -32,20 +35,19 @@ Only run the above command with sudo if you know what you are doing.
|
||||
|
||||
If you only use sudo because of a distribution default permission system, [check this link for fixing it](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally).
|
||||
|
||||
For Apple M1 computers, you can append Rosetta prefix as following:
|
||||
In some cases you can get this error `npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules` because your Node.js installation was performed with wrong permissions. An easy way to fix this is to install Node.js using [nvm](https://github.com/nvm-sh/nvm) and forcing it to be used in your terminal. You can force it in the current session of your terminal by running `nvm use 14`.
|
||||
|
||||
<h2 id="old-versions-m1">Old Versions on Apple M1</h2>
|
||||
|
||||
For Apple M1 computers, you can append Rosetta prefix as following, if you need to run older versions of Meteor (before 2.5.1):
|
||||
|
||||
```bash
|
||||
|
||||
arch -x86_64 npm install -g meteor
|
||||
|
||||
```
|
||||
|
||||
or select Terminal in the Applications folder, press CMD(⌘)+I and check the "Open using Rosetta" option.
|
||||
|
||||
We currently don't support Apple M1 native binaries as the latest meteor release uses Node.js 14 which doesn't have support for it until now. More info in our repository, [here](https://github.com/meteor/meteor/issues/11249#issuecomment-734327204).
|
||||
|
||||
|
||||
### Legacy Installation Method
|
||||
<h2 id="legacy-install">Legacy Installation Method</h2>
|
||||
|
||||
For Linux and OS X, we are still providing the legacy installation method which uses a bash script and doesn't depend on Node.
|
||||
|
||||
@@ -55,5 +57,36 @@ curl https://install.meteor.com/ | sh
|
||||
|
||||
This installation method is not maintained anymore, and you should always use the NPM one.
|
||||
|
||||
<h2 id="meteor-docker">Run Meteor inside Docker</h2>
|
||||
|
||||
You can also use a Docker container for running Meteor inside your CI, or even in your local development toolchain.
|
||||
|
||||
We do provide the meteor/meteor-base ubuntu-based Docker image, that comes pre-bundled with Node.JS and Meteor, and runs it as a local user (not as root).
|
||||
|
||||
You can refer to our meteor/galaxy-images repository to see how to use it, and the latest version. [More about meteor-base here.](https://github.com/meteor/galaxy-images/blob/master/meteor-base/README.md)
|
||||
|
||||
|
||||
<h2 id="windows">Note for Windows users</h2>
|
||||
|
||||
On Windows, the installer runs faster when [Windows Developer Mode](https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development) is enabled. The installation extracts a large number of small files, which Windows Defender can cause to be very slow.
|
||||
|
||||
|
||||
<h2 id="nvm">Node version manager</h2>
|
||||
|
||||
If you use a node version manager that uses a separate global `node_modules` folder for each Node version, you will need to re-install the `meteor` npm package when changing to a Node version for the first time. Otherwise, the `meteor` command will no longer be found.
|
||||
|
||||
<h2 id="fish-shell">Note for fish shell users (Linux)</h2>
|
||||
|
||||
To be able to user `meteor` command from fish it's needed to include `/home/<user>/.meteor` in `$PATH`; to do that just add this line in `/home/<user>/.config/fish/config.fish` file (replace `<user>` with your username):
|
||||
|
||||
`set PATH /home/<user>/.meteor $PATH`
|
||||
|
||||
<h2 id="uninstall">Uninstalling Meteor</h2>
|
||||
|
||||
If you installed Meteor using npm, you can remove it by running:
|
||||
`meteor-installer uninstall`
|
||||
|
||||
If you installed Meteor using curl, you can remove it by running:
|
||||
`rm -rf ~/.meteor`
|
||||
`sudo rm /usr/local/bin/meteor`
|
||||
|
||||
|
||||
@@ -3,13 +3,20 @@ title: accounts-passwordless
|
||||
description: Documentation of Meteor's `accounts-passwordless` package.
|
||||
---
|
||||
|
||||
Passwordless package allows you to create a login for users without the need for user to provide password. Upon registering or login an email is sent to the user's email with a code to enter to confirm login and a link to login directly.
|
||||
Passwordless package allows you to create a login for users without the need for user to provide password. Upon registering or login an email is sent to the user's email with a code to enter to confirm login and a link to login directly. Since the user is responding to the email it will also verify the email.
|
||||
|
||||
{% apibox "Meteor.loginWithToken" %}
|
||||
The first step to in the passwordless process is for the user to sign-up or request a token to their email address. You can do that with the following:
|
||||
{% apibox "Accounts.requestLoginTokenForUser" %}
|
||||
{% apibox "Accounts.sendLoginTokenEmail" %}
|
||||
|
||||
### E-mail templates
|
||||
If the user is signing up you can pass in the `userData` object like in [Accounts.createUser](/api/passwords.html#Accounts-createUser).
|
||||
|
||||
{% apibox "Meteor.passwordlessLoginWithToken" %}
|
||||
The second step in the passwordless flow. Like all the other `loginWith` functions call this method to login the user with the token they have inputted.
|
||||
|
||||
{% apibox "Accounts.sendLoginTokenEmail" %}
|
||||
Use this function if you want to manually send the email to users to login with token from the server. Do note that you will need to create the token/sequence and save it in the DB yourself. This is good if you want to change how the tokens look or are generated, but unless you are sure of what you are doing we don't recommend it.
|
||||
|
||||
<h3 id="passwordless-email-templates">E-mail templates</h3>
|
||||
|
||||
`accounts-passwordless` brings new templates that you can edit to change the look of emails which send code to users. The email template is named `sendLoginToken` and beside `user` and `url`, the templates also receive a data object with `sequence` which is the user's code.
|
||||
|
||||
|
||||
@@ -677,10 +677,10 @@ You could use this to include (white-list) the standard fields as used by [the A
|
||||
Accounts.config({
|
||||
defaultFieldSelector: {
|
||||
username: 1,
|
||||
emails: 1
|
||||
emails: 1,
|
||||
createdAt: 1,
|
||||
profile: 1,
|
||||
services: 1
|
||||
services: 1,
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
2
meteor
2
meteor
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
BUNDLE_VERSION=14.18.1.2
|
||||
BUNDLE_VERSION=14.18.1.4
|
||||
|
||||
# OS Check. Put here because here is where we download the precompiled
|
||||
# bundles that are arch specific.
|
||||
|
||||
@@ -10,7 +10,7 @@ var packageJson = {
|
||||
dependencies: {
|
||||
// Keep the versions of these packages consistent with the versions
|
||||
// found in dev-bundle-tool-package.js.
|
||||
fibers: "5.0.0",
|
||||
fibers: "https://github.com/meteor/node-fibers/archive/refs/tags/5.0.0.tar.gz",
|
||||
"meteor-promise": "0.9.0",
|
||||
promise: "8.1.0",
|
||||
reify: "0.22.2",
|
||||
|
||||
@@ -19,7 +19,7 @@ var packageJson = {
|
||||
// Keep the versions of these packages consistent with the versions
|
||||
// found in dev-bundle-server-package.js.
|
||||
"meteor-promise": "0.9.0",
|
||||
fibers: "5.0.0",
|
||||
fibers: "https://github.com/meteor/node-fibers/archive/refs/tags/5.0.0.tar.gz",
|
||||
reify: "0.22.2",
|
||||
// So that Babel can emit require("@babel/runtime/helpers/...") calls.
|
||||
"@babel/runtime": "7.15.3",
|
||||
|
||||
@@ -1,29 +1,12 @@
|
||||
## Meteor Installer
|
||||
|
||||
Requires [Node.js](https://nodejs.org/) 12 or newer.
|
||||
|
||||
Install Meteor by running:
|
||||
|
||||
```bash
|
||||
npm install -g meteor
|
||||
```
|
||||
|
||||
If Meteor is already installed, it will do nothing.
|
||||
|
||||
Uninstall by running:
|
||||
|
||||
```bash
|
||||
meteor-installer uninstall
|
||||
npm uninstall -g meteor
|
||||
```
|
||||
|
||||
On Windows,The installer runs faster when [Windows Developer Mode](https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development) is enabled. The installation extracts a large number of small files, which Windows Defender can cause to be very slow.
|
||||
|
||||
It is not recommended running the installer and `meteor` as administrator. Otherwise, if the administrator is a separate user the `meteor` command might not always be found. If your current setup needs administrator rights to use npm install -g (sudo), you will need to run it with "sudo npm install -g meteor --unsafe-perm".
|
||||
We strongly advise against this. You can always change your npm modules permissions to your current user, more info [here](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally):
|
||||
|
||||
If you use a node version manager that uses a separate global `node_modules` folder for each Node version, you will need to re-install the `meteor` npm package when changing to a Node version for the first time. Otherwise, the `meteor` command will no longer be found.
|
||||
|
||||
[Read more](https://www.meteor.com/developers/install)
|
||||
|
||||
### Meteor version relationship
|
||||
|
||||
@@ -39,4 +22,8 @@ If you use a node version manager that uses a separate global `node_modules` fol
|
||||
| 2.4.0 | 2.4 |
|
||||
| 2.4.1 | 2.4 |
|
||||
| 2.5.0 | 2.5 |
|
||||
| 2.5.1 | 2.5.1 |
|
||||
|
||||
### Important note
|
||||
|
||||
This npm package is not Meteor itself, this npm package is just an installer. You should not include it as a dependency in your project. If you do your deploy is going to be broken.
|
||||
|
||||
@@ -1,17 +1,31 @@
|
||||
const path = require('path');
|
||||
const os = require('os');
|
||||
|
||||
const METEOR_LATEST_VERSION = '2.5';
|
||||
const METEOR_LATEST_VERSION = '2.5.1';
|
||||
const sudoUser = process.env.SUDO_USER || '';
|
||||
function isRoot() {
|
||||
return process.getuid && process.getuid() === 0;
|
||||
}
|
||||
function isSudo() {
|
||||
return isRoot() && !!sudoUser;
|
||||
}
|
||||
const localAppData = process.env.LOCALAPPDATA;
|
||||
const isWindows = () => os.platform() === 'win32';
|
||||
const isMac = () => os.platform() === 'darwin';
|
||||
const rootPath = isWindows()
|
||||
? localAppData
|
||||
: `${isRoot() ? `/home/${sudoUser}` : os.homedir()}`;
|
||||
|
||||
let rootPath;
|
||||
if (isWindows()) {
|
||||
rootPath = localAppData;
|
||||
} else if (isRoot() && sudoUser) {
|
||||
rootPath = `/home/${sudoUser}`;
|
||||
} else {
|
||||
if (isRoot()) {
|
||||
console.info(
|
||||
'You are running the install script as root, without SUDO. This is not recommended and should be avoided. Continuing.'
|
||||
);
|
||||
}
|
||||
rootPath = os.homedir();
|
||||
}
|
||||
|
||||
if (isWindows() && !localAppData) {
|
||||
throw new Error('LOCALAPPDATA env var is not set.');
|
||||
@@ -21,6 +35,7 @@ const meteorLocalFolder = '.meteor';
|
||||
const meteorPath = path.resolve(rootPath, meteorLocalFolder);
|
||||
|
||||
module.exports = {
|
||||
METEOR_LATEST_VERSION,
|
||||
extractPath: rootPath,
|
||||
meteorPath,
|
||||
release: process.env.INSTALL_METEOR_VERSION || METEOR_LATEST_VERSION,
|
||||
@@ -30,4 +45,5 @@ module.exports = {
|
||||
isWindows,
|
||||
isMac,
|
||||
isRoot,
|
||||
isSudo
|
||||
};
|
||||
|
||||
@@ -14,9 +14,11 @@ const {
|
||||
startedPath,
|
||||
extractPath,
|
||||
isWindows,
|
||||
isRoot,
|
||||
rootPath,
|
||||
sudoUser,
|
||||
isSudo,
|
||||
isMac,
|
||||
METEOR_LATEST_VERSION,
|
||||
} = require('./config.js');
|
||||
const { uninstall } = require('./uninstall');
|
||||
const {
|
||||
@@ -24,14 +26,32 @@ const {
|
||||
extractWith7Zip,
|
||||
extractWithNativeTar,
|
||||
} = require('./extract.js');
|
||||
const semver = require('semver');
|
||||
const isInstalledGlobally = process.env.npm_config_global === 'true';
|
||||
|
||||
if (!isInstalledGlobally) {
|
||||
console.error('******************************************');
|
||||
console.error(
|
||||
'You are not using a global npm context to install, you should never add meteor to your package.json.'
|
||||
);
|
||||
console.error('Make sure you pass -g to npm install.');
|
||||
console.error('Aborting');
|
||||
console.error('******************************************');
|
||||
process.exit(1);
|
||||
}
|
||||
process.on('unhandledRejection', err => {
|
||||
throw err;
|
||||
});
|
||||
|
||||
if (os.arch() !== 'x64') {
|
||||
console.error('The current architecture is not supported:', os.arch());
|
||||
process.exit(1);
|
||||
const isValidM1Version = semver.gte(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: ',
|
||||
os.arch(),
|
||||
'. Try Meteor 2.5.1-beta.3 or above.'
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
const downloadPlatform = {
|
||||
@@ -42,9 +62,29 @@ const downloadPlatform = {
|
||||
|
||||
const url = `https://packages.meteor.com/bootstrap-link?arch=os.${
|
||||
downloadPlatform[os.platform()]
|
||||
}.x86_64&release=${release}`;
|
||||
}.${os.arch() === 'arm64' ? 'arm64' : 'x86_64'}&release=${release}`;
|
||||
|
||||
const tempPath = tmp.dirSync().name;
|
||||
let tempDirObject;
|
||||
try {
|
||||
tempDirObject = tmp.dirSync();
|
||||
} catch (e) {
|
||||
console.error('');
|
||||
console.error('');
|
||||
console.error('****************************');
|
||||
console.error("Couldn't create tmp dir for extracting meteor.");
|
||||
console.error('There are 2 possible causes:');
|
||||
console.error(
|
||||
'\t1. You are running npm install -g meteor as root without passing the --unsafe-perm option. Please rerun with this option enabled.'
|
||||
);
|
||||
console.error(
|
||||
'\t2. You might not have enough space in disk or permission to create folders'
|
||||
);
|
||||
console.error('****************************');
|
||||
console.error('');
|
||||
console.error('');
|
||||
process.exit(1);
|
||||
}
|
||||
const tempPath = tempDirObject.name;
|
||||
const tarGzName = 'meteor.tar.gz';
|
||||
const tarName = 'meteor.tar';
|
||||
|
||||
@@ -58,7 +98,7 @@ if (fs.existsSync(startedPath)) {
|
||||
} else if (fs.existsSync(meteorPath)) {
|
||||
console.log('Meteor is already installed at', meteorPath);
|
||||
console.log(
|
||||
`If you want to reinstall it, run:
|
||||
`If you want to reinstall it, run:
|
||||
|
||||
$ meteor-installer uninstall
|
||||
$ meteor-installer install
|
||||
@@ -89,6 +129,7 @@ try {
|
||||
console.log('Assuming unable to create symlinks');
|
||||
}
|
||||
}
|
||||
|
||||
download();
|
||||
|
||||
function download() {
|
||||
@@ -210,38 +251,40 @@ async function setup() {
|
||||
}
|
||||
async function setupExecPath() {
|
||||
if (isWindows()) {
|
||||
//set for the current session and beyond
|
||||
child_process.execSync(`setx path "${meteorPath}/;%path%`);
|
||||
return;
|
||||
}
|
||||
const appendPathToFile = async (file) => {
|
||||
return fsPromises.appendFile(
|
||||
`${rootPath}/${file}`,
|
||||
`export PATH=${meteorPath}:$PATH\n`
|
||||
);
|
||||
const exportCommand = `export PATH=${meteorPath}:$PATH`;
|
||||
|
||||
}
|
||||
if(process.env.SHELL && process.env.SHELL.includes('zsh')){
|
||||
const appendPathToFile = async file => {
|
||||
return fsPromises.appendFile(`${rootPath}/${file}`, `${exportCommand}\n`);
|
||||
};
|
||||
|
||||
if (process.env.SHELL && process.env.SHELL.includes('zsh')) {
|
||||
await appendPathToFile('.zshrc');
|
||||
}else {
|
||||
} else {
|
||||
await appendPathToFile('.bashrc');
|
||||
await appendPathToFile('.bash_profile');
|
||||
}
|
||||
|
||||
if (!isRoot()) {
|
||||
return;
|
||||
if (isSudo()) {
|
||||
// if we identified sudo is being used, we need to change the ownership of the meteorpath folder
|
||||
child_process.execSync(`chown -R ${sudoUser} "${meteorPath}"`);
|
||||
}
|
||||
// if we identified sudo is being used, we need to change the ownership of the meteorpath folder
|
||||
child_process.execSync(`chown -R ${sudoUser} "${meteorPath}"`);
|
||||
}
|
||||
|
||||
function showGettingStarted() {
|
||||
const exportCommand = `export PATH=${meteorPath}:$PATH`;
|
||||
|
||||
const runCommand = isWindows()
|
||||
? `set path "${meteorPath}/;%path%`
|
||||
: exportCommand;
|
||||
const message = `
|
||||
***************************************
|
||||
|
||||
Meteor has been installed!
|
||||
|
||||
*You might need to open a new terminal windows to have access to the meteor command.*
|
||||
|
||||
To get started fast:
|
||||
|
||||
$ meteor create ~/my_cool_app
|
||||
@@ -256,6 +299,12 @@ Deploy and host your app with Cloud:
|
||||
|
||||
www.meteor.com/cloud
|
||||
|
||||
***************************************
|
||||
You might need to open a new terminal window to have access to the meteor command, or run this in your terminal:
|
||||
|
||||
${runCommand}
|
||||
|
||||
For adding it immediately to your path.
|
||||
***************************************
|
||||
`;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "meteor",
|
||||
"version": "2.5.0",
|
||||
"description": "Install Meteor on Windows",
|
||||
"version": "2.5.1",
|
||||
"description": "Install Meteor",
|
||||
"main": "install.js",
|
||||
"scripts": {
|
||||
"install": "node cli.js install"
|
||||
@@ -14,6 +14,7 @@
|
||||
"node-7z": "^2.0.5",
|
||||
"node-downloader-helper": "^1.0.11",
|
||||
"rimraf": "^3.0.2",
|
||||
"semver": "^7.3.5",
|
||||
"tar": "^6.1.0",
|
||||
"tmp": "^0.1.0"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
summary: 'No-password login/sign-up support for accounts',
|
||||
version: '1.0.0',
|
||||
version: '2.0.0',
|
||||
});
|
||||
|
||||
Package.onUse(api => {
|
||||
|
||||
@@ -34,14 +34,14 @@ const transformSelector = selector => {
|
||||
/**
|
||||
* @summary Log the user in with a one time token.
|
||||
* @locus Client
|
||||
* @param {Object} selector
|
||||
* @param {Object|String} selector Username, email or custom selector to identify the user.
|
||||
* @param {String} token one time token generated by the server
|
||||
* @param {Function} [callback] Optional callback.
|
||||
* Called with no arguments on success, or with a single `Error` argument
|
||||
* on failure.
|
||||
* @importFromPackage meteor
|
||||
*/
|
||||
Meteor.loginWithToken = (selector, token, callback) => {
|
||||
Meteor.passwordlessLoginWithToken = (selector, token, callback) => {
|
||||
Accounts.callLoginMethod({
|
||||
methodArguments: [
|
||||
{
|
||||
@@ -62,12 +62,10 @@ Meteor.loginWithToken = (selector, token, callback) => {
|
||||
/**
|
||||
* @summary Request a login token.
|
||||
* @locus Client
|
||||
* @param {Object} selector
|
||||
* @param {Object} userData
|
||||
* @param {Object} options
|
||||
* @param {String} options.selector The email address to get a token for or username or a mongo selector.
|
||||
* @param {String} options.userData When creating an user use this data if selector produces no result
|
||||
* @param {String} options.options For example userCreationDisabled.
|
||||
* @param {String} options.userData When creating a user use this data if selector produces no result.
|
||||
* @param {Object} options.options For example userCreationDisabled.
|
||||
* @param {Function} [callback] Optional callback. Called with no arguments on success, or with a single `Error` argument on failure.
|
||||
*/
|
||||
Accounts.requestLoginTokenForUser = (
|
||||
@@ -93,7 +91,7 @@ const checkToken = ({ selector, token }) => {
|
||||
const userId = Tracker.nonreactive(Meteor.userId);
|
||||
|
||||
if (!userId) {
|
||||
Meteor.loginWithToken(selector, token, () => {
|
||||
Meteor.passwordlessLoginWithToken(selector, token, () => {
|
||||
// Make it look clean by removing the authToken from the URL
|
||||
if (window.history) {
|
||||
const url = window.location.href.split('?')[0];
|
||||
|
||||
@@ -208,10 +208,11 @@ Meteor.methods({
|
||||
/**
|
||||
* @summary Send an email with a link the user can use to login with token.
|
||||
* @locus Server
|
||||
* @param {String} userId The id of the user to send email to.
|
||||
* @param {String} sequence The token to be provided
|
||||
* @param {String} email Which address of the user's to send the email to.
|
||||
* @param {Object} [extra] Optional. Extra properties
|
||||
* @param {Object} options
|
||||
* @param {String} options.userId The id of the user to send email to.
|
||||
* @param {String} options.sequence The token to be provided
|
||||
* @param {String} options.email Which address of the user's to send the email to.
|
||||
* @param {Object} options.extra Optional. Extra properties
|
||||
* @returns {Object} Object with {email, user, token, url, options} values.
|
||||
*/
|
||||
Accounts.sendLoginTokenEmail = ({ userId, sequence, email, extra = {} }) => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
summary: 'The Meteor command-line tool',
|
||||
version: '2.5.0',
|
||||
version: '2.5.1',
|
||||
});
|
||||
|
||||
Package.includeTool();
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
}
|
||||
},
|
||||
"terser": {
|
||||
"version": "5.8.0",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.8.0.tgz",
|
||||
"integrity": "sha512-f0JH+6yMpneYcRJN314lZrSwu9eKkUFEHLN/kNy8ceh8gaRiLgFPJqrB9HsXjhEGdv4e/ekjTOFxIlL6xlma8A=="
|
||||
"version": "5.9.0",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz",
|
||||
"integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ export const meteorJsMinify = function (source) {
|
||||
drop_debugger: false, // remove debugger; statements
|
||||
unused: false, // drop unreferenced functions and variables
|
||||
dead_code: true, // remove unreachable code
|
||||
evaluate: false, // work around issue in terser (possibly https://github.com/terser/terser/issues/837)
|
||||
typeofs: false, // set to false due to known issues in IE10
|
||||
global_defs: {
|
||||
"process.env.NODE_ENV": NODE_ENV
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
Package.describe({
|
||||
summary: "JavaScript minifier",
|
||||
version: "2.7.1"
|
||||
version: "2.7.2"
|
||||
});
|
||||
|
||||
Npm.depends({
|
||||
terser: "5.8.0"
|
||||
terser: "5.9.0"
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Package.describe({
|
||||
name: 'standard-minifier-js',
|
||||
version: '2.7.1',
|
||||
version: '2.7.2',
|
||||
summary: 'Standard javascript minifiers used with Meteor apps by default.',
|
||||
documentation: 'README.md',
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"track": "METEOR",
|
||||
"version": "2.5-rc.1",
|
||||
"version": "2.5.1-beta.3",
|
||||
"recommended": false,
|
||||
"official": false,
|
||||
"description": "Meteor experimental release"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"track": "METEOR",
|
||||
"version": "2.5",
|
||||
"version": "2.5.1",
|
||||
"recommended": false,
|
||||
"official": true,
|
||||
"description": "The Official Meteor Distribution"
|
||||
|
||||
@@ -12,6 +12,7 @@ NPM_VERSION=6.14.15
|
||||
|
||||
|
||||
if [ "$UNAME" == "Linux" ] ; then
|
||||
NODE_BUILD_NUMBER=
|
||||
if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then
|
||||
echo "Unsupported architecture: $ARCH"
|
||||
echo "Meteor only supports i686 and x86_64 for now."
|
||||
@@ -25,6 +26,7 @@ if [ "$UNAME" == "Linux" ] ; then
|
||||
}
|
||||
elif [ "$UNAME" == "Darwin" ] ; then
|
||||
if [ "$ARCH" != "arm64" ] ; then
|
||||
NODE_BUILD_NUMBER=
|
||||
SYSCTL_64BIT=$(sysctl -n hw.cpu64bit_capable 2>/dev/null || echo 0)
|
||||
if [ "$ARCH" == "i386" -a "1" != "$SYSCTL_64BIT" ] ; then
|
||||
# some older macos returns i386 but can run 64 bit binaries.
|
||||
|
||||
@@ -10,7 +10,7 @@ var packageJson = {
|
||||
dependencies: {
|
||||
// Keep the versions of these packages consistent with the versions
|
||||
// found in dev-bundle-tool-package.js.
|
||||
fibers: "5.0.0",
|
||||
fibers: "https://github.com/meteor/node-fibers/archive/refs/tags/5.0.0-1.tar.gz",
|
||||
"meteor-promise": "0.9.0",
|
||||
promise: "8.1.0",
|
||||
reify: "0.22.2",
|
||||
|
||||
@@ -19,7 +19,7 @@ var packageJson = {
|
||||
// Keep the versions of these packages consistent with the versions
|
||||
// found in dev-bundle-server-package.js.
|
||||
"meteor-promise": "0.9.0",
|
||||
fibers: "5.0.0",
|
||||
fibers: "https://github.com/meteor/node-fibers/archive/refs/tags/5.0.0-1.tar.gz",
|
||||
reify: "0.22.2",
|
||||
// So that Babel can emit require("@babel/runtime/helpers/...") calls.
|
||||
"@babel/runtime": "7.15.3",
|
||||
|
||||
@@ -541,6 +541,9 @@ Options:
|
||||
('galaxy.meteor.com'.env.MONGO_URL), when deploying, Galaxy will create
|
||||
a database to your app in its shared cluster and will insert the URL in
|
||||
your app's settings for you.
|
||||
--container-size With the argument `--container-size` you can change your app's
|
||||
container size using the deploy command. The valid arguments are: tiny,
|
||||
compact, standard, double, quad, octa, and dozen.
|
||||
|
||||
>>> authorized
|
||||
View or change authorized users and organizations for a site.
|
||||
|
||||
@@ -20,6 +20,12 @@ import { isEmacs } from "../utils/utils.js";
|
||||
|
||||
var main = exports;
|
||||
|
||||
if (process.platform === 'darwin' && process.arch === 'arm64') {
|
||||
// pool size needs to be bigger on m1 because arm64 builds are using
|
||||
// fibers with CORO_PTHREAD set. - default on fibers is 120
|
||||
Fiber.poolSize = 250;
|
||||
}
|
||||
|
||||
require('./flush-buffers-on-exit-in-windows.js');
|
||||
|
||||
// node (v8) defaults to only recording 10 lines of stack trace. This
|
||||
|
||||
@@ -164,7 +164,11 @@ export function host() {
|
||||
run('sysctl', '-n', 'hw.cpu64bit_capable') !== "1") {
|
||||
throw new Error("Only 64-bit Intel and M1 processors are supported on OS X");
|
||||
}
|
||||
_host = "os.osx.x86_64";
|
||||
if(arch === "arm"){
|
||||
_host = "os.osx.arm64";
|
||||
}else{
|
||||
_host = "os.osx.x86_64";
|
||||
}
|
||||
} else if (platform === "linux") {
|
||||
const machine = run('uname', '-m');
|
||||
if (["x86_64", "amd64", "ia64"].includes(machine)) {
|
||||
|
||||
Reference in New Issue
Block a user