Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.npmignore - Ignore all *.ts files but not *.d.ts

I am looking for a good way to ignore all .ts files in a project when I publish to NPM, I can do that by adding the following to my .npmignore file:

*.ts

but wait..actually I want to keep all the .d.ts files in my project, when I publish...

What can I add to my .npmignore file that will keep all .d.ts files but ignore all .ts files?

I assumed I have to use some form of regex to ignore all files that end with .ts that do not end with .d.ts

so the JS regex for this might look like:

*.\.[^d]\.ts

what the above regex should mean is match anything that ends with .ts that does not end with .d.ts

but of course we are stuck with what I believe to be less powerful regexes used by the OS etc.

like image 919
Alexander Mills Avatar asked Mar 06 '17 08:03

Alexander Mills


1 Answers

In the docs for .npmignore it states:

.npmignore files follow the same pattern rules as .gitignore files:

In which case you can negate the .d.ts files in .npmignore by using !. For example in your .npmignore you simply:

# ignore the .ts files
*.ts

# include the .d.ts files
!*.d.ts
like image 73
RobC Avatar answered Oct 29 '22 12:10

RobC