Типы Typescript теперь не работают в Docker / CI после того, как ничего не изменилось - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть проект, построенный на Typescript и React с Node в бэкэнде.В CI образ Docker создается при каждом нажатии.Я не касался проекта в течение месяца или около того, и в последний раз я проверял, что все работает нормально.Я просто вернулся к нему и сделал небольшой коммит, и сборка прервалась в CI.Я проверил и нашел эту ошибку:

Type 'R & { api: Api; }' is not assignable to type 'IntrinsicAttributes & P & { children?: ReactNode; }'

, что относится к этому коду:

import * as React from 'react';
import {Subtract} from 'utility-types';
import Api from './model/api';

interface InjectedApiProps {
  api: Api;
}

const Context = React.createContext<Api>(undefined);

export const Provider = Context.Provider;
export const Consumer = Context.Consumer;

export const ApiContextWrapper = <P extends InjectedApiProps>
(Component: React.ComponentType<P>): React.ComponentType<Subtract<P, InjectedApiProps>> => (
  class ApiContextWrappedComponent extends React.Component<Subtract<P, InjectedApiProps>> {
    public render() {
      return (
        <Consumer>
          {(api) => (<Component api={api} {...this.props} {...this.state}/>)}
        </Consumer>
      );
    }
  }
);

В частности, он был брошен в эту строку:

{(api) => (<Component api={api} {...this.props} {...this.state}/>)}

Сначала я не совсем понял ошибку и предположил, что она как-то связана с тем, что я добавил, поэтому я отменил ее, но она все равно выдает ту же ошибку.После этого я перезапустил последнюю рабочую сборку за месяц назад, которая прошла изначально, и теперь она не работает.Я пытался построить Docker локально, та же ошибка.Но если я запускаю сборку локально вне Docker, тогда все собирается без ошибок.В случае, если это поможет, вот мой Dockerfile:

FROM node:10.3.0
EXPOSE 80
COPY ./ ./app
WORKDIR /app
RUN npm install
RUN npm run build-prod
# TODO - Enable npm module pruning
# RUN npm prune --production
CMD ["npm", "start"]

Также я работаю в Windows, версия узла 10.3.0 такая же, как в Docker, Typescript 3.2.2.Спасибо за любую помощь, спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...