diff --git a/index.js b/index.js index 9678c0d..7b57dd3 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,6 @@ const chalk = require('chalk') +const semver = require('semver') +const webpack = require('webpack') const COMMAND_OPTIONS = { '-h, --host': 'specify server host', @@ -29,13 +31,18 @@ module.exports = (api, options) => { const { generateCacheIdentifier } = require('./utils') api.chainWebpack(config => { - const rule = config.module + let rule = config.module .rule('gql') .test(/\.(gql|graphql)$/) - .use('cache-loader') - .loader('cache-loader') - .options({ cacheDirectory }) - .end() + + if (semver.major(webpack.version) !== 4) { + rule = rule + .use('cache-loader') + .loader('cache-loader') + .options({ cacheDirectory }) + } + + rule = rule.end() if (useThreads) { rule diff --git a/package.json b/package.json index 2876b0d..71a31a5 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "graphql-tools": "^6.0.9", "node-fetch": "^2.6.0", "nodemon": "^2.0.4", + "semver": "^7.3.5", "subscriptions-transport-ws": "^0.9.16", "ts-node": "^8.10.2" },