Я пытаюсь проверить некоторые определения машинописи, которые я сделал для проекта узла, у которого их нет.Они уже работают, когда я включаю их в свой проект, который использует проект целевого узла, или когда я делаю свою собственную папку в node_modules/@types/
и помещаю их туда (node_modules/@types/chrome-aws-lambda/index.d.ts
).Это использует узел 8.10, npm 5.6 и машинописный текст 3.1
Однако я разветвлял репозиторий для модуля от github и надеюсь включить его в проект, чтобы другие могли его использовать.Чтобы это произошло, я отредактировал разветвленный проект package.json
, указав types
на source/index.d.ts
, который находится рядом с файлом main
, source/index.js
.Затем в моем проекте я связываю его, используя npm link ../chrome-aws-lambda
.
Это не работает.Когда я запускаю tsc
, он не может найти модуль, который говорит.error TS2307: Cannot find module 'chrome-aws-lambda'
Когда я запускаю его с --traceResolution
, даже не похоже, что он пытается его найти.
Я подумал, что это может быть связано с тем, что пакет на самом деле не «установлен», поэтому я попытался просто скопировать каталог проекта в node_modules
вместо того, чтобы связать его.Я также подумал, что, возможно, что-то не работает, и машинопись не читает поле types
в package.json
, поэтому я поместил его в корень, так как это значение по умолчанию.Я подумал, что, возможно, он не был включен, и поэтому добавил его в часть include моего .tsconfig
.Я попытался изменить свои baseUrl
, paths
, typeRoots
и moduleResolution
в файле конфигурации.
Ничего из этого не работает.
Я не хочу подавать PR, не зная, работает он или нет.У кого-нибудь есть какие-либо подсказки относительно того, что делать здесь?Я с удовольствием добавлю любую необходимую информацию, пожалуйста, просто дайте мне знать!Я включил index.d.ts
, а также оператор импорта ниже, на случай, если я просто сделаю что-то глупое.
Спасибо!
index.d.ts:
declare module 'chrome-aws-lambda' {
import * as Puppeteer from 'puppeteer';
export default class Chromium {
static args : Array<string>;
static defaultViewport : {
width : number,
height : number,
deviceScaleFactor : number,
isMobile : boolean,
hasTouch : boolean,
isLandscape : boolean
};
static executablePath : Promise<string>;
static headless : boolean;
static puppeteer : typeof Puppeteer;
}
}
, а также рассматриваемый оператор импорта:
import Chromium from 'chrome-aws-lambda';