Публикация машинописного пакета без файлов ts?

У меня есть проект typescript, который я хочу опубликовать, я генерирую все файлы js в каталоге с именем build и все файлы объявлений в каталоге с именем Declaration, я не хочу включать файлы .ts в мою опубликованную версию, мне было интересно как я могу сделать это без использования gulp?

вот мой tsconfig.json

{
    "compilerOptions": {
       "target": "es6",
        "lib": ["es6", "dom"],
        "types": ["reflect-metadata"],
        "module": "commonjs",
        "moduleResolution": "node",
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "outDir": "build",
        "declarationDir": "declaration"
    },
    "exclude": [
        "node_modules"
    ]
}

и мой package.json:

{
  "name": "data-layer",
  "version": "1.1.4",
  "description": "data access layer",
  "main": "./build/index.js",
  "types": "./declaration/index.d.ts",
...

person user4092086    schedule 04.12.2016    source источник


Ответы (1)


Просто используйте файл .npmignore, где вы указываете игнорировать все файлы, которые являются .ts, но не .d.ts.

*.ts
!*.d.ts

Дополнительную информацию о npmignore вы можете найти здесь

person smnbbrv    schedule 04.12.2016
comment
Спасибо за ответ. Поэтому я создал .npmignore следующим образом: .ts !.d.ts объявление сборки !*.log, но он не включает каталог сборки и объявления в опубликованный пакет. - person user4092086; 04.12.2016
comment
@ user4092086, то, скорее всего, они находятся в вашем файле gitignore. .npmignore просто расширяет список из .gitignore - person smnbbrv; 04.12.2016
comment
хм попытался удалить их из .gitignore снова не сработало, хотя .npmignore должен переопределить .gitignore - person user4092086; 04.12.2016
comment
Извините, что плохо в .npmignore, у меня было объявление сборки вместо !build и !declaration - person user4092086; 04.12.2016