pnpm ਨੇ TMPDIR ਸੌਕੇਟ ਬਜਟ ਰਿਪੇਅਰ ਨੂੰ ਸਵੀਕਾਰ ਕਰ ਲਿਆ ਹੈ

pnpm ਲਈ ਇੱਕ ਤਾਜ਼ਾ ਫੀਲਡ ਟੈਸਟ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਅੱਪਸਟ੍ਰੀਮ (upstream) ਸਵੀਕ੍ਰਿਤੀ ਮਿਲੀ ਹੈ। ਸੀਮਾ-ਕੇਂਦ੍ਰਿਤ (boundary-focused) ਰਿਪੇਅਰਾਂ ਲਈ ਇਹ ਇੱਕ ਵੱਡੀ ਜਿੱਤ ਹੈ।

ਸਮੱਸਿਆ ਪਾਥ ਲੰਬਾਈ (path length) ਦੀ ਸੀਮਾ ਨਾਲ ਸਬੰਧਤ ਸੀ।

ਜਦੋਂ pnpm ਕਿਸੇ ਪੈਕੇਜ ਨੂੰ ਇੰਸਟਾਲ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਹ ਇੱਕ TMPDIR ਪਾਥ ਸੈੱਟ ਕਰਦਾ ਹੈ। ਕੁਝ ਪੈਕੇਜ ਸੈੱਟਅੱਪ ਦੌਰਾਨ ਲਾਈਫਸਾਈਕਲ ਟੂਲਸ (lifecycle tools) ਚਲਾਉਂਦੇ ਹਨ। ਇਹ ਟੂਲ ਅਕਸਰ IPC ਸੌਕੇਟਸ ਬਣਾਉਂਦੇ ਹਨ। ਜੇਕਰ pnpm ਦਾ TMPDIR ਪਾਥ ਬਹੁਤ ਲੰਬਾ ਹੋਵੇ, ਤਾਂ ਕੁੱਲ ਸੌਕੇਟ ਪਾਥ Unix ਦੀ ਸੀਮਾ ਤੋਂ ਵੱਧ ਜਾਂਦਾ ਹੈ। ਇਸ ਕਾਰਨ Node ਇੱਕ ਐਰਰ (error) ਦਰਸਾਉਂਦਾ ਹੈ।

ਇਹ ਐਰਰ Node ਜਾਂ ਟੂਲ ਦੀ ਅਸਫਲਤਾ ਵਾਂਗ ਲੱਗਦਾ ਹੈ। ਪਰ ਅਸਲ ਕਾਰਨ ਪਾਥ ਬਜਟ (path budget) ਦੀ ਸਮੱਸਿਆ ਹੈ।

pnpm Unix ਸੌਕੇਟ ਸੀਮਾ ਦਾ ਮਾਲਕ ਨਹੀਂ ਹੈ। pnpm ਲਾਈਫਸਾਈਕਲ ਟੂਲਸ ਦਾ ਮਾਲਕ ਨਹੀਂ ਹੈ। pnpm ਉਸ ਟੈਂਪਰੇਰੀ ਡਾਇਰੈਕਟਰੀ ਪਾਥ ਦਾ ਮਾਲਕ ਹੈ ਜੋ ਇਹ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।

ਰਿਪੇਅਰ ਸਿਰਫ਼ ਉਸੇ ਚੀਜ਼ 'ਤੇ ਕੇਂਦਰਿਤ ਹੈ ਜਿਸ ਨੂੰ pnpm ਕੰਟਰੋਲ ਕਰਦਾ ਹੈ।

ਇਹ ਫਿਕਸ (fix) ਪਾਥ ਦੇ pnpm-ਮਾਲਕ ਹਿੱਸੇ ਨੂੰ ਛੋਟਾ ਕਰ ਦਿੰਦਾ ਹੈ। ਇਹ ਇੱਕ ਸੰਖੇਪ ਪ੍ਰੀਫਿਕਸ (compact prefix) ਦੇ ਨਾਲ Node ਦੇ ਨੈਟਿਵ fs.mkdtemp() ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਟੈਂਪ ਡਾਇਰੈਕਟਰੀ ਨੂੰ pnpm ਸਟੋਰ ਦੇ ਅੰਦਰ ਰੱਖਦਾ ਹੈ ਪਰ ਘੱਟ ਜਗ੍ਹਾ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।

ਇਹ ਪਹੁੰਚ ਤਿੰਨ ਨਿਯਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਦੀ ਹੈ:

ਇਹ ਇੱਕ ਸੀਮਤ ਅਤੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਰਿਪੇਅਰ ਹੈ। ਇਹ ਹਰ ਸੰਭਵ ਸੌਕੇਟ ਐਰਰ ਨੂੰ ਠੀਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ ਕਰਦਾ। ਇਹ pnpm ਦੇ ਪ੍ਰੀਵਿਲੇਜ (privileges) ਚਲਾਉਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਨਹੀਂ ਬਦਲਦਾ। ਇਹ ਸਿਰਫ਼ pnpm ਨੂੰ ਪਾਥ ਬਜਟ ਬਰਬਾਦ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ।

pnpm ਮੇਨਟੇਨਰਾਂ ਨੇ 16 ਜੂਨ, 2026 ਨੂੰ ਇਸ ਨੂੰ ਮਨਜ਼ੂਰੀ ਦਿੱਤੀ ਅਤੇ ਮਰਜ (merge) ਕਰ ਦਿੱਤਾ।

ਇਹ ਸਫਲਤਾ ਸਾਬਤ ਕਰਦੀ ਹੈ ਕਿ Scarab/SDS ਵਿਧੀ ਕੰਮ ਕਰਦੀ ਹੈ। ਅਸੀਂ ਮਾਲਕੀ ਵਾਲੀ ਸਤ੍ਹਾ (owned surface) ਲੱਭਦੇ ਹਾਂ। ਅਸੀਂ ਸਭ ਤੋਂ ਉੱਘੇ ਲੱਛਣ (loudest symptom) ਤੋਂ ਬਚਦੇ ਹਾਂ। ਅਸੀਂ ਪੈਚ (patch) ਨੂੰ ਛੋਟਾ ਰੱਖਦੇ ਹਾਂ। ਅਸੀਂ ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਸੀਮਾਵਾਂ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦੇ ਹਾਂ।

ਇਸ ਟੈਸਟ ਲਈ Field Lab ਸਟੇਟਸ ਹੁਣ ਹੈ: upstream-accepted।

ਸਰੋਤ: https://dev.to/scarab-systems/scarab-diagnostic-field-test-024b-pnpm-accepted-the-cafs-tmpdir-socket-budget-repair-34bb

ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi