Package dependency error

Hey there!

I’m just starting a new app using a package-only structure. I have one package a which should be used by package b. When I have package a and b in my packages file, everything works just fine.

Package A:

Package.describe({
  summary: 'Package A',
  version: '0.0.1'
});

Package.onUse(function (api) {
  c = 'client';
  s = 'server';

  // Meteor Dependencies
  var meteorDependencies = [
    'coffeescript',
    'meteor-platform'
  ];

  api.use(meteorDependencies);
  api.imply(meteorDependencies);
});

Package B:

Package.describe({
  summary: 'Package B',
  version: '0.0.1'
});

Package.onUse(function (api) {
  c = 'client';
  s = 'server';

  // App Dependencies
  var appDependencies = [
    'package-a'
  ];

  api.use(appDependencies);
});

Packages:

package-a
package-b

However, when I remove package a, I get this ugly error:

Exception from sub meteor_autoupdate_clientVersions id hfKZopKiJpn4Kaq9X ReferenceError: Match is not defined
at [object Object].Meteor.publish.is_auto [as _handler] (packages/autoupdate/autoupdate_server.js:148:1)
at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1617:1)
at [object Object]._.extend._runHandler (packages/ddp/livedata_server.js:950:1)
at [object Object]._.extend._startSubscription (packages/ddp/livedata_server.js:769:1)
at [object Object]._.extend.protocol_handlers.sub (packages/ddp/livedata_server.js:582:1)
at packages/ddp/livedata_server.js:546:1

In my opinion, things should still work. What’s wrong here?
(The code I posted is all of my code so far. So I can’t be something else causing the error here)

Because within package a, you are implying meteor-platform which itself implyes check which exports Match

So by removing package a, you also remove the dependency to Match

1 Like