Commit Graph

65 Commits

Author SHA1 Message Date
Jan Dvorak
b6e127cfc9 Minor tools update
Replace underscore where easy and feasible & other minor modernization that I came across.
2021-06-25 00:36:03 +02:00
Jan Dvorak
de5725e283 Deprecation warnings for meteor show 2021-06-24 18:20:36 +02:00
Renan Castro
31e7cf96fb Inline KNOWN_ISOBUILD_FEATURE_PACKAGES constant. On node 14, we faced an issue while importing this constant, probably related to changes on ES6 implementation in this version. See the changelog here: https://nodejs.org/en/blog/release/v14.0.0/#notable-changes - documentation to avoid errors 2021-05-19 18:28:17 -03:00
Renan Castro
d6aeaf391d Inline KNOWN_ISOBUILD_FEATURE_PACKAGES constant. On node 14, we faced an issue while importing this constant, probably related to changes on ES6 implementation in this version. See the changelog here: https://nodejs.org/en/blog/release/v14.0.0/#notable-changes 2021-05-19 17:56:38 -03:00
Renan Castro
685e321fac User commonjs export 2021-05-19 11:01:00 -03:00
filipenevola
317a8f397e Deprecation flag for packages
- loading fields to local catalog
- sending new fields to Troposphere
2021-03-31 12:09:00 -04:00
Jan Dvorak
ae97171daf Start work on deprecation flag for packages 2020-09-06 17:07:59 +02:00
Ben Newman
d274d8d7ef Work around bizarre SQLite dynamic type conversion behavior.
SQLite has a worse-is-better philosophy about automatically converting
between different data types, such as strings and floating point numbers:
https://www.sqlite.org/quirks.html#flexible_typing

This means querying for the string "1.10" in a given column can return
rows where the column is actually the string "1.1", since SQLite imagines
you might be talking about the number 1.1, rather than the string you
actually requested.

This "feature" became a problem for Meteor after we published Meteor 1.10,
which caused SQLite to return multiple rows for the getReleaseVersion
query, including both Meteor 1.10 and Meteor 1.1 (which is ancient, from
March 2015).

While this behavior seems completely indefensible, the SQLite
documentation clearly does not consider it a bug, which forces us to work
around the consequences by double-checking the queried results with the
filterExactRows helper function.
2020-03-12 18:07:39 -04:00
Paulo Mogollón
2ae2690f3a Convert tools/utils/archinfo.js to TypeScript. (#10624)
* Updated code to use modern JS
* Added types
* Stopped using 2 underscore functions (1 remaining)
2019-07-21 12:01:24 -04:00
Ben Newman
769337551e Convert tools/tool-env/profile.js to TypeScript.
Unfortunately, this conversion triggered an error due to one of the
shortcomings of the Babel implementation of TypeScript:

SyntaxError: /tools/tool-env/profile.ts: Namespace not marked type-only declare. Non-declarative namespaces are only supported experimentally in Babel. To enable and review caveats see: https://babeljs.io/docs/en/babel-plugin-transform-typescript
  278 | }
  279 |
> 280 | export namespace Profile {
      |                  ^
  281 |   export let enabled = !! process.env.METEOR_PROFILE;
  282 |
  283 |   export function time<TResult>(bucket: string, f: () => TResult) {
    at File.buildCodeFrameError (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/core/lib/transformation/file/file.js:261:12)
    at transpileNamespace (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/plugin-transform-typescript/lib/namespace.js:25:25)
    at PluginPass.TSModuleDeclaration (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/plugin-transform-typescript/lib/index.js:271:32)
    at newFn (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/visitors.js:193:21)
    at NodePath._call (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/path/context.js:53:20)
    at NodePath.call (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/path/context.js:40:17)
    at NodePath.visit (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/path/context.js:88:12)
    at TraversalContext.visitQueue (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/context.js:118:16)
    at TraversalContext.visitMultiple (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/context.js:85:17)
    at TraversalContext.visit (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/context.js:144:19)
2019-07-06 09:18:35 -04:00
Ben Newman
8958cbc5e9 Convert tools/fs/watch.js to TypeScript. 2019-07-05 17:50:20 -04:00
Ben Newman
528b549460 Convert tools/fs/optimistic.js to TypeScript. 2019-07-05 12:29:19 -04:00
Ben Newman
5ed64fb1db Remove explicit .js extension from tools/fs/files imports. 2019-07-04 10:32:09 -04:00
Ben Newman
e2f7754b9b Disable SQLite journal_mode=TRUNCATE to fix #9703.
https://github.com/meteor/meteor/issues/9703#issuecomment-383620007

We will reconsider this change in Meteor 1.7.1, but in the meantime the
METEOR_SQLITE_JOURNAL_MODE environment variable can be used to override
the default journal mode (WAL).

cc @brucejo75
2018-04-24 12:35:26 -04:00
Ben Newman
e1e2c2b490 Terminate SQLite database connection before springboarding.
https://github.com/meteor/meteor/issues/9703#issuecomment-383620007
2018-04-24 11:37:33 -04:00
Bruce Johnson
e34c72f665 TRUNCATE journal mode for packaging DB on Windows like file systems 2018-02-06 08:24:44 -08:00
Ben Newman
e9db660d03 Allow 64-bit Windows builds of meteor-tool to download 32-bit builds.
Once Windows developers update to a 64-bit version of Meteor 1.6, they may
still wish to run apps using older versions of Meteor where only 32-bit
builds of meteor-tool are available. This commit makes that possible.
2017-10-15 19:32:18 -04:00
Hugh Willson
9a1f91843e Add Tool support for both 32 bit (3.2) and 64 bit (3.4) Mongo
These changes introduce dual Mongo support into the Meteor
Tool. 32-bit Mongo (3.2.15) will be used by Meteor when the
Tool is run on a 32-bit OS (32-bit Linux and Windows). 64-bit
Mongo (3.4.9) will be used when the Tool is run on a 64-bit
OS (64-bit Linux, Windows and macOS).

Fixes https://github.com/meteor/meteor-feature-requests/issues/129.
2017-10-14 13:36:29 -04:00
Ben Newman
6418026e15 Update all new Buffer usage to Buffer.from for Node 6+.
https://github.com/nodejs/node/wiki/Breaking-changes-between-v5-and-v6
2017-06-05 18:16:03 -04:00
Ben Newman
b18b1e2755 Force garbage collection more aggressively during package DB sync.
This is an effort to keep the `meteor --get-ready` command from running
out of memory during Circle CI tests, as mentioned in this comment:
https://github.com/meteor/meteor/pull/8327#issuecomment-284431618
2017-03-06 20:34:56 -05:00
Lucas Hansen
f143683493 Replace forkJoin with enterJob to avoid fiber issues 2016-10-25 21:06:17 -07:00
Ben Newman
2a14061c6e Merge pull request #7919 from abernix/feature/c9s-package-dir-rename
Add METEOR_PACKAGE_DIRS support and deprecate PACKAGE_DIRS.
2016-10-17 09:50:12 -04:00
Jesse Rosenberger
815e32e68b Add METEOR_PACKAGE_DIRS support and deprecate PACKAGE_DIRS
This is a refactor/finishing-move of @c9s's original PR meteor/meteor#7586.

This maintains backward compatibility with PACKAGE_DIRS using the original separator that it expected (':').  Users of the new METEOR_PACKAGE_DIRS variable should use the correct path separator for their platform (`:` on BSD/Linux and `;` on Windows).

Fixes meteor/meteor#7585
Fixes meteor/meteor#4204
2016-10-13 14:26:23 +03:00
c9s
3c5059b72a Add METEOR_PACKAGE_DIRS support
- Use path.delimiter to support windows platform
- Add console.warn message when PACAKGE_DIRS is defined
2016-10-12 18:52:58 +03:00
Ben Newman
a1cfbc7ab2 Add profiling and use optimistic functions in LocalCatalog. 2016-10-07 19:31:07 -04:00
Ben Newman
3557d31347 Give POSIX paths without drive letters to glob on Windows. 2016-09-13 15:23:11 -04:00
Ben Newman
a6b42cc418 Make includeNonCore true by default in getAllNonTestPackageNames. 2016-09-13 13:58:43 -04:00
Ben Newman
4abaa5eb20 Exclude non-core packages from localCatalog.getAllNonTestPackageNames.
This should prevent `meteor admin publish-release` from unnecessarily
checking the consistency of non-core packages.
2016-09-13 13:09:05 -04:00
Ben Newman
3fce5e6f93 Accept glob patterns for local package search directories. 2016-09-09 13:28:16 -04:00
Ben Newman
e4e87ecce4 Don't touch ~/.meteor/meteor after background updates. (#7616) 2016-08-10 16:53:56 -04:00
Ben Newman
536eecea01 Log package extraction and loading separately from downloading.
https://github.com/meteor/meteor/pull/7457#issuecomment-235881746

Helps with #7283.
2016-07-28 14:46:49 -04:00
Ben Newman
2c67d64585 Use getUrlWithResuming in downloadPackagesToWarehouse. 2016-07-28 14:43:47 -04:00
Zoltan Olah
720c8cdd5f Merge pull request #7373 from meteor/laosb-override-warehouse-base-url
Ability to override the default warehouse url base
2016-07-26 15:13:00 -07:00
Tom Coleman
cc07c15b6b First pass at request resuming via buffering the range header
This is still a WIP, but I wanted to get feedback at this point.
Will update the PR with outstanding TODOs.
2016-07-14 11:47:30 -04:00
Wexpo Lyu
a8b8038d95 Ability to override the default warehouse url base
Hope this one does override!
2016-07-09 16:17:45 +08:00
Ben Newman
e2dbb6093e Always call updateMeteorToolSymlink after successful update.
https://github.com/meteor/meteor/pull/7340#issuecomment-231254368
2016-07-08 13:44:04 -04:00
Ben Newman
303df5351d Merge branch 'devel' into release-1.3.3 2016-05-19 18:34:20 -04:00
Ben Newman
f6b75305b3 Pay attention to unibuild.arch when determining usesModules.
Fixes #6877.
2016-05-17 14:27:56 -04:00
Ben Newman
861880b882 Rebuild binary npm packages whenever process.versions differs.
Recording process.versions allows us to be much more aggressive about
rebuilding binary dependencies whenever the version of Node/V8 might have
changed, even if the package was not just downloaded.
2016-05-16 18:21:12 -04:00
Ben Newman
d94e7d812d Upgrade dev bundle meteor-promise to 0.7.1. 2016-05-16 18:21:11 -04:00
Ben Newman
ff621a88fe Rebuild non-portable Meteor packages when downloaded.
Together with c18c1f5278, this commit is a
big step towards liberating Meteor from Node 0.10.

Part of #5124.
2016-05-16 18:21:07 -04:00
Wexpo Lyu
e4355b3d09 Ability to override the default warehouse url base
Use `METEOR_WAREHOUSE_URLBASE` to do so.
2016-05-14 08:19:51 +08:00
Ben Newman
a847988be7 Omit lazy resources from unibuild JSON files when not using modules.
Fixes #6618.
Fixes #6484.
2016-03-31 20:09:53 -04:00
Ben Newman
3f3222938b Make bundleSource file copying more robust.
When we call readAndWatchFileWithHash, if the file does not exist, we
still want to add it to the watchSet with a null hash. Later, however, we
have to be careful we do not assume every file in watchSet.files exists.
2016-03-14 23:21:22 -04:00
Avital Oliver
a335875e19 Merge remote-tracking branch 'origin/release-1.3' into app-tests 2016-02-05 14:57:44 -08:00
David Greenspan
6acaa57398 Hook "Updating package catalog" for profiling 2016-02-05 10:04:42 -08:00
David Greenspan
601cfbcebd Don't re-parse versions during sorting; profiling
- We don't want to do a bunch of parsing *per comparison* when sorting
  a list of package version strings.  package-version-parser's `compare`
  (and server's `compare`, which it uses) both accept either a string
  or a parsed record.  By parsing explicitly with memoization, we avoid
  a super-linear blow-up in the amount of parsing.  This'll save someone
  half a second, at least.
- Adjust profiling hooks and messages
- Expose `Profile` to isopackets
2016-02-05 10:04:31 -08:00
Avital Oliver
6682972c3a Implement "testOnly" packages
These packages are only bundled with the app when running
`meteor test-app`.
2016-02-01 22:18:00 -08:00
Ben Newman
8b71f9986c Eliminate Future from tools/package-client.js. 2015-12-09 12:06:50 -05:00
Ben Newman
7ac15ca0b5 Eliminate Future from tools/catalog-remote.js. 2015-12-09 12:06:46 -05:00