diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..989d7088 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,13 @@ +environment: + matrix: + - nodejs_version: '6' + - nodejs_version: '4' +install: + - ps: Install-Product node $env:nodejs_version + - npm install +matrix: + fast_finish: true +build: off +shallow_clone: true +test_script: + - npm run test diff --git a/src/preProcessPattern.js b/src/preProcessPattern.js index d1474cc9..76c3404b 100644 --- a/src/preProcessPattern.js +++ b/src/preProcessPattern.js @@ -57,7 +57,7 @@ export default function preProcessPattern(globalRef, pattern) { .statAsync(pattern.absoluteFrom) .catch(() => { // If from doesn't appear to be a glob, then log a warning - if (isGlob(pattern.from)) { + if (isGlob(pattern.from) || pattern.from.indexOf('*') !== -1) { pattern.fromType = 'glob'; } else { const msg = `unable to locate '${pattern.from}' at '${pattern.absoluteFrom}'`; diff --git a/src/writeFile.js b/src/writeFile.js index dda2b398..43c86d6b 100644 --- a/src/writeFile.js +++ b/src/writeFile.js @@ -48,8 +48,8 @@ export default function writeFile(globalRef, pattern, file) { // A hack because loaderUtils.interpolateName doesn't // find the right path if no directory is defined // ie. [path] applied to 'file.txt' would return 'file' - if (file.relativeFrom.indexOf('/') < 0) { - file.relativeFrom = '/' + file.relativeFrom; + if (file.relativeFrom.indexOf(path.sep) < 0) { + file.relativeFrom = path.sep + file.relativeFrom; } file.webpackTo = loaderUtils.interpolateName( @@ -60,7 +60,7 @@ export default function writeFile(globalRef, pattern, file) { // Add back removed dots if (dotRemoved) { let newBasename = path.basename(file.webpackTo); - file.webpackTo = path.join(path.dirname(file.webpackTo), '.' + newBasename); + file.webpackTo = path.dirname(file.webpackTo) + '/.' + newBasename; } } diff --git a/tests/index.js b/tests/index.js index 835ca170..22810fed 100644 --- a/tests/index.js +++ b/tests/index.js @@ -409,7 +409,7 @@ describe('apply function', () => { runEmit({ expectedAssetKeys: [], expectedErrors: [ - `[copy-webpack-plugin] unable to locate 'nonexistent.txt' at '${HELPER_DIR}/nonexistent.txt'` + `[copy-webpack-plugin] unable to locate 'nonexistent.txt' at '${HELPER_DIR}${path.sep}nonexistent.txt'` ], patterns: [{ from: 'nonexistent.txt' @@ -821,7 +821,7 @@ describe('apply function', () => { runEmit({ expectedAssetKeys: [], expectedErrors: [ - `[copy-webpack-plugin] unable to locate 'nonexistent' at '${HELPER_DIR}/nonexistent'` + `[copy-webpack-plugin] unable to locate 'nonexistent' at '${HELPER_DIR}${path.sep}nonexistent'` ], patterns: [{ from: 'nonexistent'