{"_id":"next-recompose-plugins","_rev":"10-7d6179adb7a5d48f8228d96e331bd5c9","name":"next-recompose-plugins","dist-tags":{"canary":"3.0.0-canary.1","latest":"3.0.1"},"versions":{"1.0.0":{"name":"next-recompose-plugins","version":"1.0.0","keywords":["next.js","next","react","plugins","compose"],"author":{"name":"IdkMan2"},"license":"MIT","_id":"next-recompose-plugins@1.0.0","maintainers":[{"name":"idkman","email":"nowyarek@gmail.com"}],"homepage":"https://github.com/IdkMan2/next-recompose-plugins/lib#readme","bugs":{"url":"https://github.com/IdkMan2/next-recompose-plugins/issues"},"dist":{"shasum":"fb4e74535d9d99773e10638c0e46280fb4bb0253","tarball":"https://registry.npmjs.org/next-recompose-plugins/-/next-recompose-plugins-1.0.0.tgz","fileCount":20,"integrity":"sha512-FYl0+zPuR4anfQ6Dz/EeNxB4dP6nhnS8XKXmgWnqXCRXLYk2APmOtWDbzL2r64ZnNDf+M70OuBO/ByV4E0GD3w==","signatures":[{"sig":"MEUCIBhIGu56KoOo3hao4p0ct9qT5jL4dc4mc/+JqDp+ZKhgAiEAi5Qal8JzzBnp8NkNlBf23YG11KISKfgG+K5fzQTxtrA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJxoMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpI8A/8CDftgiF3+/CRE+U1305X0aC6xRAwxU2wrgiaW7cueAwtnLCZ\r\nC2dBk/ikB54wo9x8B9v6vc2eIN/muwikEiz3fgPQlQghI2e4ku22Lm8IXl6V\r\n/n22SGmMeqWlvS0M1WGTLYw7kBpTZJQ4t5qfup8KRpHsRZ88U+Ou9neyZfUr\r\ns798fXMCx4LiIlYjMRbhlQWw3j86mlMcacGBplB0Z8wdBXS/Ziyrotky/Lzw\r\naxlUgbFOoKQOBW/BqEwCmv4juJXzWXuNDwdYWFGjxjJO22ESFPWxXkESriiM\r\nqunAGW4QE4C7yEWp3JxdkAIH6X33tp5L32ki+43Br6aERGvUTK3iSjfHaAHO\r\nwH+iAY8/jK9ni7s8vrTjSSfkIozUbPKMBwRwh+aEvzLyFaw/E2/y1HPRgZ4f\r\nDEfIPyADZeVYqS5sIqVbxI6b3VEb/kohyPhr6KikQdYfmpo4K57L6Nqjx+j9\r\nLn+i+fgjAx2uogn6GAgAD+97FhIuaVsmB0PrFm84lit1C3qcqpDgsEX+pUHW\r\nx4A5D8id3kdqEoEWBimlTGTSyhfixR2uWoDuVjlMv2oY5HWU+8hqJOTJuSp1\r\nL6KHB6KcGPiTZnorNzRtA5v+JJpn+u8DyVjEmsyvotFcJPJroRWN1Crf4l9o\r\nuLYbDIAQIHsTM+rYzEpShCQ75iK75q6+CfA=\r\n=pazB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/main.js","types":"./dist/types/main.d.ts","module":"./dist/esm/main.js","exports":{".":{"import":{"types":"./dist/types/main.d.ts","default":"./dist/esm/main.js"},"require":{"types":"./dist/types/main.d.ts","default":"./dist/cjs/main.js"}}},"scripts":{"lint":"yarn run eslint --config ../.eslintrc.js --ignore-path ../.eslintignore --fix \"src/**/*.ts\"","test":"jest","build":"yarn run build:clean && yarn run build:js && yarn run build:ts","format":"yarn run prettier --config ../.prettierrc.js --ignore-path ../.prettierignore --loglevel warn --write \"src/**/*.ts\"","build:js":"rollup --config rollup.config.mjs","build:ts":"tsc --project tsconfig.json","build:clean":"rimraf dist"},"_npmUser":{"name":"idkman","email":"nowyarek@gmail.com"},"repository":{"url":"https://github.com/IdkMan2/next-recompose-plugins.git","type":"git"},"directories":{},"dependencies":{"semver":"^7.3.7","is-promise":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","next":">=12","tslib":"^2.4.0","eslint":"^8.19.0","rimraf":"^3.0.2","rollup":"^2.76.0","ts-jest":"^28.0.5","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/semver":"^7.3.10","@types/is-promise":"^2.2.0","@rollup/plugin-json":"^4.1.0","eslint-config-prettier":"^8.5.0","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-typescript":"^8.3.3","@typescript-eslint/parser":"^5.30.5","@rollup/plugin-node-resolve":"^13.3.0","@typescript-eslint/eslint-plugin":"^5.30.5"},"peerDependencies":{"next":">=11"},"_npmOperationalInternal":{"tmp":"tmp/next-recompose-plugins_1.0.0_1663506955811_0.2617048984435959","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"next-recompose-plugins","version":"1.0.1","keywords":["next.js","next","react","plugins","compose"],"author":{"name":"IdkMan2"},"license":"MIT","_id":"next-recompose-plugins@1.0.1","maintainers":[{"name":"idkman","email":"nowyarek@gmail.com"}],"homepage":"https://github.com/IdkMan2/next-recompose-plugins/lib#readme","bugs":{"url":"https://github.com/IdkMan2/next-recompose-plugins/issues"},"dist":{"shasum":"98b0ede386717ed8b968a580d81df1ceb0bfc63c","tarball":"https://registry.npmjs.org/next-recompose-plugins/-/next-recompose-plugins-1.0.1.tgz","fileCount":20,"integrity":"sha512-mvY6dFBvqRX36wopSc/U4s7vbeNG1MyMUNWTcDFpoe13vBs8Kw9qzfDbvUFejW752tunA56fFPVdEqOg5CEuEQ==","signatures":[{"sig":"MEQCIFAvOnwZRP1ivCpOqmhfd4xt4RTBBQq0qmFPVPJkI6acAiBgWngICkqjM/jkOjkgO9z8gjOhwxhZzl2QYpfLqSdUlQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJxsDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/nhAAop+6t/TtB62U5/WwfyBilEzJccPt2T/sHqzRLSGuX1gHvw2y\r\nLK8pITTsI5W6YEeZU1BV8KPrzsN4RYMk5I2uiFeq9ny0Lt2yol+gwNxc2crH\r\nSxuDwGKAKvwwZcbHAy5oYOLITQ0TKMi9VXYZV1FZqAfnD/dtAqKVoVsV2kQJ\r\nzI6KCsKKbynzLe2+dbsDAly4r0hk1gJ7lfqSe/5Us1rl3icLAqIyY9HYF7Qt\r\n0XlR3bM69M8bQEew7dBdAQnWPsFACd2B4cLyn7LAx5kHFtz979Hc+AdKC+3e\r\nCWAGZ9rEz9C/eRa9x1L14edZROfzsCploMCuS6npqqRboz31/xLqDrX2TaRz\r\nXHSU+S75QS5fofvYLeqDhiGF0UGNYgfQN4mAlHcNTSYouxDEAG54NiEqOiUy\r\nNUxossieBlNeKnqLqPUmsEDl12Dv4JSNWRm97fuaZ2mV2/VRQ3g6ohTnjw8H\r\nmWmmo0ariCJC0wD3ygnfD3hlYMPPb4dsfVz5R9nduNWzwPDNBZo5R04wu6oD\r\nxdLX/72TXIN7DC+BjcnzCRttzZfWWUhwknS20l9FRJhR9JoKdcWcfx/RsoPf\r\nEaS7hC7b4PTVhb6WnMuKyAktX52rbL7JPfbvD8lBdCyo3tpR12QeToeM2nbe\r\nSkpycn2jfcCKUHfEhISTjvwFoeg0MEYl2A0=\r\n=wKqt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/main.js","types":"./dist/types/main.d.ts","module":"./dist/esm/main.js","exports":{".":{"import":{"types":"./dist/types/main.d.ts","default":"./dist/esm/main.js"},"require":{"types":"./dist/types/main.d.ts","default":"./dist/cjs/main.js"}}},"scripts":{"lint":"yarn run eslint --config ../.eslintrc.js --ignore-path ../.eslintignore --fix \"src/**/*.ts\"","test":"jest","build":"yarn run build:clean && yarn run build:js && yarn run build:ts","format":"yarn run prettier --config ../.prettierrc.js --ignore-path ../.prettierignore --loglevel warn --write \"src/**/*.ts\"","build:js":"rollup --config rollup.config.mjs","build:ts":"tsc --project tsconfig.json","build:clean":"rimraf dist"},"_npmUser":{"name":"idkman","email":"nowyarek@gmail.com"},"repository":{"url":"https://github.com/IdkMan2/next-recompose-plugins.git","type":"git"},"directories":{},"dependencies":{"semver":"^7.3.7","is-promise":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","next":">=12","tslib":"^2.4.0","eslint":"^8.19.0","rimraf":"^3.0.2","rollup":"^2.76.0","ts-jest":"^28.0.5","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/semver":"^7.3.10","@types/is-promise":"^2.2.0","@rollup/plugin-json":"^4.1.0","eslint-config-prettier":"^8.5.0","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-typescript":"^8.3.3","@typescript-eslint/parser":"^5.30.5","@rollup/plugin-node-resolve":"^13.3.0","@typescript-eslint/eslint-plugin":"^5.30.5"},"peerDependencies":{"next":">=11"},"_npmOperationalInternal":{"tmp":"tmp/next-recompose-plugins_1.0.1_1663507203002_0.4699140359588794","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"next-recompose-plugins","version":"1.0.2","keywords":["next.js","next","react","plugins","compose"],"author":{"name":"IdkMan2"},"license":"MIT","_id":"next-recompose-plugins@1.0.2","maintainers":[{"name":"idkman","email":"nowyarek@gmail.com"}],"homepage":"https://github.com/IdkMan2/next-recompose-plugins#readme","bugs":{"url":"https://github.com/IdkMan2/next-recompose-plugins/issues"},"dist":{"shasum":"a575f849786e221d427ece88841eb9ec736be611","tarball":"https://registry.npmjs.org/next-recompose-plugins/-/next-recompose-plugins-1.0.2.tgz","fileCount":21,"integrity":"sha512-Juoz8wis3x6aGZLE7OsoElvQJELp8E/XHY3DqCrLsLOsx3Jv9Z5D+2P5f1Zkv+jlwDFaKqXXcwRGC6QJY8dJcA==","signatures":[{"sig":"MEUCIA+V5M7pMrJR/wWHG1ldYMMmIxvC62TRn8o3Gs53Br+EAiEA/1sdwNzeW/Vwtjo+B9SQdgifBwmGpVfB3jVBWF8ru9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJxxdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6dBAAiNvWm/KCKnPqpC5lqI5Wn0yyBlUk2870cZRQHRmEBj4z4h5u\r\nm1GJhH0eiPhV3hUa4C/T7MPBCDoPQ8k8pweNtXauuj3PyUKuVogn7UvbwpK1\r\n14eAVxr/WPgSYJDi/FOAdMFFReoAo5MlKWDPLNUtpr32goMGtjV7MW5aUOkl\r\nBdf0RnCHJyJ+FHYpErFXvge2Dj3W2ycTUfVMGfze1vGIaIeid7hGx1cEn9yM\r\nRHUK/orGHp8MJGEcwJJYN+GUtzyN4PONEaB6aI6+wZLnpMNhaINgG2rdvYIH\r\nj5xDTEyOwY2tt+mZQ/ufWXHX/oClVCUm7T1E/5Fp1xMRoK3BFKgOkwaOu4nB\r\nnqUEqNUswRmUMH68VYe9Dr6zqYYE9rNxoBJ/9DqLpCQ4SmTSO8WT0UVJoEgj\r\nhcTRNPhar1Y4q4mrdV609pw4mMJp6wgSNf6EscEV+RA3ZkmOMuS/anScjMTn\r\n4/OKlPYl6tnR7yspIq8Gdqh5n8w23rcLeiMaut8OikLpQIiL/PorUrjdVU3B\r\nvlzkbVEwwvT/uLM/JfyF1R9qHtyQKol8lR+5jSdRdf/n8cgqnX0ZWIXLeZwe\r\nh2OFqEYkj4aKseb4QxsghyV1nHnKoFmIjJ4GrIFnmcw2QfZIufjYePRGAmB6\r\n+Dwbd6/48q3COKfi4rE0nwYzTQZ945pBqf8=\r\n=OkS9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/main.js","types":"./dist/types/main.d.ts","module":"./dist/esm/main.js","exports":{".":{"import":{"types":"./dist/types/main.d.ts","default":"./dist/esm/main.js"},"require":{"types":"./dist/types/main.d.ts","default":"./dist/cjs/main.js"}}},"scripts":{"lint":"yarn run eslint --config ../.eslintrc.js --ignore-path ../.eslintignore --fix \"src/**/*.ts\"","test":"jest","build":"yarn run build:clean && yarn run build:js && yarn run build:ts","format":"yarn run prettier --config ../.prettierrc.js --ignore-path ../.prettierignore --loglevel warn --write \"src/**/*.ts\"","build:js":"rollup --config rollup.config.mjs","build:ts":"tsc --project tsconfig.json","build:clean":"rimraf dist"},"_npmUser":{"name":"idkman","email":"nowyarek@gmail.com"},"repository":{"url":"https://github.com/IdkMan2/next-recompose-plugins.git","type":"git"},"description":"- [Installation](#installation) - [Building basic configuration](#building-basic-configuration) - [Applying plugins](#applying-plugins)","directories":{},"dependencies":{"semver":"^7.3.7","is-promise":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.2","next":">=12","tslib":"^2.4.0","eslint":"^8.19.0","rimraf":"^3.0.2","rollup":"^2.76.0","ts-jest":"^28.0.5","prettier":"^2.7.1","typescript":"^4.7.4","@types/jest":"^28.1.4","@types/semver":"^7.3.10","@types/is-promise":"^2.2.0","@rollup/plugin-json":"^4.1.0","eslint-config-prettier":"^8.5.0","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-typescript":"^8.3.3","@typescript-eslint/parser":"^5.30.5","@rollup/plugin-node-resolve":"^13.3.0","@typescript-eslint/eslint-plugin":"^5.30.5"},"peerDependencies":{"next":">=11"},"_npmOperationalInternal":{"tmp":"tmp/next-recompose-plugins_1.0.2_1663507549146_0.0660881089234222","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"next-recompose-plugins","version":"2.0.0","keywords":["next.js","next","react","plugins","compose"],"author":{"name":"IdkMan2"},"license":"MIT","_id":"next-recompose-plugins@2.0.0","maintainers":[{"name":"idkman","email":"nowyarek@gmail.com"}],"homepage":"https://github.com/IdkMan2/next-recompose-plugins/lib#readme","bugs":{"url":"https://github.com/IdkMan2/next-recompose-plugins/issues"},"dist":{"shasum":"7d77c63ea7ff5c06e2e8504c9ca8c6b9bdb4c7f2","tarball":"https://registry.npmjs.org/next-recompose-plugins/-/next-recompose-plugins-2.0.0.tgz","fileCount":22,"integrity":"sha512-Dfg/5RVnbVCaJqAGt+Ikf5IudZ5mQ8PHHqcPT2oLeXA8fi7cxFIBF2DfzTcLz4AwFRy1x9uD8wgqSM5j98r6EA==","signatures":[{"sig":"MEUCIQCyOtBisYBbfLzXa0K6vxjfSqCb2h2cy8QGZSY5aLo4MAIgIg4njWo/bl3YfdI+NqBTSJA/USKXj0OJw0p2E5jXnek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIGzYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqZmw/+LNKwnvmpUdSdKNhHPREq2U4olSjdoJsItndVAqpo9ltbv0U/\r\nFw0+ZkQLfD3KK4+RVknqdZx4zgQUm3obQQsJMDngJ58yHOqQZvjlyzQ0WM0p\r\nUz96kpGYdP4de1z7xBL9vumeWabiNaM3sy89xaJb8ZzkNIjvZOqEz7b151Nw\r\nNEsYxz+rzRkaJsGSKmx04oHND1tVD5+p6bmT4qqKQ6V46Y6H7J69iVBM25RO\r\nUqTpU6b/CVizlHjP9nHUe0QrWhF0PDjTyIFOhF+7mLo5199J/cqY7t5f7f8x\r\ntGjBRxtJpO71FygBbtHuYsdCHk2F8Ls0EroZJk8cZ3tpcd2of5/5L7DklNZH\r\nacQoL4Zpnd9mtO0FfCxYayE94wcaA/BPPLEm4yZ8nM17dro9D4k4bJauSuBf\r\ngZGfmg2eUZBbDr1Bz7d9lvfBsrLtW6CmjSib2N5lQ6yQIwJo1+If2KV9R9xi\r\noD9GfthckW5FwWJqw4lpGQhPngAGRlMaHmez2NFdNe1c/TEPlGM5po1B+o4g\r\nZapBxgupyM646ZC/mnamHv2cr/areFkvH9IOhOFv4pRaVvOVklKEqDa6NEXX\r\nF4qdDDBPcbnmc24U80SB9Lhoxcqa529qy5k8cxbGpPsBaVjE1CUFO4xT93iY\r\n49XjxttE5ycLQJFPQqVxkLRkfDX58maoEu8=\r\n=/Jeu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/cjs/main.js","types":"./dist/types/main.d.ts","module":"./dist/esm/main.js","exports":{".":{"import":{"types":"./dist/types/main.d.ts","default":"./dist/esm/main.js"},"require":{"types":"./dist/types/main.d.ts","default":"./dist/cjs/main.js"}}},"scripts":{"lint":"yarn run eslint --config ../.eslintrc.js --ignore-path ../.eslintignore --fix \"src/**/*.ts\"","test":"jest","build":"yarn run build:clean && yarn run build:js && yarn run build:ts","format":"yarn run prettier --config ../.prettierrc.js --ignore-path ../.prettierignore --loglevel warn --write \"src/**/*.ts\"","build:js":"rollup --config rollup.config.mjs","build:ts":"tsc --project tsconfig.json","build:clean":"rimraf dist"},"_npmUser":{"name":"idkman","email":"nowyarek@gmail.com"},"repository":{"url":"https://github.com/IdkMan2/next-recompose-plugins.git","type":"git"},"directories":{},"dependencies":{"semver":"^7.3.8","is-promise":"^4.0.0","take-n-pipe":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","next":">=12","tslib":"^2.5.0","eslint":"^8.36.0","rimraf":"^4.4.1","rollup":"^3.20.2","ts-jest":"^29.0.5","prettier":"^2.8.7","typescript":"^5.0.2","@types/jest":"^29.5.0","@types/semver":"^7.3.13","@types/is-promise":"^2.2.0","@rollup/plugin-json":"^6.0.0","eslint-config-prettier":"^8.8.0","@rollup/plugin-commonjs":"^24.0.1","@rollup/plugin-typescript":"^11.0.0","@typescript-eslint/parser":"^5.56.0","@rollup/plugin-node-resolve":"^15.0.1","@typescript-eslint/eslint-plugin":"^5.56.0"},"peerDependencies":{"next":">=11"},"_npmOperationalInternal":{"tmp":"tmp/next-recompose-plugins_2.0.0_1679846615877_0.43495004300862106","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"next-recompose-plugins","version":"2.0.1","keywords":["next.js","next","react","plugins","compose"],"author":{"name":"arklanq"},"license":"MIT","_id":"next-recompose-plugins@2.0.1","maintainers":[{"name":"idkman","email":"nowyarek+legacynpm@gmail.com"},{"name":"arklanq","email":"nowyarek@gmail.com"}],"homepage":"https://github.com/arklanq/next-recompose-plugins/lib#readme","bugs":{"url":"https://github.com/arklanq/next-recompose-plugins/issues"},"dist":{"shasum":"126249784132c9522a61a1dbc5ccfbdaebd2a2fc","tarball":"https://registry.npmjs.org/next-recompose-plugins/-/next-recompose-plugins-2.0.1.tgz","fileCount":16,"integrity":"sha512-LQRxYuIxjHL5yATAGk8RiQzVtDscV6RstZ+kIA/+qq3CyQIl8MWobhALEJ89xy4AURaqh/exRqLceNxAD14rcg==","signatures":[{"sig":"MEUCIA41Gof64nhbTz9dMrxc3eeRlzEO/l9GWW4+lh5Tiuq+AiEAo4T7kQVrG9PglmX/rGGhls77ZN5CHoPV1qohAsxk3ZQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17390},"main":"./dist/cjs/main.js","types":"./dist/types/main.d.ts","module":"./dist/esm/main.js","exports":{".":{"import":{"types":"./dist/types/main.d.ts","default":"./dist/esm/main.js"},"require":{"types":"./dist/types/main.d.ts","default":"./dist/cjs/main.js"}}},"gitHead":"4db55f4a69cd5b31854efe14a5a930127b9113f4","scripts":{"lint":"yarn run eslint --config ../.eslintrc.js --ignore-path ../.eslintignore --fix \"src/**/*.ts\"","test":"jest","build":"yarn run build:clean && yarn run build:js && yarn run build:ts","format":"yarn run prettier --config ../.prettierrc.js --ignore-path ../.prettierignore --log-level warn --write \"src/**/*.ts\"","build:js":"rollup --config rollup.config.mjs","build:ts":"tsc --project tsconfig.json","build:clean":"rimraf dist"},"_npmUser":{"name":"arklanq","email":"nowyarek@gmail.com"},"repository":{"url":"git+https://github.com/arklanq/next-recompose-plugins.git","type":"git"},"_npmVersion":"10.2.3","directories":{},"_nodeVersion":"18.17.0","dependencies":{"semver":"^7.5.4","is-promise":"^4.0.0","take-n-pipe":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","next":">=12","tslib":"^2.6.2","eslint":"^8.53.0","rimraf":"^5.0.5","rollup":"^4.4.1","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.2.2","@types/jest":"^29.5.8","@types/semver":"^7.5.5","@types/is-promise":"^2.2.0","@rollup/plugin-json":"^6.0.1","eslint-config-prettier":"^9.0.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@typescript-eslint/parser":"^6.11.0","@rollup/plugin-node-resolve":"^15.2.3","@typescript-eslint/eslint-plugin":"^6.11.0"},"peerDependencies":{"next":">=11"},"_npmOperationalInternal":{"tmp":"tmp/next-recompose-plugins_2.0.1_1700152978219_0.9514767224963689","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"next-recompose-plugins","version":"2.0.2","keywords":["next.js","next","react","plugins","compose"],"author":{"name":"arklanq"},"license":"MIT","_id":"next-recompose-plugins@2.0.2","maintainers":[{"name":"idkman","email":"nowyarek+legacynpm@gmail.com"},{"name":"arklanq","email":"nowyarek@gmail.com"}],"homepage":"https://github.com/arklanq/next-recompose-plugins/lib#readme","bugs":{"url":"https://github.com/arklanq/next-recompose-plugins/issues"},"dist":{"shasum":"bde27df62f90126b16acd7e7444ab521a8c05ea0","tarball":"https://registry.npmjs.org/next-recompose-plugins/-/next-recompose-plugins-2.0.2.tgz","fileCount":18,"integrity":"sha512-AQw2nr8hzemq3SG6M5s1Th0/AeQpMAvlGrWUqQY9ojHJtlaIiW6Qq/cCskHQ9HM3c1qZvJVmdJApX2P7pPgewg==","signatures":[{"sig":"MEQCICLLdOxvZNGUF/OEoY24LPsA3C3CMAdkya8CZPC9cKffAiAjJTSYtU7RraY+1UQUYa4kbMvdAS9sG9+IXBsEmDcBIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17473},"main":"./dist/cjs/main.js","types":"./dist/types/main.d.ts","module":"./dist/esm/main.js","exports":{".":{"import":{"types":"./dist/types/main.d.ts","default":"./dist/esm/main.js"},"require":{"types":"./dist/types/main.d.ts","default":"./dist/cjs/main.js"}}},"gitHead":"e1cfaf6b14330c9c69a8da2132408b10225602ae","scripts":{"lint":"yarn run eslint --config ../.eslintrc.js --ignore-path ../.eslintignore --fix \"src/**/*.ts\"","test":"jest","build":"yarn run build:clean && yarn run build:js && yarn run build:ts","format":"yarn run prettier --config ../.prettierrc.js --ignore-path ../.prettierignore --log-level warn --write \"src/**/*.ts\"","build:js":"rollup --config rollup.config.mjs","build:ts":"tsc --project tsconfig.json","build:clean":"rimraf dist"},"_npmUser":{"name":"arklanq","email":"nowyarek@gmail.com"},"repository":{"url":"git+https://github.com/arklanq/next-recompose-plugins.git","type":"git"},"_npmVersion":"10.2.3","description":"../README.md","directories":{},"_nodeVersion":"18.17.0","dependencies":{"semver":"^7.5.4","is-promise":"^4.0.0","take-n-pipe":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","next":">=12","tslib":"^2.6.2","eslint":"^8.53.0","rimraf":"^5.0.5","rollup":"^4.4.1","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.2.2","@types/jest":"^29.5.8","@types/semver":"^7.5.5","@types/is-promise":"^2.2.0","@rollup/plugin-json":"^6.0.1","eslint-config-prettier":"^9.0.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.5","@typescript-eslint/parser":"^6.11.0","@rollup/plugin-node-resolve":"^15.2.3","@typescript-eslint/eslint-plugin":"^6.11.0"},"peerDependencies":{"next":">=11"},"_npmOperationalInternal":{"tmp":"tmp/next-recompose-plugins_2.0.2_1700400081159_0.7729905713683403","host":"s3://npm-registry-packages"}},"3.0.0-canary.1":{"name":"next-recompose-plugins","version":"3.0.0-canary.1","keywords":["next.js","next","react","plugins","compose"],"author":{"name":"arklanq"},"license":"MIT","_id":"next-recompose-plugins@3.0.0-canary.1","maintainers":[{"name":"idkman","email":"nowyarek+legacynpm@gmail.com"},{"name":"arklanq","email":"nowyarek@gmail.com"}],"homepage":"https://github.com/arklanq/next-recompose-plugins/lib#readme","bugs":{"url":"https://github.com/arklanq/next-recompose-plugins/issues"},"dist":{"shasum":"95cad46baa77c5dac6720cfa39cfdb9ce70b35d0","tarball":"https://registry.npmjs.org/next-recompose-plugins/-/next-recompose-plugins-3.0.0-canary.1.tgz","fileCount":29,"integrity":"sha512-AIVP3hsAyfNr8njCjJ/0EwSUkxQp3x3ESgVkFk48eXCmAaGBKBXPvz9+ojXVgPL206q2OK5CQQFhC47vM0DNCQ==","signatures":[{"sig":"MEYCIQDFha98tS9n4biKBpAcmOCft+we0QFPfRbhf4+zRoQoYQIhAJbsy8lljsTy8RGDRDvn18bOnLJjP2tXvoDDF3MoBqjV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29106},"main":"./dist/cjs/main.js","type":"module","types":"./dist/cjs/main.d.ts","module":"./dist/esm/main.js","exports":{".":{"import":{"types":"./dist/esm/main.d.ts","default":"./dist/esm/main.js"},"require":{"types":"./dist/cjs/main.d.ts","default":"./dist/cjs/main.js"}}},"gitHead":"f927a5353e8d01b178458be6410f9eed4eabaecc","scripts":{"lint":"yarn run eslint --config ./.eslintrc.cjs --ignore-path ../.eslintignore --fix \"src/**/*.ts\"","test":"NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules --no-warnings='ExperimentalWarning: VM Modules'\" yarn jest","build":"yarn run build:clean && yarn run build:source","format":"yarn run prettier --config ../.prettierrc.js --ignore-path ../.prettierignore --log-level warn --write \"src/**/*.ts\"","build:clean":"rimraf dist","build:source":"rollup --config rollup.config.js","validate-types":"tsc --project tsconfig.json --emitDeclarationOnly false --noEmit"},"_npmUser":{"name":"arklanq","email":"nowyarek@gmail.com"},"repository":{"url":"git+https://github.com/arklanq/next-recompose-plugins.git","type":"git"},"_npmVersion":"10.3.0","description":"[![npm](https://img.shields.io/npm/v/next-recompose-plugins?style=for-the-badge&color=blue)](https://www.npmjs.com/package/next-recompose-plugins) [![license](https://img.shields.io/badge/license-mit-purple?style=for-the-badge)](./LICENSE)","directories":{},"_nodeVersion":"20.11.0","dependencies":{"semver":"^7.6.0","is-promise":"^4.0.0","take-n-pipe":"^1.1.2","enhanced-exception":"^1.0.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","next":">=14","tslib":"^2.6.2","eslint":"^9.0.0","rimraf":"^5.0.5","rollup":"^4.14.1","ts-jest":"^29.1.2","prettier":"^3.2.5","write-pkg":"^7.0.0","typescript":"^5.4.4","@types/jest":"^29.5.12","@types/semver":"^7.5.8","@types/is-promise":"^2.2.0","@rollup/plugin-json":"^6.1.0","eslint-config-prettier":"^9.1.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.6","@typescript-eslint/parser":"^7.6.0","@rollup/plugin-node-resolve":"^15.2.3","@typescript-eslint/eslint-plugin":"^7.6.0"},"peerDependencies":{"next":">=14"},"_npmOperationalInternal":{"tmp":"tmp/next-recompose-plugins_3.0.0-canary.1_1712677718257_0.44378926756597736","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"next-recompose-plugins","version":"3.0.0","keywords":["next.js","next","react","plugins","compose"],"author":{"name":"arklanq"},"license":"MIT","_id":"next-recompose-plugins@3.0.0","maintainers":[{"name":"idkman","email":"nowyarek+legacynpm@gmail.com"},{"name":"arklanq","email":"nowyarek@gmail.com"}],"homepage":"https://github.com/arklanq/next-recompose-plugins/lib#readme","bugs":{"url":"https://github.com/arklanq/next-recompose-plugins/issues"},"dist":{"shasum":"cacdb56afcbab9d7ef886e4f1410ee26c1313212","tarball":"https://registry.npmjs.org/next-recompose-plugins/-/next-recompose-plugins-3.0.0.tgz","fileCount":29,"integrity":"sha512-a+Y6mKyuvcocdNek5RE1wdDi5YwtLoVLAJoD1/UDKSowFDTKkVGGl0Ax3xgeDBfPNIh2ta10VvdkhMAPiMbWlQ==","signatures":[{"sig":"MEQCIGprRrifUy8g2vrbAvSaY/P6Kzx9cNYdJpBeIwmX3asBAiA/IMS/msP3qz8E1MGsjsowFb1Ss8VnjJUOhPjRbpJu5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29071},"main":"./dist/cjs/main.js","type":"module","types":"./dist/cjs/main.d.ts","module":"./dist/esm/main.js","exports":{".":{"import":{"types":"./dist/esm/main.d.ts","default":"./dist/esm/main.js"},"require":{"types":"./dist/cjs/main.d.ts","default":"./dist/cjs/main.js"}}},"gitHead":"ba94d8d19bd3a44847c9afec036d471f57b1da0e","scripts":{"lint":"yarn run eslint --config eslint.config.cjs --fix \"src/**/*.ts\"","test":"NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules --no-warnings='ExperimentalWarning: VM Modules'\" yarn jest","build":"yarn run build:clean && yarn run build:source","format":"yarn run prettier --config ../prettier.config.cjs --ignore-path ../.prettierignore --log-level warn --write \"src/**/*.ts\"","build:clean":"rimraf dist","build:source":"rollup --config rollup.config.js","validate-types":"tsc --project tsconfig.json --emitDeclarationOnly false --noEmit"},"_npmUser":{"name":"arklanq","email":"nowyarek@gmail.com"},"repository":{"url":"git+https://github.com/arklanq/next-recompose-plugins.git","type":"git"},"_npmVersion":"10.7.0","description":"[![npm](https://img.shields.io/npm/v/next-recompose-plugins?style=for-the-badge&color=blue)](https://www.npmjs.com/package/next-recompose-plugins) [![license](https://img.shields.io/badge/license-mit-purple?style=for-the-badge)](./LICENSE)","directories":{},"_nodeVersion":"18.20.0","dependencies":{"semver":"^7.6.0","is-promise":"^4.0.0","take-n-pipe":"^1.1.2","enhanced-exception":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","next":">=14","tslib":"^2.6.2","eslint":"^9.0.0","rimraf":"^5.0.5","rollup":"^4.14.1","ts-jest":"^29.1.2","prettier":"^3.2.5","write-pkg":"^7.0.0","typescript":"^5.4.4","@types/jest":"^29.5.12","@types/semver":"^7.5.8","@types/is-promise":"^2.2.0","@rollup/plugin-json":"^6.1.0","eslint-config-prettier":"^9.1.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-typescript":"^11.1.6","@typescript-eslint/parser":"^7.6.0","@rollup/plugin-node-resolve":"^15.2.3","@typescript-eslint/eslint-plugin":"^7.6.0"},"peerDependencies":{"next":">=14"},"_npmOperationalInternal":{"tmp":"tmp/next-recompose-plugins_3.0.0_1714607080429_0.17724003134859379","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"next-recompose-plugins","author":{"name":"arklanq"},"version":"3.0.1","license":"MIT","type":"module","keywords":["next.js","next","react","plugins","compose"],"repository":{"type":"git","url":"git+https://github.com/arklanq/next-recompose-plugins.git"},"bugs":{"url":"https://github.com/arklanq/next-recompose-plugins/issues"},"homepage":"https://github.com/arklanq/next-recompose-plugins/lib#readme","scripts":{"build:clean":"rimraf dist","build:source":"rollup --config rollup.config.js","build":"yarn run build:clean && yarn run build:source","test":"NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules --no-warnings='ExperimentalWarning: VM Modules'\" yarn jest","lint":"yarn run eslint --config eslint.config.cjs --fix \"src/**/*.ts\"","format":"yarn run prettier --config ../prettier.config.cjs --ignore-path ../.prettierignore --log-level warn --write \"src/**/*.ts\"","validate-types":"tsc --project tsconfig.json --emitDeclarationOnly false --noEmit"},"types":"./dist/cjs/main.d.ts","main":"./dist/cjs/main.js","module":"./dist/esm/main.js","exports":{".":{"require":{"types":"./dist/cjs/main.d.ts","default":"./dist/cjs/main.js"},"import":{"types":"./dist/esm/main.d.ts","default":"./dist/esm/main.js"}}},"dependencies":{"deepmerge":"^4.3.1","enhanced-exception":"^1.0.2","is-promise":"^4.0.0","semver":"^7.7.1","take-n-pipe":"^1.1.2"},"devDependencies":{"typescript-eslint":"^8.31.0","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^16.0.1","@rollup/plugin-typescript":"^12.1.2","@types/is-promise":"^2.2.0","@types/jest":"^29.5.14","@types/semver":"^7.7.0","eslint":"^9.25.1","eslint-config-prettier":"^10.1.2","jest":"^29.7.0","next":">=14","prettier":"^3.5.3","rimraf":"^6.0.1","rollup":"^4.40.0","ts-jest":"^29.3.2","tslib":"^2.8.1","typescript":"^5.8.3","write-pkg":"^7.0.0"},"peerDependencies":{"next":">=14"},"_id":"next-recompose-plugins@3.0.1","gitHead":"e5936fcfbcff92bb393f8c9a9da430f569671cfe","description":"[![npm](https://img.shields.io/npm/v/next-recompose-plugins?style=for-the-badge&color=blue)](https://www.npmjs.com/package/next-recompose-plugins) [![license](https://img.shields.io/badge/license-mit-purple?style=for-the-badge)](./LICENSE)","_nodeVersion":"22.15.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-bhA9PaAyWI74anm2z0LTglDU/QTzANK8PDaWEPlT1v2jW/r0BMJ+Nk9pJ1qhIGPKqLeBx+3uBLrkbFdiim2SxA==","shasum":"0d14304f22791d05be4f8106cea4d41d07caaaca","tarball":"https://registry.npmjs.org/next-recompose-plugins/-/next-recompose-plugins-3.0.1.tgz","fileCount":29,"unpackedSize":29107,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCD2XLQc/49UX5Z+I11pA0IkjQgwFueH3TyUehcZ7Ob9AIgSMX8uO2QGOcNJCzmkc2fB+Ny7BkFhF3Gft0EcJ0Jx0c="}]},"_npmUser":{"name":"arklanq","email":"nowyarek@gmail.com"},"directories":{},"maintainers":[{"name":"idkman","email":"nowyarek+legacynpm@gmail.com"},{"name":"arklanq","email":"nowyarek@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/next-recompose-plugins_3.0.1_1745700496998_0.40237674972533477"},"_hasShrinkwrap":false}},"time":{"created":"2022-09-18T13:15:55.750Z","modified":"2025-04-26T20:48:17.347Z","1.0.0":"2022-09-18T13:15:56.011Z","1.0.1":"2022-09-18T13:20:03.437Z","1.0.2":"2022-09-18T13:25:49.339Z","2.0.0":"2023-03-26T16:03:36.010Z","2.0.1":"2023-11-16T16:42:58.387Z","2.0.2":"2023-11-19T13:21:21.395Z","3.0.0-canary.1":"2024-04-09T15:48:38.434Z","3.0.0":"2024-05-01T23:44:40.578Z","3.0.1":"2025-04-26T20:48:17.160Z"},"bugs":{"url":"https://github.com/arklanq/next-recompose-plugins/issues"},"author":{"name":"arklanq"},"license":"MIT","homepage":"https://github.com/arklanq/next-recompose-plugins/lib#readme","keywords":["next.js","next","react","plugins","compose"],"repository":{"type":"git","url":"git+https://github.com/arklanq/next-recompose-plugins.git"},"description":"[![npm](https://img.shields.io/npm/v/next-recompose-plugins?style=for-the-badge&color=blue)](https://www.npmjs.com/package/next-recompose-plugins) [![license](https://img.shields.io/badge/license-mit-purple?style=for-the-badge)](./LICENSE)","maintainers":[{"name":"idkman","email":"nowyarek+legacynpm@gmail.com"},{"name":"arklanq","email":"nowyarek@gmail.com"}],"readme":"## next-recompose-plugins\n\n[![npm](https://img.shields.io/npm/v/next-recompose-plugins?style=for-the-badge&color=blue)](https://www.npmjs.com/package/next-recompose-plugins)\n[![license](https://img.shields.io/badge/license-mit-purple?style=for-the-badge)](./LICENSE)\n\nThe default way Next.js suggests to enable and configure plugins is unclear and confusing when you have many plugins.\nSometimes we even use plugins that do not have a standardized API, so our code becomes even more obscure.\n\nIn order to address that `next-recompose-plugins` provides a **clean** 🫧 and **easy** ✅ **API** for Next.js's plugins\nconfiguration and composition.\n\n### Table of contents\n\n- [Quick showcase](#quick-showcase)\n- [Installation](#installation)\n- [Building basic configuration](#building-basic-configuration)\n- [Applying plugins](#applying-plugins)\n- [Real world example](#real-world-example)\n- [Migration guides](#migration-guides)\n\n### Quick showcase\n\nFor those who don't like to read a lot.\n\n```javascript\nconst config = new Config(async () => {\n    await something();\n  \n    return {...};\n  })\n  .applyPlugin((phase, args, config) => {\n    return plugin1(config);\n  }, 'plugin-1')\n  .applyPlugin((phase, args, config) => {\n    return plugin2(config);\n  }, 'plugin-2')\n  .applyPlugin((phase, args, config) => {\n    return plugin3(config);\n  }, 'plugin-3')\n  .build();\n```\n\n> Also make sure to see [Real world example](#real-world-example)\n\n### Installation\n\n```shell\nnpm install --save next-recompose-plugins\n```\n\nor\n\n```shell\nyarn add next-recompose-plugins\n```\n\n### Building basic configuration\n\nPass config object directly to `Config` class constructor:\n\n```javascript\n// next.config.js\nconst {Config} = require('next-recompose-plugins');\n\nmodule.exports = new Config({\n    // Next.js's config options goes here ...\n  })\n  .build();\n```\n\nYou can also use a function. This way you have possibility to define different options based on current phase or args\nprovided by Next.\n\n```javascript\n// next.config.js\nconst {Config} = require('next-recompose-plugins');\n\nmodule.exports = new Config((phase, args) => {\n    return {\n      reactStrictMode: true,\n      experimental: {},\n    };\n  })\n  .build();\n```\n\nConfiguration function can also be **async** (supported in Next.js 12.1+).\n\n```javascript\n// next.config.js\nconst {Config} = require('next-recompose-plugins');\n\nmodule.exports = new Config(async (phase, args) => {\n    await something();\n\n    return {\n      reactStrictMode: true,\n      experimental: {},\n    };\n  })\n  .build();\n```\n\n### Applying plugins\n\nLet's apply `@next/bundle-analyzer` plugin by chaining `applyPlugin` method.\nPass a function to `applyPlugin(...)` method which accepts the following arguments:\n\n* `phase` - current configuration phase as one of the constants of `next/constants`;\n* `args` - args provided by Next;\n* `config` - the source config object.\n\n> Important: Your plugin applying function should take the config object, (optionally) enhance it using a desired plugin\n> then return the object back!\n\n```javascript\n// next.config.js\nconst {Config} = require('next-recompose-plugins');\nconst withBundleAnalyzer = require('@next/bundle-analyzer');\n\nmodule.exports = new Config({...})\n  .applyPlugin((phase, args, config) => {\n    // enhance the config with the desired plugin and return it back  \n    return withBundleAnalyzer({})(config);\n  })\n  .build();\n```\n\nLet's say that you want to apply the plugin only in production build, you can do this easily this way:\n\n```javascript\n// next.config.js\nconst {Config} = require('next-recompose-plugins');\nconst {PHASE_PRODUCTION_BUILD} = require('next/constants');\nconst withBundleAnalyzer = require('@next/bundle-analyzer');\n\nmodule.exports = new Config({...})\n  .applyPlugin((phase, args, config) => {\n    // determine current configuration phase\n    if(phase === PHASE_PRODUCTION_BUILD) {\n        // enhance the config with the desired plugin and return it back\n        return withBundleAnalyzer({})(config);\n    }\n    \n    // it's important to always return the config even if no plugins were applied\n    return config;\n  })\n  .build();\n```\n\nPlugin applying function can also be **async** (support in Next.js 12.1+).\n\n```javascript\n// next.config.js\nconst {Config} = require('next-recompose-plugins');\nconst withBundleAnalyzer = require('@next/bundle-analyzer');\n\nmodule.exports = new Config({...})\n  .applyPlugin(async (phase, args, config) => {\n    await something();\n  \n    // enhance the config with the desired plugin and return it back  \n    return withBundleAnalyzer({})(config);\n  })\n  .build();\n```\n\nIt's a good technique to annotate your plugin applying functions with a name.\nWhen an error occur there will be a detailed information provided indicating which `applyMethod` invocation function is\nfailing.\n\n```javascript\n// next.config.js\nconst {Config} = require('next-recompose-plugins');\nconst withBundleAnalyzer = require('@next/bundle-analyzer');\n\nmodule.exports = new Config({...})\n  .applyPlugin((phase, args, config) => {\n    // Uhh.. what's going on here!?\n    throw new Error('Test');\n  \n    // enhance the config with the desired plugin and return it back  \n    return withBundleAnalyzer({})(config);\n  }, 'bundle-analyzer') // Pass an annotation as a last argument\n  .build();\n```\n\n```log\nready - started server on 0.0.0.0:3000, url: http://localhost:3000\nAn error occurred while applying the plugin (bundle-analyzer).\nError: Test\n    at path-to-project-dir/next.config.js:11:11\n    at path-to-project-dir/node_modules/next-recompose-plugins/dist/cjs/main.js:130:44\n    at async Object.normalizeConfig (path-to-project-dir/node_modules/next/dist/server/config-shared.js:130:12)\n    at async Object.loadConfig [as default] (path-to-project-dir/node_modules/next/dist/server/config.js:87:28)\n    at async NextServer.prepare (path-to-project-dir/node_modules/next/dist/server/next.js:134:24)\n    at async path-to-project-dir/node_modules/next/dist/cli/next-dev.js:585:17\n\n```\n\nRemember that you can chain `applyPlugin(...)` methods as many times as you would like to.\n\n```javascript\n// next.config.js\nconst {Config} = require('next-recompose-plugins');\n\nmodule.exports = new Config({...})\n  .applyPlugin(async (phase, args, config) => {...}, 'plugin 1')\n  .applyPlugin(async (phase, args, config) => {...}, 'plugin 2')\n  .applyPlugin(async (phase, args, config) => {...}, 'plugin 3')\n  .build();\n```\n\n### Real world example\n\n```javascript\nconst path = require('path');\nconst {Config} = require('next-recompose-plugins');\nconst {PHASE_PRODUCTION_BUILD} = require('next/constants');\nconst withBundleAnalyzer = require('@next/bundle-analyzer');\nconst withExportImages = require('next-export-optimize-images');\nconst {withSentryConfig} = require('@sentry/nextjs');\n\nconst config = new Config(async () => {\n  await something();\n\n  return {\n    reactStrictMode: true\n  };\n})\n  .applyPlugin((phase, args, config) => {\n    return withBundleAnalyzer({enabled: phase === PHASE_PRODUCTION_BUILD})(config);\n  }, '@next/bundle-analyzer')\n  .applyPlugin((phase, args, config) => {\n    return withExportImages(config, {\n      configPath: 'next-export-optimize-images.config.js',\n    });\n  }, 'next-export-optimize-images')\n  .applyPlugin((phase, args, config) => {\n    // Sentry plugin does not follow community guidelines according valid plugin shape\n\n    config.sentry = {\n      disableServerWebpackPlugin: true,\n      hideSourceMaps: true,\n    };\n\n    let newConfig = withSentryConfig(config, {\n      silent: true,\n      configFile: path.resolve(__dirname, './.config/sentry/sentry.properties'),\n    });\n\n    if (typeof newConfig === 'function') newConfig = newConfig(phase, args);\n\n    return newConfig;\n  }, '@sentry/nextjs')\n  .build();\n\nmodule.exports = config;\n```\n\n### Migration guides\n\n[**v1 -> v2** 🔗](docs/migrations/v1->v2.md)\n","readmeFilename":"README.md"}