Typescript сборка webpack

Я хочу собрать официальное sdk для торговли Тинькофф Инвестициями в обычный js файл https://github.com/TinkoffCreditSystems/invest-openapi-js-sdk вот ссылка на SDK.

Я сделал следующее: обернул код в index.ts в класс, который хочу экспортировать

import OpenAPI, { MarketInstrument } from "@tinkoff/invest-openapi-js-sdk";

class autoTrade {
  start() {
    const apiURL = "https://api-invest.tinkoff.ru/openapi";
    const sandboxApiURL = "https://api-invest.tinkoff.ru/openapi/sandbox/";
    const socketURL = "wss://api-invest.tinkoff.ru/openapi/md/v1/md-openapi/ws";
    const secretToken = process.env.TOKEN; // токен для боевого api
    const sandboxToken = ""; // токен для сандбокса// токен для сандбокса
    const api = new OpenAPI({ apiURL: sandboxApiURL, secretToken: sandboxToken as string, socketURL });
    !(async function run() {
      await api.sandboxClear();

      const marketInstrument = (await api.searchOne({ ticker: "AAPL" })) as MarketInstrument;
      const { figi } = marketInstrument;
      console.log(await api.setCurrenciesBalance({ currency: "USD", balance: 1000 })); // 1000$ на счет
      console.log(await api.portfolioCurrencies());
      console.log(await api.instrumentPortfolio({ figi })); // В портфеле ничего нет
      console.log(await api.limitOrder({ operation: "Buy", figi, lots: 1, price: 100 })); // Покупаем AAPL
      console.log(await api.instrumentPortfolio({ figi })); // Сделка прошла моментально
      console.log(await api.orderbookGet({ figi })); // получаем стакан по AAPL

      console.log(
        await api.candlesGet({
          from: "2019-08-19T18:38:33.131642+03:00",
          to: "2019-08-19T18:48:33.131642+03:00",
          figi,
          interval: "1min",
        }) // Получаем свечи за конкретный промежуток времени.
      );

      api.orderbook({ figi, depth: 10 }, (x) => {
        console.log(x.bids);
      });
      api.candle({ figi }, (x) => {
        console.log(x.h);
      });
    })();
  }
}

export default autoTrade;

После создал webpack config со следующим содержимым:

const path = require("path");

module.exports = {
  entry: "./index.ts",
  output: {
    filename: "autoTrade.js",
    path: path.resolve(__dirname, "dist"),
    library: "autoTrade",
    libraryTarget: "umd",
    libraryExport: "default",
  },
  // Включить карты кода для отладки вывода webpack
  devtool: "source-map",

  resolve: {
    // Добавить разрешения '.ts' и '.tsx' к обрабатываемым
    extensions: [".webpack.js", ".web.js", ".ts", ".tsx", ".js"],
  },

  module: {
    rules: [
      // Все файлы с разрешениями '.ts' или '.tsx' будет обрабатывать 'ts-loader'
      { test: /\.tsx?$/, loader: "ts-loader" },
      { test: /\.js$/, loader: "source-map-loader", enforce: "pre" },
    ],
  },
};

При сборке я получаю ошибку:

ERROR in ./index.ts
Module build failed (from ./node_modules/ts-loader/index.js):
Error: Cannot find module 'webpack'
Require stack:
- D:\Trader\example\node_modules\ts-loader\dist\instances.js
- D:\Trader\example\node_modules\ts-loader\dist\index.js
- D:\Trader\example\node_modules\ts-loader\index.js
- C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\node_modules\loader-runner\lib\loadLoader.js
- C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\node_modules\loader-runner\lib\LoaderRunner.js
- C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\lib\NormalModule.js
- C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\lib\NormalModuleFactory.js
- C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\lib\Compiler.js
- C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\lib\webpack.js
- C:\Users\larik\AppData\Roaming\npm\node_modules\webpack-cli\bin\utils\validate-options.js
- C:\Users\larik\AppData\Roaming\npm\node_modules\webpack-cli\bin\utils\convert-argv.js
- C:\Users\larik\AppData\Roaming\npm\node_modules\webpack-cli\bin\cli.js
- C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\bin\webpack.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack-cli\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
    at Object.<anonymous> (D:\Trader\example\node_modules\ts-loader\dist\instances.js:7:17)
    at Module._compile (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack-cli\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack-cli\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
    at Object.<anonymous> (D:\Trader\example\node_modules\ts-loader\dist\index.js:6:21)
    at Module._compile (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack-cli\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack-cli\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
    at Object.<anonymous> (D:\Trader\example\node_modules\ts-loader\index.js:1:76)
    at Module._compile (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack-cli\node_modules\v8-compile-cache\v8-compile-cache.js:194:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack-cli\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
    at loadLoader (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\node_modules\loader-runner\lib\loadLoader.js:18:17)
    at iteratePitchingLoaders (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\node_modules\loader-runner\lib\LoaderRunner.js:169:2)
    at runLoaders (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\node_modules\loader-runner\lib\LoaderRunner.js:365:2)
    at NormalModule.doBuild (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\lib\NormalModule.js:295:3)
    at NormalModule.build (C:\Users\larik\AppData\Roaming\npm\node_modules\webpack\lib\NormalModule.js:446:15)

Я до этого не работал с сборками typescript решений,по этому конфиг написал по статье.

Подскажите пожалуйста в чем моя ошибка


Ответы (0 шт):