Commit Graph

116 Commits

Author SHA1 Message Date
Sashko Stubailo
75a00fc279 Un-prerelease version numbers 2015-03-31 12:03:53 -07:00
Sashko Stubailo
fc92ea6858 Bump more versions 2015-03-25 16:21:39 -07:00
Sashko Stubailo
26c040179b Bump a bunch of versions to be the newest 2015-03-25 16:17:48 -07:00
Sashko Stubailo
aab90ea7c2 Merge branch 'windows-preview-0.2.1' into release-1.1
Conflicts:
	History.md
	packages/accounts-password/package.js
	packages/autoupdate/package.js
	packages/constraint-solver/package.js
	packages/less/package.js
	packages/meteor-tool/package.js
	packages/minifiers/package.js
	packages/observe-sequence/package.js
	packages/package-version-parser/package-version-parser.js
	packages/package-version-parser/package.js
	packages/templating/package.js
	packages/tracker/package.js
	scripts/admin/meteor-release-experimental.json
	tools/selftest.js
2015-03-20 17:52:29 -07:00
David Glasser
21bdac8734 Merge branch 'master' into devel
Conflicts:
	History.md
	packages/accounts-password/package.js
	packages/accounts-password/password_server.js
	packages/constraint-solver/package.js
	packages/meteor-tool/package.js
	packages/non-core/npm-bcrypt/package.js
	packages/package-version-parser/package-version-parser-tests.js
	packages/package-version-parser/package-version-parser.js
	packages/package-version-parser/package.js
	tools/selftest.js
2015-03-17 13:41:14 -07:00
David Glasser
4daaa76b12 METEOR@1.0.4 2015-03-17 13:06:07 -07:00
David Glasser
616649d492 1.0.4-rc.6 2015-03-17 12:22:32 -07:00
Sashko Stubailo
efdfe62331 Validate number of colons in package name on create
Instead of in the general package version parser
2015-03-17 10:56:33 -07:00
David Glasser
d770d81399 1.0.4-rc.4 2015-03-12 18:03:11 -07:00
Sashko Stubailo
c6ea68f9b3 Make meteor create --package not use prefix
It used to create a directory with an underscore instead of a colon
Now, it just removes the prefix.

In cases where the name of the package has more than one colon or starts or ends
witha colon, we report an error.
2015-03-12 17:57:27 -07:00
Sashko Stubailo
e946a798a1 Bump versions 2015-03-12 17:40:03 -07:00
Sashko Stubailo
cffd5cc78d Merge branch 'release-1.0.4' into windows-preview-0.2.1
Conflicts:
	History.md
	packages/accounts-password/password_server.js
	packages/constraint-solver/package.js
	packages/meteor-tool/package.js
	packages/package-version-parser/package-version-parser.js
	packages/package-version-parser/package.js
	tools/selftest.js
2015-03-12 16:56:11 -07:00
David Glasser
7ffc3a44b0 1.0.4-rc.3 2015-03-10 22:00:24 -07:00
David Greenspan
070ca69f9a Validate package names more strictly
In particular, ban leading `-`, trailing `.`, and `..` anywhere.

This backport commit drops the changes to constraint-solver and adds a
History.md note.
2015-03-10 15:20:36 -07:00
David Greenspan
08bc9ab002 Nicer errors when tool encounters bad package name
Verified manually that `meteor update asdf.` displays an error,
not a stack trace.

Include the offending name in all error messages (as we do for
invalid versions).
2015-03-10 13:58:27 -07:00
David Greenspan
f51a033e73 Validate package names more strictly
In particular, ban leading `-`, trailing `.`, and `..` anywhere.
2015-03-10 13:47:14 -07:00
David Glasser
af0469da35 Bump other packages to -rc.0 2015-03-05 22:54:07 -08:00
Sashko Stubailo
d1fb199435 Bump version number problems caught by new command 2015-03-04 11:40:39 -08:00
David Greenspan
050fae168f Merge remote-tracking branch 'origin/devel' into use-logic-solver 2015-03-02 19:17:40 -08:00
David Greenspan
61f746989b Bump versions for new-version-solver-2 2015-02-09 21:57:39 -08:00
David Greenspan
0cef7aef20 Version bumps for release new-version-solver-1 2015-02-09 21:16:25 -08:00
Sashko Stubailo
f29c954458 Bump a bunch of version numbers for new preview 2015-02-09 13:23:24 -08:00
Sashko Stubailo
a75cae93ed Merge branch 'devel' into windows-r
Conflicts:
	packages/package-version-parser/package.js
	tools/bundler.js
	tools/server/boot.js
2015-02-04 15:50:31 -08:00
Sashko Stubailo
486495aed8 Remove documentation: null 2015-02-04 14:41:12 -08:00
Sashko Stubailo
e0c24cf7e4 Reapply PVP fix that we lost in merge from devel 2015-02-04 14:33:08 -08:00
Sashko Stubailo
b3cb7a49f7 Merge branch 'devel' into windows-cr
Conflicts:
	packages/application-configuration/package.js
	packages/ctl-helper/package.js
	packages/ctl/package.js
	packages/dev-bundle-fetcher/package.js
	packages/follower-livedata/package.js
	packages/jquery/package.js
	packages/star-translate/package.js
	packages/test-in-browser/package.js
	tools/bundler.js
	tools/compiler.js
	tools/package-client.js
	tools/package-source.js
	tools/package-version-parser.js
	tools/server/boot.js
2015-02-04 13:56:54 -08:00
David Greenspan
45752e3203 parseConstraint -> parsePackageConstraint
In the return value, `name` has been changed to `package`,
and `vConstraint` is now `versionConstraint`.

`constraint.package` is better than `constraint.name`, where
`constraint` is a PackageConstraint.  It's also more consistent
with functions like parsePackageAtVersion which return an object
like `{package, version}`.

`vConstraint` was too cryptic.

Changes were discussed with Glasser in a code review.

Troposphere does not call parseConstraint or work with constraint
objects, so it doesn't need to change.

This is a breaking change to the package-version-parser API (or one
method of it, at least), but it is considered an internal API so we
are not worrying too much about it.
2015-02-02 13:13:31 -08:00
Sashko Stubailo
000467711b Bump package versions 2015-01-29 17:36:04 -08:00
David Greenspan
361a80c243 Changes from Glasser code review
Includes all discussed changes except:
- Checking for troposphere PVP compatibility
- "vConstraint" -> "versionConstraint"
- "name" -> "package" in utils.parsePackageAtVersion
2015-01-28 16:45:01 -08:00
Sashko Stubailo
f428b55e20 Stop having a copy of pvp 2015-01-22 16:12:07 -08:00
Slava Kim
27f249bfed A lot of crazy package bumps 2015-01-21 14:03:55 -08:00
Sashko Stubailo
4e867aa919 No documentation 2015-01-20 22:34:25 -08:00
Sashko Stubailo
c37342d504 Bump a bunch of package versions 2015-01-20 22:34:24 -08:00
Sashko Stubailo
8b36243375 Update package version parser 2015-01-20 22:34:19 -08:00
Slava Kim
219357098a Temporarily copy-paste version-parser 2015-01-20 22:03:24 -08:00
Slava Kim
9db7c37737 Bad code: copy paste package-version-parser.js
The symlinks don't work that well on Windows.
This will require some other workaround.
2015-01-20 22:03:23 -08:00
ekatek
27f7daa7f8 Merge branch 'master' into devel 2015-01-20 18:03:40 -08:00
ekatek
c5bc843816 bring README.md files up to 1.0.3 compatibility
Fill in all packages without README.md files with a short
README.md mentioning that this is an internal Meteor package.

Break up the top paragraph of a couple of existing README.md
files to be proper long description.

There is more work to do here, involving line wrapping and the like.
2015-01-20 12:21:35 -08:00
ekatek
99124d881a increment package versions 2015-01-20 10:25:22 -08:00
David Greenspan
c71e495e10 Only test constraint-solver and PVP on server
You can still include them on the client, but they don’t work in
Safari 4 and IE 8 because semver.js uses ES 5 methods including
String#trim, Array#map/filter/forEach, and possibly others.

This should fix any unit test failures in these packages.
2015-01-15 22:15:23 -05:00
ekatek
4c42a87721 increment versions 2015-01-13 19:32:42 -08:00
ekatek
40fa95830f increment version numbers 2015-01-13 19:30:27 -08:00
David Greenspan
9d9dec602f Use the CatalogLoader in PackageResolver
PackageResolver no longer loads data from the Catalog.  Instead, it
tells CatalogLoader what to load, and it sets up the Resolver based
on what it finds in the CatalogCache.

PackageResolver now creates the Resolver inside resolve(…).  If the tool
were to invoke resolve(…) multiple times on the same PackageResolver
(which it doesn’t at the moment), the CatalogCache would persist, but
not the Resolver.  (Note that PackageResolver#resolve makes multiple
calls to the same Resolver#resolve internally.)

The purpose of this change is to stop using Resolver to store the
dependency graph.  Resolver will be replaced with a logic-solver-based
implementation that will not represent the graph as is, but instead
encode the graph as a satisfiability problem.  Meanwhile, CatalogCache
is better at storing the graph than Resolver was, because it is easy
to populate, query, and serialize.

This change brings us back to a functional “devel”.
2015-01-09 10:26:06 -08:00
David Greenspan
10698d5940 PackageConstraint has a toString() 2015-01-08 13:46:59 -08:00
David Greenspan
fe8a661e2f PackageConstraint can take a VersionConstraint
also, versionConstraint.raw is always a String
2015-01-08 13:38:17 -08:00
David Greenspan
e885e78348 Change the format returned by PVP.parseConstraint
This is a breaking change to package-version-parser.

A PackageConstraint used to look like this:

```
{ name: String,
  constraintString: String,
  constraints: [{version: String|null,
                 type: String}]}
```

Now it looks like this:
```
{ name: String,
  constraintString: String,
  vConstraint: {
    raw: String,
    alternatives: [{versionString: String|null,
                    type: String}]}}
```

Where (vConstraint instanceof VersionConstraint) and
(vConstraint.raw === constraintString).

This achieves several desirable changes at once.

* `constraint.constraints` for the disjuncts in “1.0.0||2.0.0”
  was confusing.  `alternatives` is better.
* Having a class for VersionConstraint will come in handy because
  we can add methods to it, and we can use it in the constraint
  solver to represent the problem statement.
* The names “vConstraint” and “versionString” are a little verbose,
  but there really shouldn’t be a lot of code that dives into this
  structure, and I really wanted to avoid anyone ever writing:
  `constraint.constraint.alternatives[0].version`, and then wondering
  what sort of object that was (not a parsed PackageVersion! we could
  parse eagerly but that might be slow).
2015-01-07 20:10:44 -08:00
David Greenspan
f51afe18f0 Ban constraints like foo@||
Clean up parseSimpleConstraint
2015-01-07 19:27:09 -08:00
David Greenspan
184ab3bde1 PV.parseConstraint returns a PackageConstraint
Mostly I just made parseConstraint clearer and gave the return value a
prototype.

There are new unit tests, and the existing ones have been given much
better names.

PV.parseConstraint also now optionally takes two arguments, a package name and a version constraint.  We can eventually propagate this feature to the tool and stop concatenating with “@” so much.

I’m referring to “foo@=1.0.0” as a PackageConstraint and “=1.0.0” as a version constraint.  I’ll probably add a VersionConstraint class too.
2015-01-07 19:04:55 -08:00
David Greenspan
9b6087a099 PVP: Add a test 2015-01-07 15:40:38 -08:00
David Greenspan
259f90bc5a Make PVP able to parse a version (and work on client)
Despite the name “package-version-parser,” PVP didn’t really provide a way to parse a package version.  With this change, if you want to get the minor version of “1.2.3_4”, for example, you can just write `PV.parse(“1.2.3_4”).minor`.  This simplifies the internals of PVP as well.

When you parse a version, you now get an instance of PackageVersion with a documented set of fields.

Also, make PVP work on the client.  When called directly from the tool, semver is loaded the same way as before.  When PVP is used as a package, it uses a copy of semver v4.1.0 kept inside the package.

This change is intended to be 100% behavior-preserving.
2015-01-07 15:17:30 -08:00