aurelia / validatejs

Enables expressive validation using decorators and/or a fluent API.
MIT License
22 stars 23 forks source link

What does this (alpha) work with? WebPack, JSPM, ES6, TS? Dependancies? #88

Closed y2k4life closed 8 years ago

y2k4life commented 8 years ago

This is a specific issue and a broader issue working with Aurelia.

I find this to be a common issue. Not only with this release and module but with other modules as well. When an updated is published nothing states what is required to get it to work or what it works with. Or what it was tested with.

Was this update tested against WebPack, JSPM, ES6, and/or TS? What other Aurelia-* modules was it tested with?

I know it is alpha but it should work with something, what I don't know? And because there are lots of different combinations, the one it works with is not stated.

I decided I would give the alpha a try. I have WebPack with TS. and I'm using Aurelia-* version ^1.0.0-beta.1.x.x

Do I meet the requirements? Because it is not stated I figure I would give it a try. In addition the samples in the project are not updated to quantify my assumptions. After trying and fighting I figured not because of the errors I get. I figured my environment is not supported.

Here is what I did and I know I should have stopped at the first error, but I need validation desperately, my project is almost live and the one thing missing, validation.

After a npm run dev I get the following

aurelia-validatejs.d.ts
Cannot find module 'validate.js'

I comment out import validate from 'validate.js';

I also get these errors which I'm guess are members in a -beta.2.x.x release?

aurelia-validation.d.ts
Module ''aurelia-binding'' has no exported member 'AccessMember'
Module ''aurelia-binding'' has no exported member 'AccessScope'.
Module ''aurelia-binding'' has no exported member 'AccessKeyed'.

I make theses changes to the .d.ts file

import {
//  AccessMember,
//  AccessScope,
//  AccessKeyed,
  BindingBehavior,
  ValueConverter,
  bindingMode
} from 'aurelia-binding';

Making progress.

Then I paste this into a test module.

import {inject, NewInstance} from 'aurelia-dependency-injection';

And I get Moduel "Aurelia-dependency-injection" has no exported member 'NewInstance'.

Which again I assume is in a -beta.2.x.x release?

I'm also assuming some code is missing in the blog post about plugins? If I add this

    aurelia.use
        .standardConfiguration()
        .developmentLogging()
        .plugin('aurelia-validatejs')
        .plugin('aurelia-validation');

I get this Cannot find module './aurelia-validation/validate-binding-behavior'.

jdanyow commented 8 years ago
EisenbergEffect commented 8 years ago

We are happy to add a "fake" d.ts for validatejs if that helps out going forward.

y2k4life commented 8 years ago

Or as I did and did with the previous version just remove the import validate from 'validate.js'; it works without it.

Thanks for the update and as I can see it is what I suspected, version mismatch and an unsupported platform, or not tested platform.

I don't know how this can be communicated, maybe on the release page? It should be stated that this works/tested with requiresj+bable and jspm+bable. It is was not tested with WebPack and it was not tested with TypeScript. It should also be stated that this will only work with -beta.2.x.x.