{"_id":"@4th-motion/vscode-config","_rev":"6-cc23d4b03e7e25d312b13f93a66113c1","name":"@4th-motion/vscode-config","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.0":{"name":"@4th-motion/vscode-config","version":"1.0.0","author":{"name":"Marco Koenen","email":"mako@4thmotion.com"},"license":"MIT","_id":"@4th-motion/vscode-config@1.0.0","maintainers":[{"name":"marco-koenen","email":"mako@4thmotion.com"}],"homepage":"https://github.com/4th-motion/vscode-config#readme","bugs":{"url":"https://github.com/4th-motion/vscode-config/issues"},"bin":{"4th-vscode":"index.js"},"dist":{"shasum":"f8d87674d81e0cc54ac5d87e7741396865c036d0","tarball":"https://registry.npmjs.org/@4th-motion/vscode-config/-/vscode-config-1.0.0.tgz","fileCount":14,"integrity":"sha512-CVsUc6NBz1iovo0mYtpy7qTepgIl08L7bqW4Oy7x8cCkWURlA3W9yRJtAiN5bA4U61MLD0o4Ge4yhzpSCYdyHA==","signatures":[{"sig":"MEUCIQCmfh4Y9sTYMf3doHN8KtD3nkgopmQr61lBErsnWzs9qQIgXwR1ryFjhgt/d35hHvkidQcYdKHp/1RfV32Vf3IYnUY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfx9urCRA9TVsSAnZWagAABMgP/idxE5RH/BplQZOfXytu\n9vV2UcZBNTXArXjhUhoTpElOqc5KIzZsTmpCqAE8TFuxBaK6ZlaDGgGNFNBY\nXv7DSNSkKlKUGC6wt5BV0k2F15Rt4LU7Kia82+qbVyF6F9qGkwiI+QSF1B7Y\nD2KICXy0frUTa7+YpzQQTr+u72tR9GW9gXLQHQHzptMZt+6aqz16QJuYaw8J\nN5G+V88OjU80spshtW+ajVhKyu2Bn7XkoprO7usYCWpHiEBkCoV3oThqqTAe\ni5805X7nH+b+eBJXf/bl2NgpOHqDjsgdBajuvoRkpRW0r2n2+srX67shd6IT\nigqqKqN3Ihf5Fgrade9UrryvaZKAyFvAEfTFJnNVknkhPsB2EhI39fy8J1KI\nBL6Ykm0Wsf7F2bx+mtzE5P6Qhc/UwUA7uM0cyM8r3noZ8+7aPsPDPxwXqJ24\nSj8CT7JZir2qsduPHut3jxf91Jg54JZeKYItbKz8rJY0Wov0+6frHzW7nbxm\n++tACR7J0l9ES/ISNQ2j33q+j9NCldHJOiLhPrRm3yKc2OgsF1HDqCHpnr6Y\nHKPK6KlS61c3tAhhdA8oVe3IfoYliXqB4S3GQsKO/BhRUCjocEdXF3qkSfNs\nJy1ChSI9MuJgBRVt319/ZeGBgFegRcD1iEATUHwHN5Ds/6rt0L9bMFSxrq11\nJU9B\r\n=WuBp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">= 6"},"gitHead":"5cdd97e9a18959faab09dc1f2b24b92a29e9a8a3","scripts":{"fresh":"rm -rf node_modules; yarn install","lint:js":"4th-eslint ./**/*.js --color --fix --quiet"},"_npmUser":{"name":"marco-koenen","email":"mako@4thmotion.com"},"repository":{"url":"git+https://github.com/4th-motion/vscode-config.git","type":"git"},"_npmVersion":"6.14.9","description":"An easy way to share basic VSCode settings and extensions between your projects.","directories":{},"_nodeVersion":"10.15.2","dependencies":{"chalk":">= 2.4"},"eslintConfig":{"extends":["@4th-motion/eslint-config"]},"_hasShrinkwrap":false,"devDependencies":{"@4th-motion/eslint-config":">= 1"},"_npmOperationalInternal":{"tmp":"tmp/vscode-config_1.0.0_1606933419310_0.129832222567984","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@4th-motion/vscode-config","version":"1.0.1","author":{"name":"Marco Koenen","email":"mako@4thmotion.com"},"license":"MIT","_id":"@4th-motion/vscode-config@1.0.1","maintainers":[{"name":"marco-koenen","email":"mako@4thmotion.com"}],"homepage":"https://github.com/4th-motion/vscode-config#readme","bugs":{"url":"https://github.com/4th-motion/vscode-config/issues"},"bin":{"4th-vscode":"index.js"},"dist":{"shasum":"1f398078fff8d0f62274f2b40eef80441727b07e","tarball":"https://registry.npmjs.org/@4th-motion/vscode-config/-/vscode-config-1.0.1.tgz","fileCount":14,"integrity":"sha512-0gCuBJyl2J3/rMXLC+2Q/KgpTO4OizMEDphIT3zIj/rwa7uHbQ+9lkIw0BvG1qJB62BGBMZrofF2FQMLqpZdXg==","signatures":[{"sig":"MEYCIQDCY8VXWXYhIbQ+MGH5t1/Hxj/ADOzbD9DPCXWB8fU6QwIhAIdUEbA/PMBl5IBekUU/o4h37RshKHjD1K13DC/EA/ru","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyRD3CRA9TVsSAnZWagAAK/8P/26na/s8U5ChT++A97sz\n2GTmPMyxck//elQqMdfDhT9ZI0m/iVj9RbqF1yoX5vH9iajHYTpytFCQMT6X\nLI+4AYPJPPb2EsO2GJlLKBuPkyeQkwEheVoRa+vMj6rK1sAXk/0y7+Xc5dj6\ng9QJRB7dSiqpEA/86nx/4bMV5V8HHQju0oG4/qZoLBCYfhUGzXQHPxTchXBt\n1bm1VlS79jqLelgKZpVCqNthXv/SU3K6ZIFkbsVsItwkECwU/XKi+oNGFloT\nd1U/TuLI1cWljwXIx8NOBIB7loi4JXw7KaAbDakMUrLJlz/nE5FydNSoOYKY\nfljReSrSfyjlNXQqIgoByU8lIwq89TrDdUbhEv/VgSrURmeb07Xr+ccP46yg\npIGE+nSmD86lUzLtdBP+p0QIO6JM5/YJxURotwr/ZPYvYHlZXeUx/MiGSVaq\nDrmjkoAgCKNPU1ClQByzNnlbaB9PXzxIu6pxjEf/fx1fiS7ZIoSfVMcPvtcZ\nodO3SnJO9Lapi89qu/sXAQSfjC4bnIpO2+m4VM+nysolC+AiXMxvd1Fak0SP\nKPGZsueyLZhPlJgmtvOl0WifA+Ag7wfWdO2Dk+M0hL4/j1Lwa2K6016X1JpN\n/p0eVM/+ubafh9XiykLY6p5v2YsoX4SAXN+qdndJ1fyyRXFvAZJSOVA/oZGk\nVOnf\r\n=h4U4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">= 6"},"gitHead":"65d8fe78990af76b95c95f6d400c48eb1176a32d","scripts":{"fresh":"rm -rf node_modules; yarn install","lint:js":"4th-eslint ./**/*.js --color --fix --quiet"},"_npmUser":{"name":"marco-koenen","email":"mako@4thmotion.com"},"repository":{"url":"git+https://github.com/4th-motion/vscode-config.git","type":"git"},"_npmVersion":"6.14.9","description":"An easy way to share basic VSCode settings and extensions between your projects.","directories":{},"_nodeVersion":"10.15.2","dependencies":{"chalk":">= 2.4"},"eslintConfig":{"extends":["@4th-motion/eslint-config"]},"_hasShrinkwrap":false,"devDependencies":{"@4th-motion/eslint-config":">= 1"},"_npmOperationalInternal":{"tmp":"tmp/vscode-config_1.0.1_1607012599217_0.02481263409165324","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@4th-motion/vscode-config","version":"1.0.2","author":{"name":"Marco Koenen","email":"mako@4thmotion.com"},"license":"MIT","_id":"@4th-motion/vscode-config@1.0.2","maintainers":[{"name":"marco-koenen","email":"mako@4thmotion.com"}],"homepage":"https://github.com/4th-motion/vscode-config#readme","bugs":{"url":"https://github.com/4th-motion/vscode-config/issues"},"bin":{"4th-vscode":"./index.js"},"dist":{"shasum":"96cd0086deb369520d5c3b6ba3523d861cad9060","tarball":"https://registry.npmjs.org/@4th-motion/vscode-config/-/vscode-config-1.0.2.tgz","fileCount":14,"integrity":"sha512-jaf/PJP6GYKQiKVu2uTzTHDlRzkCi56INhSOxas6Z+Zg2uMhwh+3AIktNg25/hnTZACFEWB0avm0LX+93sUm1g==","signatures":[{"sig":"MEQCIF0+2y9+bU0zVsxhKjmHnPp4rhuRiAonJRvnJvBEyBniAiATej/pre2XGh7w4GMXJdRSkndPjdsoP171wjZb1nn13Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/V0OCRA9TVsSAnZWagAAo7IP/iYAuz2PXE7lDeIQTR17\nit3DGwQdrUrumqRTHkV7zI3UtQfCWmN4uLeB8IpbAoyhtqu/FP1PNE6cpSbs\nHvd2smHR0NqFSvor8idN/Hs4BVrmD/B8RcuUP9zZOpgaUcATPanytc5n2b0E\nIhaQYW9dnLSi74H3QtkL8bEfBPog7UDBNTtZO9UCX5MpjVXPChlb/Ss5+yUV\ngnQXZmDM1GQx5mRaakODR9KCMdh/rQkw/qGSucY+56rqS4Q5IRufeQ4/ccux\nYyJB2xiHaedzLgv3a/8Yvyx00xvCro8+Ym1GJzVrMvbCeGyTsPBLYjy7Sxge\n6g2kSbBynei21DD0Bx5Ps71HCy5a+WULn76vBapJn6dTTGbnhyNFTFFay5jq\nTUq5Wj0y1/aOeVR+zcNIqjr9mAfn/8vr/52vC5juh376ro+0RcuA2v+pcXaq\nnyJTkd0OxUQ1+66gCaqzC+C5QHc2LY32lx9AmQt3VAhV4VEWX4MxiIYgkx/5\n7E0cj4m2GM8yxgIzjv0sXlUzcU2Q4AFfTFPViIJA7kE95EauEALnlPMCDqJ4\nMefXEcXaTrJO87kUQ1rkYTRyjTTP6OJXltv5vmKATtAHFw3RA2U8SA8jps7j\n6X5pZpSoqOpFk3GYhTKjDEVAqzzK4+2oBr6aBOsofafUFIP/7UkQKwMrbN5H\n8Cyi\r\n=HhNa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">= 6"},"gitHead":"db7082cb82d32e9e5ea8f4930aa3456b82248279","scripts":{"fresh":"rm -rf node_modules; yarn install","lint:js":"4th-eslint ./**/*.js --color --fix --quiet"},"_npmUser":{"name":"marco-koenen","email":"mako@4thmotion.com"},"repository":{"url":"git+https://github.com/4th-motion/vscode-config.git","type":"git"},"_npmVersion":"6.4.1","description":"An easy way to share basic VSCode settings and extensions between your projects.","directories":{},"_nodeVersion":"10.15.2","dependencies":{"chalk":">= 2.4"},"eslintConfig":{"extends":["@4th-motion/eslint-config"]},"_hasShrinkwrap":false,"devDependencies":{"@4th-motion/eslint-config":">= 1"},"_npmOperationalInternal":{"tmp":"tmp/vscode-config_1.0.2_1610439950521_0.23997534348160188","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@4th-motion/vscode-config","version":"1.0.3","author":{"name":"Marco Koenen","email":"mako@4thmotion.com"},"license":"MIT","_id":"@4th-motion/vscode-config@1.0.3","maintainers":[{"name":"marco-koenen","email":"mako@4thmotion.com"}],"homepage":"https://github.com/4th-motion/vscode-config#readme","bugs":{"url":"https://github.com/4th-motion/vscode-config/issues"},"bin":{"4th-vscode":"index.js"},"dist":{"shasum":"34d9f80842cf619e505e13749dc53538d9404c6e","tarball":"https://registry.npmjs.org/@4th-motion/vscode-config/-/vscode-config-1.0.3.tgz","fileCount":14,"integrity":"sha512-4I4zQUBuGPF+70c85twKFdC015cfU0DtIKlXxyBbfhKc5wmsa4Qlbo6g2LHmmwIQvM5IQ1dFH9rVcI9z1fGWuA==","signatures":[{"sig":"MEUCIQDGZ0BZtdSChFg8gti5q763lemsd6wfW6XT3UKOl4LWeAIgBI7cRgpTR2UVdv6ICuTXCtufcl3zWhUaK9jRgbnllSU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOFEvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDYA/+NU4o7xMADqab9SqHHfS4kvCzGoTQSt5uGBfvbdhqQ/um08Y2\r\n7Mj2b6HSXKB7LAuTbihXaSasGT9YuBiAhKCEjdPpYT31bobYvUjteiJHRvLb\r\nnqpH+g8DFF+rle4xCvT5PTICrYqFzE5ESGg2Pn6eZzbrBUMdisE8ZOGNjb7n\r\n4F+CBASIZ0YNPmEoEaTfEi8ntNoT5mygScwYJQZJPyUVhRDYInPABkXWvy8E\r\npahfx+dsH0irthynChZvR16tT785fa+Wlg9L4oXMLjttCQaQ4soQXzvEj0ka\r\npmos1qTZUB2dj+q0bGDfHpEHExJXLD1zbcnBGLu5Uqx00v/yHZdDCqaI5LwA\r\n68dMz8hF2BpTMYmXKv7OEF9XXl1xWigvECuTI5+NnRyIgTzkU3lZAxRabHaS\r\nrR7oEmO+Ju9JVjktQwMz0v5wNahULecOLV6gLuERhtMcuQjUEMd+m3URJq8j\r\nnJ4Vp/ayXmFZCgz23dOoK63lErvV2L7TIX0b94Fg0A8p+pOV7zwdnR3kDPCI\r\no7dEC0co+T7ULLK1+UJ4SbXISWq626oP6uyf755/Tp8ulT+qj3E71Ij+P6FE\r\nXOAzPNKwZCoD+DLJybrnqlN3uYueqYfAkGcGBI+UCZqwQbOK627/du3xmIvy\r\nnP6RHm7fE/sgzGeDIHO5EyZX/OilmJfxJDA=\r\n=GtuY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">= 6"},"gitHead":"8d101cef7c44e62943c6b26775170c7259a20f1e","scripts":{"fresh":"rm -rf node_modules; yarn install","lint:js":"4th-eslint ./**/*.js --color --fix --quiet"},"_npmUser":{"name":"marco-koenen","email":"mako@4thmotion.com"},"repository":{"url":"git+https://github.com/4th-motion/vscode-config.git","type":"git"},"_npmVersion":"8.1.0","description":"An easy way to share basic VSCode settings and extensions between your projects.","directories":{},"_nodeVersion":"14.18.2","dependencies":{"chalk":"4.1.2"},"eslintConfig":{"extends":["@4th-motion/eslint-config"]},"_hasShrinkwrap":false,"devDependencies":{"@4th-motion/eslint-config":">= 1"},"_npmOperationalInternal":{"tmp":"tmp/vscode-config_1.0.3_1647857967728_0.9889711022332182","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@4th-motion/vscode-config","description":"An easy way to share basic VSCode settings and extensions between your projects.","version":"2.1.0","main":"index.js","author":{"name":"Marco Koenen","email":"mako@4thmotion.com"},"license":"MIT","repository":{"url":"git+https://github.com/4th-motion/vscode-config.git","type":"git"},"bin":{"4th-vscode":"index.js"},"scripts":{"fresh":"rm -rf node_modules; yarn install","lint:js":"4th-eslint ./**/*.js --color --fix --quiet"},"dependencies":{"chalk":"4.1.2","comment-json":"^4.2.5"},"devDependencies":{"@4th-motion/eslint-config":">= 1"},"engines":{"node":">= 14"},"eslintConfig":{"extends":["@4th-motion/eslint-config"]},"gitHead":"4e402c68cbe57c6f8956338cbf363ecce385ba23","_id":"@4th-motion/vscode-config@2.1.0","bugs":{"url":"https://github.com/4th-motion/vscode-config/issues"},"homepage":"https://github.com/4th-motion/vscode-config#readme","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-02xg2P1hI/qIwwbKbRwThFM6CAig0xgwVit1tzWir6BP7BP5Wx+4ab0Cd8D7sVPmjabWwHaAJ9lljZ92CBP4Cw==","shasum":"8b3532f37431eb5e18b82746f76fcd980c83f30a","tarball":"https://registry.npmjs.org/@4th-motion/vscode-config/-/vscode-config-2.1.0.tgz","fileCount":14,"unpackedSize":24714,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIF5z0WrHAY5aWYWTSt4WdcA1zdqNpQW8RMl6P+8voY4bAiBveAKogK/0h4izcRYTZlIOp/yjifELksgd2IgQZoh9DQ=="}]},"_npmUser":{"name":"marco-koenen","email":"mako@4thmotion.com"},"directories":{},"maintainers":[{"name":"marco-koenen","email":"mako@4thmotion.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vscode-config_2.1.0_1789045974658_0.47624231455684884"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-02T18:23:39.019Z","modified":"2026-09-10T13:12:54.972Z","1.0.0":"2020-12-02T18:23:39.545Z","1.0.1":"2020-12-03T16:23:19.408Z","1.0.2":"2021-01-12T08:25:50.655Z","1.0.3":"2022-03-21T10:19:27.857Z","2.1.0":"2026-09-10T13:12:54.797Z"},"bugs":{"url":"https://github.com/4th-motion/vscode-config/issues"},"author":{"name":"Marco Koenen","email":"mako@4thmotion.com"},"license":"MIT","homepage":"https://github.com/4th-motion/vscode-config#readme","repository":{"url":"git+https://github.com/4th-motion/vscode-config.git","type":"git"},"description":"An easy way to share basic VSCode settings and extensions between your projects.","maintainers":[{"name":"marco-koenen","email":"mako@4thmotion.com"}],"readme":"# @4th-motion/vscode-config\n> An easy way to share basic VSCode settings and extensions between your projects.\n\n![Version][version-image]\n![License][license-image]\n\nWith this config you can make sure that all projects in the fleet share the same VSCode settings and extension recommendations. A small list of per-project keys is preserved, everything else is managed by this package.\n\n<br>\n\n## Installation\n\nAdd this package as a devDependency to your project:\n\n```\nyarn add --dev @4th-motion/vscode-config\n```\n\n<br>\n\n## Usage\n\nOnce the package is installed, you can initiate it with:\n\n```\nyarn 4th-vscode\n```\n\nor without installing:\n\n```\nnpx @4th-motion/vscode-config\n```\n\nProjects should run it as part of a fleet migration (see the framework migration playbook, §3). The command is idempotent — running it twice changes nothing.\n\n<br>\n\n## Behind the scenes\n\nThe initialization process merges [.vscode/settings.json](/.vscode/settings.json) and copies [.vscode/extensions.json](/.vscode/extensions.json) from this package into your project. Missing files and the `.vscode/` folder are created.\n\n**settings.json** — JSONC-preserving deep merge (comments survive):\n\n- The payload wins for every key it defines.\n- Keys that only exist in the project are kept and reported as `[LOCAL]`.\n- Per-project keys on the preserve list keep their existing project value (reported as `[KEPT]`); if a project does not define them, the payload default is written:\n  - `phpSniffer.executablesFolder`\n  - `phpstan.binPath`\n  - `phpstan.rootDir`\n  - `intelephense.environment.includePaths`\n  - `intelephense.references.exclude`\n\n**extensions.json** — replaced entirely: recommendations and unwanted recommendations are fleet-identical by decision.\n\n<br>\n\n## Customize to your needs\n\nYou can rename this project to `@company/vscode-config` to tailor it to your cooporate. To change the name of the initialization process, you must modify the fields within `bin` in the _package.json_ file as follows:\n\n```json\n{\n  \"bin\": {\n    \"company-vscode\": \"./index.js\"\n  }\n}\n```\n\n<br>\n\n## Further documents\n- [Changelog](/docs/changelog.md)\n- [Contributing](/docs/contributing.md)\n- [Pull request](/docs/pull_request.md)\n- [Code of conduct](/docs/code_of_conduct.md)\n\n<br>\n\n## Related projects\n\n@4th-motion/git-hooks | @4th-motion/stylelint-config\n:-------------------------|:-------------------------\n[![@4th-motion/git-hooks][git-hooks-image]][git-hooks] | [![@4th-motion/stylelint-config][stylelint-image]][stylelint-config]\n\n<br>\n\n## License\n\nCopyright © 2020 by 4th motion GmbH. Released under the [MIT License][license]. \n\n[version-image]: https://img.shields.io/github/package-json/v/4th-motion/vscode-config\n[license-image]: https://img.shields.io/github/license/4th-motion/vscode-config\n[git-hooks-image]: https://avatars1.githubusercontent.com/u/8463894?s=200&v=4\n[stylelint-image]: https://avatars3.githubusercontent.com/u/10076935?s=200&v=4\n[git-hooks]: https://github.com/4th-motion/git-hooks\n[stylelint-config]: https://github.com/4th-motion/stylelint-config\n[license]: /LICENSE.md\n","readmeFilename":"README.md"}