From 4fd41fdc32ef75cfaca7ccfdd0b350bd4a6d7b97 Mon Sep 17 00:00:00 2001 From: Nikita Pozdniakov Date: Mon, 19 Jan 2026 12:51:18 +0300 Subject: [PATCH] Enforce pnpm usage and set Node.js version --- .npmrc | 1 + .nvmrc | 1 + package.json | 8 +++++++- scripts/enforce-pnpm.mjs | 6 ++++++ 4 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .npmrc create mode 100644 .nvmrc create mode 100644 scripts/enforce-pnpm.mjs diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..9cf9495 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +package-lock=false \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..cf2efde --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24.13.0 \ No newline at end of file diff --git a/package.json b/package.json index c42892b..9e2a993 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,17 @@ "name": "nikitapozd_website", "type": "module", "version": "0.0.1", + "engines": { + "node": "24.13.0", + "pnpm": ">=9.0.0" + }, + "enginesStrict": true, "scripts": { "dev": "astro dev", "build": "astro build", "preview": "astro preview", - "astro": "astro" + "astro": "astro", + "preinstall": "node ./scripts/enforce-pnpm.mjs" }, "dependencies": { "astro": "^5.16.10" diff --git a/scripts/enforce-pnpm.mjs b/scripts/enforce-pnpm.mjs new file mode 100644 index 0000000..b9397ae --- /dev/null +++ b/scripts/enforce-pnpm.mjs @@ -0,0 +1,6 @@ +if (!process.env.npm_execpath || !process.env.npm_execpath.includes('pnpm')) { + console.error( + 'Ошибка: используйте только `pnpm` для установки зависимостей (запускать: `pnpm install`).' + ); + process.exit(1); +}