Open bryndyment opened 7 years ago
This is the first problem I ran into.
I don't think I deviated from the script, but will check some more.
If I remove "&& flow" from "yarn test", I get:
acme:scratch bryn$ yarn start yarn start v0.24.5 $ babel-node src /Users/bryn/scratch/src/index.js:7 var toby = new Dog('Toby'); ^
TypeError: Dog is not a constructor
at Object.
Keep flow in your yarn test section. To get rid of the first bug add your .flowconfig file this block:
[ignore]
.*/node_modules/eslint-plugin-jsx-a11y/*
Do not add whole node_modules directory since it causes some other flow check errors.
Should this be reported to the eslint plugin?
@bryndyment I put in a PR to fix this, if you want to review it and thumbs up it! https://github.com/verekia/js-stack-from-scratch/pull/244
Type of issue: bug
Chapter: 2
If it's a bug:
$ yarn test yarn test v0.24.5 $ eslint src && flow node_modules/eslint-plugin-jsx-a11y/src/rules/media-has-caption.js:53 v-------------------------------------- 53: const trackChildren: Array = node.children.filter((child: Node) => {
54: if (child.type !== 'JSXElement') {
55: return false;
...:
60: });
-^ call of method = node.children.filter((child: Node) => {
^^^^^^^^^^^^^^^^^^^^ intersection
Member 1:
231: filter(callbackfn: typeof Boolean): Array<$NonMaybeType>;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function type. See lib: /private/tmp/flow/flowlib_8895270/core.js:231
Error:
v-----------------
53: const trackChildren: Array = node.children.filter((child: Node) => {
54: if (child.type !== 'JSXElement') {
55: return false;
...:
60: });
^ statics of function. This type is incompatible with
v----------------------
106: declare class Boolean {
107: constructor(value?: mixed): void;
108: static (value:any):boolean;
...:
111: }
^ statics of Boolean. See lib: /private/tmp/flow/flowlib_8895270/core.js:106
Member 2:
232: filter(callbackfn: (value: T, index: number, array: Array) => any, thisArg?: any): Array;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function type. See lib: /private/tmp/flow/flowlib_8895270/core.js:232
Error:
4924: children: Array;
^^^^ object type. This type is incompatible with the expected param type of. See: node_modules/ast-types-flow/lib/types.js:4924
53: const trackChildren: Array = node.children.filter((child: Node) => {
^^^^ Node
filter
. Function cannot be called on any member of intersection type 53: const trackChildren: Arraynode_modules/eslint-plugin-jsx-a11y/src/rules/media-has-caption.js:59 59: return isTrackType(context, elementType(child.openingElement)); ^^^^^^^^^^^^^^ property
openingElement
. Property not found in 59: return isTrackType(context, elementType(child.openingElement)); ^^^^^ Nodesrc/index.js:7 7: const toby = new Dog('Toby') ^^^^^^^^^^^^^^^ constructor call. Constructor cannot be called on 7: const toby = new Dog('Toby') ^^^ CommonJS exports of "./dog"
Found 3 errors error Command failed with exit code 2.