Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add fix for Windows Subsystem for Linux #1786

Merged
merged 1 commit into from May 30, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Expand Up @@ -23,6 +23,7 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel
- TypeScript config: Disable [`named`][] ([#1726], thanks [@astorije])
- [readme] Remove duplicate no-unused-modules from docs ([#1690], thanks [@arvigeus])
- [Docs] `order`: fix bad inline config ([#1788], thanks [@nickofthyme])
- [Tests] Add fix for Windows Subsystem for Linux ([#1786], thanks [@manuth])

## [2.20.2] - 2020-03-28
### Fixed
Expand Down Expand Up @@ -679,6 +680,7 @@ for info on changes for earlier releases.
[`memo-parser`]: ./memo-parser/README.md

[#1788]: https://github.com/benmosher/eslint-plugin-import/pull/1788
[#1786]: https://github.com/benmosher/eslint-plugin-import/pull/1786
[#1785]: https://github.com/benmosher/eslint-plugin-import/pull/1785
[#1770]: https://github.com/benmosher/eslint-plugin-import/pull/1770
[#1726]: https://github.com/benmosher/eslint-plugin-import/pull/1726
Expand Down
140 changes: 101 additions & 39 deletions appveyor.yml
@@ -1,3 +1,7 @@
configuration:
- Native
- WSL

# Test against this version of Node.js
environment:
matrix:
Expand All @@ -8,8 +12,12 @@ environment:
# - nodejs_version: "6"
# - nodejs_version: "4"

image: Visual Studio 2019
matrix:
fast_finish: false
exclude:
- configuration: WSL
nodejs_version: "8"

# allow_failures:
# - nodejs_version: "4" # for eslint 5
Expand All @@ -18,45 +26,99 @@ matrix:
# - x86
# - x64

# Install scripts. (runs after repo cloning)
install:
# Get the latest stable version of Node.js or io.js
- ps: Install-Product node $env:nodejs_version

# install modules
- ps: >-
if ($env:nodejs_version -eq "4") {
npm install -g npm@3;
}
if ($env:nodejs_version -in @("8", "10", "12")) {
npm install -g npm@6.10.3;
}
- npm install

# fix symlinks
- cmd: git config core.symlinks true
- cmd: git reset --hard

# todo: learn how to do this for all .\resolvers\* on Windows
- cd .\resolvers\webpack && npm install && cd ..\..
- cd .\resolvers\node && npm install && cd ..\..

# Post-install test scripts.
test_script:

# Output useful info for debugging.
- node --version
- npm --version

# core tests
- npm run tests-only

# resolver tests
- cd .\resolvers\webpack && npm test && cd ..\..
- cd .\resolvers\node && npm test && cd ..\..

on_success:
- npm run coveralls
for:
-
matrix:
only:
- configuration: Native
# Install scripts. (runs after repo cloning)
install:
# Get the latest stable version of Node.js or io.js
- ps: Install-Product node $env:nodejs_version

# install modules
- ps: >-
if ($env:nodejs_version -eq "4") {
npm install -g npm@3;
}
if ($env:nodejs_version -in @("8", "10", "12")) {
npm install -g npm@6.10.3;
}
- npm install

# fix symlinks
- git config core.symlinks true
- git reset --hard

# todo: learn how to do this for all .\resolvers\* on Windows
- cd .\resolvers\webpack && npm install && cd ..\..
- cd .\resolvers\node && npm install && cd ..\..

# Post-install test scripts.
test_script:

# Output useful info for debugging.
- node --version
- npm --version

# core tests
- npm run pretest
- npm run tests-only

# resolver tests
- cd .\resolvers\webpack && npm test && cd ..\..
- cd .\resolvers\node && npm test && cd ..\..

on_success:
- npm run coveralls
-
matrix:
only:
- configuration: WSL
# Install scripts. (runs after repo cloning)
install:
# Get the latest stable version of Node.js or io.js
- ps: $env:WSLENV += ":nodejs_version"
- ps: wsl curl -sL 'https://deb.nodesource.com/setup_${nodejs_version}.x' `| sudo APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 -E bash -
- wsl sudo DEBIAN_FRONTEND=noninteractive apt install -y nodejs

# install modules
- ps: >-
if ($env:nodejs_version -eq "4") {
wsl sudo npm install -g npm@3;
}
if ($env:nodejs_version -in @("8", "10", "12")) {
wsl sudo npm install -g npm@6.10.3;
}
- wsl npm install

# fix symlinks
- git config core.symlinks true
- git reset --hard
# reset new-line characters
- wsl git reset --hard

# todo: learn how to do this for all .\resolvers\* on Windows
- cd .\resolvers\webpack && wsl npm install && cd ..\..
- cd .\resolvers\node && wsl npm install && cd ..\..

# Post-install test scripts.
test_script:

# Output useful info for debugging.
- wsl node --version
- wsl npm --version

# core tests
- wsl npm run pretest
- wsl npm run tests-only

# resolver tests
- cd .\resolvers\webpack && wsl npm test && cd ..\..
- cd .\resolvers\node && wsl npm test && cd ..\..

on_success:
- wsl npm run coveralls

# Don't actually build.
build: off
2 changes: 1 addition & 1 deletion utils/resolve.js
Expand Up @@ -10,7 +10,7 @@ const path = require('path')
const hashObject = require('./hash').hashObject
, ModuleCache = require('./ModuleCache').default

const CASE_SENSITIVE_FS = !fs.existsSync(path.join(__dirname, 'reSOLVE.js'))
const CASE_SENSITIVE_FS = !fs.existsSync(path.join(__dirname.toUpperCase(), 'reSOLVE.js'))
exports.CASE_SENSITIVE_FS = CASE_SENSITIVE_FS

const ERROR_NAME = 'EslintPluginImportResolveError'
Expand Down