Skip to content

Commit 637a465

Browse files
author
Diabeu
committed
refactor(index): add some descriptions, replace is now optional but default as true
1 parent ff7f72f commit 637a465

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

src/index.js

+14-6
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,31 @@ function insertText(str, dir, preprocessor = res => res, processFilename = false
2626
}
2727

2828
export default function angular(options = {}) {
29-
options.preprocessors = options.preprocessors || {};
29+
options.preprocessors = options.preprocessors || {}; // set default preprocessors to `{}`
30+
options.replace = (typeof options.replace === 'boolean') ? options.replace : true; // set default replace to `true`
3031

3132
// ignore @angular/** modules
3233
options.exclude = options.exclude || [];
33-
if (typeof options.exclude === 'string' || options.exclude instanceof String) options.exclude = [options.exclude];
34-
if (options.exclude.indexOf('node_modules/@angular/**') === -1) options.exclude.push('node_modules/@angular/**');
34+
if (typeof options.exclude === 'string' || options.exclude instanceof String) {
35+
options.exclude = [options.exclude];
36+
}
37+
if (options.exclude.indexOf('node_modules/@angular/**') === -1) {
38+
options.exclude.push('node_modules/@angular/**');
39+
}
3540

3641
const filter = createFilter(options.include, options.exclude);
3742

3843
return {
3944
name: 'angular',
4045
transform(source, map) {
4146
if (!filter(map)) return;
47+
// replace comments in source
4248
source = source.replace(commentRegex, '');
49+
// use MagicString
4350
const magicString = new MagicString(source);
44-
51+
// get dir from `map`
4552
const dir = path.parse(map).dir;
53+
// get file extension from `map`
4654
const fileExt = map.split('.').pop();
4755

4856
let hasReplacements = false;
@@ -57,7 +65,7 @@ export default function angular(options = {}) {
5765
.replace(templateUrlRegex, function (match, url) {
5866
hasReplacements = true;
5967
const toReplace = 'template:' + insertText(url, dir, options.preprocessors.template, options.processFilename, options.sourcetype);
60-
if (fileExt === 'js') {
68+
if (fileExt === 'js' && options.replace === true) {
6169
/* replace templateUrl in files generated by ngc */
6270
replace({
6371
regex: match,
@@ -74,7 +82,7 @@ export default function angular(options = {}) {
7482
hasReplacements = true;
7583
const toReplace = 'styles:' + insertText(urls, dir, options.preprocessors.style, options.processFilename, options.sourcetype);
7684
/* replace styles in files generated by ngc */
77-
if (fileExt === 'js') {
85+
if (fileExt === 'js' && options.replace === true) {
7886
replace({
7987
regex: styleUrlsRegex,
8088
replacement: toReplace,

0 commit comments

Comments
 (0)