diff --git a/.gitignore b/.gitignore index 3b3b021..2ae45e5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ test/fixtures/bar test/fixtures/contains-cycle/symlink2 test/fixtures/contains-cycle/is-cycle .vscode/ -**/*.js -**/*.d.ts +*.js +*.d.ts +*.js.map !test/fixture -index.js.map diff --git a/test/test.js.map b/test/test.js.map deleted file mode 100644 index 88bd685..0000000 --- a/test/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/test/test.ts b/test/test.ts index 6842149..c0351bd 100644 --- a/test/test.ts +++ b/test/test.ts @@ -34,15 +34,28 @@ function safeUnlink(path:string) { } } +function safeRmdir(path:string) { + try { + fs.rmdirSync(path); + } catch (e) { + if (typeof e === 'object' && e !== null && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) { + // handle + } else { + throw e; + } + } +} + symlink('./some-other-dir', 'test/fixtures/symlink1'); symlink('doesnotexist', 'test/fixtures/symlink2', true); +// https://github.com/joliss/node-walk-sync/pull/44 +safeRmdir(__dirname + '/fixtures/bar'); safeUnlink(__dirname + '/fixtures/bar'); safeUnlink(__dirname + '/fixtures/symlink3'); - -fs.mkdirSync('./bar'); -symlink('./bar/', 'test/fixtures/symlink3', true); -fs.rmdirSync('./bar'); +// Create a broken link to a directory ... +symlink('bar', __dirname + '/fixtures/symlink3', true); +// ... and copy a file in its place fs.copyFileSync(__dirname + '/fixtures/dir/bar.txt', __dirname + '/fixtures/bar'); safeUnlink(__dirname + '/fixtures/contains-cycle/is-cycle'); diff --git a/tsconfig.json b/tsconfig.json index c1a3093..2624802 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,8 +5,7 @@ "moduleResolution": "node", "module": "commonjs", "target": "es2017", - "sourceMap": true, - "strict": true + "sourceMap": true }, "exclude": ["index.d.ts"], "include": ["index.ts", "test/test.ts"]