Как построить проект TypeScript со всеми его зависимостями в одном файле js? - PullRequest
0 голосов
/ 16 января 2019

Я изо всех сил пытаюсь построить свой проект TypeScript, который обернут вокруг этой библиотеки JavaScript: https://github.com/IdentityModel/oidc-client-js в один (1) файл JavaScript, содержащий все его зависимости node_modules, которые будут совместимы со старыми браузерами (в основном IE 11 (также 10)?).

Предпочтительно две версии:

  • один с исходными картами, не минимизирован
  • другой без исходных карт, уменьшенный

Мой index.ts:

import { AuthenticationService } from './src/authentication.service';

export default {
    AuthenticationService,
};

Мои аутентификации.service.ts:

import { UserManager, UserManagerSettings, User, WebStorageStateStore, OidcClientSettings } from 'oidc-client';
import { map } from 'rxjs/operators';
import { Observable, from } from 'rxjs';

export class AuthenticationService {

    private manager: UserManager;

    constructor() { };

    ....

}

Мой пакет.json:

{
  "name": "mainapp",
  "version": "0.0.1",
  "description": "TypeScript wrap",
  "main": "index.ts",
  "license": "MIT",
  "dependencies": {
    "oidc-client": "^1.6.1",
    "rxjs": "^6.3.3"
  },
  "devDependencies": {
    "@types/node": "^10.12.18",
    "babel-polyfill": "^6.26.0",
    "gulp": "^4.0.0",
    "gulp-concat": "^2.6.1",
    "oidc-client": "^1.6.1",
    "typescript": "^3.2.2",
    "webpack": "^4.28.4",
    "webpack-stream": "^5.2.1"
  }
}

Мой tsconfig.json:

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "esModuleInterop": true,
        "lib": ["es2015.promise", "es5"],
        "noImplicitAny": true,
        "moduleResolution": "node",
        "declaration": true,
        "sourceMap": true,
        "outDir": "dist"
    }
}

Должен ли я использовать gulp или / и webpack? Как мне этого добиться?

...