I am using Webpack (2.3.3) to build my Aurelia app in TS. However, since I am using includeAll
option for AureliaPlugin (2.0.0-rc.2), ts-loader (2.0.3) cries a
A regex that matches strings with .ts
at the end but not .d.ts
is
/(^.?|\.[^d]|[^.]d|[^.][^d])\.ts$/
See a regex demo. It is a POSIX style expression that will work with any regex engine.
Details
(^.?|\.[^d]|[^.]d|[^.][^d])
- either of:
^.?
- start of string + any optional char\.[^d]
- a dot and any char but d
[^.]d
- any char but .
and d
[^.][^d]
- any char but .
and then any char but d
(this way, we match all but .d
)\.
- a literal dotts$
- ts
at the end of string.Alternatively, use a lookahead based solution:
/^(?!.*\.d\.ts$).*\.ts$/
See another demo
Details:
^
- start of string(?!.*\.d\.ts$)
- the string cannot end with .d.ts
.*
- any 0+ chars up to the \.ts$
- .ts
at the end of the string.However, you might explore another option described in this SO thread.