diff --git a/npm/turbo-darwin-64/package.json b/npm/turbo-darwin-64/package.json index 282e2b67710e1..f27ed4a7de29b 100644 --- a/npm/turbo-darwin-64/package.json +++ b/npm/turbo-darwin-64/package.json @@ -1,5 +1,5 @@ { - "name": "@turborepo/turbo-darwin-64", + "name": "turbo-darwin-64", "version": "0.8.5", "description": "The macOS 64-bit binary for turbo, a monorepo build system.", "repository": "https://github.com/turborepo/turbo", @@ -12,9 +12,5 @@ ], "directories": { "bin": "bin" - }, - "publishConfig": { - "access": "restricted", - "registry": "https://npm.pkg.github.com" } } diff --git a/npm/turbo-darwin-arm64/package.json b/npm/turbo-darwin-arm64/package.json index fd3f55b303d90..72824816445d8 100644 --- a/npm/turbo-darwin-arm64/package.json +++ b/npm/turbo-darwin-arm64/package.json @@ -1,5 +1,5 @@ { - "name": "@turborepo/turbo-darwin-arm64", + "name": "turbo-darwin-arm64", "version": "0.8.5", "description": "The macOS ARM 64-bit binary for turbo, a monorepo build system.", "repository": "https://github.com/turborepo/turbo", @@ -12,9 +12,5 @@ ], "directories": { "bin": "bin" - }, - "publishConfig": { - "access": "restricted", - "registry": "https://npm.pkg.github.com" } } diff --git a/npm/turbo-freebsd-64/package.json b/npm/turbo-freebsd-64/package.json index c810b291f661f..d48eb6683e303 100644 --- a/npm/turbo-freebsd-64/package.json +++ b/npm/turbo-freebsd-64/package.json @@ -1,5 +1,5 @@ { - "name": "@turborepo/turbo-freebsd-64", + "name": "turbo-freebsd-64", "version": "0.8.5", "description": "The FreeBSD 64-bit binary for turbo, a monorepo build system.", "repository": "https://github.com/turborepo/turbo", @@ -12,9 +12,5 @@ ], "directories": { "bin": "bin" - }, - "publishConfig": { - "access": "restricted", - "registry": "https://npm.pkg.github.com" } } diff --git a/npm/turbo-freebsd-arm64/package.json b/npm/turbo-freebsd-arm64/package.json index a36091ee95894..b9d6352c52559 100644 --- a/npm/turbo-freebsd-arm64/package.json +++ b/npm/turbo-freebsd-arm64/package.json @@ -1,5 +1,5 @@ { - "name": "@turborepo/turbo-freebsd-arm64", + "name": "turbo-freebsd-arm64", "version": "0.8.5", "description": "The FreeBSD ARM 64-bit binary for turbo, a monorepo build system.", "repository": "https://github.com/turborepo/turbo", @@ -12,9 +12,5 @@ ], "directories": { "bin": "bin" - }, - "publishConfig": { - "access": "restricted", - "registry": "https://npm.pkg.github.com" } } diff --git a/npm/turbo-install/README.md b/npm/turbo-install/README.md index 41148d1af6858..af4ac632009f5 100644 --- a/npm/turbo-install/README.md +++ b/npm/turbo-install/README.md @@ -3,10 +3,7 @@
-
-
-
-
+
@@ -14,19 +11,17 @@
## Documentation
-Visit https://turborepo.org/docs to view the full documentation.
+Visit https://turborepo.com/docs to view the full documentation.
## Community
-The Turborepo community can be found on [GitHub Discussions](https://github.com/vercel/turborepo/discussions), where you can ask questions, voice ideas, and share your projects.
-
To chat with other community members, you can join the [Turborepo Discord](https://turborepo.org/discord)
-Our [Code of Conduct](https://github.com/vercel/turborepo/blob/main/.github/CODE_OF_CONDUCT.md) applies to all Turborepo community channels.
+Our [Code of Conduct](https://github.com/turborepo/turbo/blob/main/.github/CODE_OF_CONDUCT.md) applies to all Turborepo community channels.
## Updates
-Follow [@turborepo](https://twitter.com/turborepo) and [@Vercel](https://twitter.com/vercel) for updates and announcements.
+Follow [@turborepo](https://twitter.com/turborepo)
## Author
diff --git a/npm/turbo-install/install.js b/npm/turbo-install/install.js
index 5bfe8610fabd0..a8ccfc0f4e3cd 100644
--- a/npm/turbo-install/install.js
+++ b/npm/turbo-install/install.js
@@ -1,247 +1,215 @@
-const fs = require('fs')
-const os = require('os')
-const path = require('path')
-const zlib = require('zlib')
-const got = require('got')
-const https = require('https')
-const child_process = require('child_process')
-const getAuthToken = require('registry-auth-token')
-const version = require('./package.json').version
-const binPath = path.join(__dirname, 'bin', 'turbo')
-
-const TOKEN = process.env.TURBO_TOKEN || process.env.TURBOREPO_TOKEN
+// Most of this file is ripped from esbuild's postinstall script
+// @see https://github.com/evanw/esbuild/blob/v0.12.29/lib/npm/install.ts
+const fs = require("fs");
+const os = require("os");
+const path = require("path");
+const zlib = require("zlib");
+const https = require("https");
+const child_process = require("child_process");
+const version = require("./package.json").version;
+const binPath = path.join(__dirname, "bin", "turbo");
async function installBinaryFromPackage(name, fromPath, toPath) {
// Try to install from the cache if possible
- // const cachePath = getCachePath(name)
- // try {
- // // Copy from the cache
- // fs.copyFileSync(cachePath, toPath)
- // fs.chmodSync(toPath, 0o755)
+ const cachePath = getCachePath(name);
+ try {
+ // Copy from the cache
+ fs.copyFileSync(cachePath, toPath);
+ fs.chmodSync(toPath, 0o755);
- // // Verify that the binary is the correct version
- // validateBinaryVersion(toPath)
+ // Verify that the binary is the correct version
+ validateBinaryVersion(toPath);
- // // Mark the cache entry as used for LRU
- // const now = new Date()
- // fs.utimesSync(cachePath, now, now)
- // return
- // } catch {}
+ // Mark the cache entry as used for LRU
+ const now = new Date();
+ fs.utimesSync(cachePath, now, now);
+ return;
+ } catch (e) {}
// Next, try to install using npm. This should handle various tricky cases
// such as environments where requests to npmjs.org will hang (in which case
// there is probably a proxy and/or a custom registry configured instead).
- let buffer
- let didFail = true
- // try {
- // buffer = installUsingNPM(name, fromPath)
- // } catch (err) {
- // didFail = true
- // console.error(`Trying to install "${name}" using npm`)
- // console.error(
- // `Failed to install "${name}" using npm: ${(err && err.message) || err}`
- // )
- // }
+ let buffer;
+ let didFail = true;
+ try {
+ buffer = installUsingNPM(name, fromPath);
+ } catch (err) {
+ didFail = true;
+ console.error(`Trying to install "${name}" using npm`);
+ console.error(
+ `Failed to install "${name}" using npm: ${(err && err.message) || err}`
+ );
+ }
// If that fails, the user could have npm configured incorrectly or could not
// have npm installed. Try downloading directly from npm as a last resort.
if (!buffer) {
- const { body } = await got(`https://npm.turborepo.com/${name}`)
- // https://registry.npmjs.org/@microsoft/task-scheduler/-/task-scheduler-1.0.0.tgz
- const url = JSON.parse(body).versions[version].dist.tarball
- console.error(`Trying to download ${JSON.stringify(url)}`)
+ const url = `https://registry.npmjs.org/${name}/-/${name}-${version}.tgz`;
+ console.error(`Trying to download ${JSON.stringify(url)}`);
try {
- buffer = extractFileFromTarGzip(await fetch(url), fromPath)
+ buffer = extractFileFromTarGzip(await fetch(url), fromPath);
} catch (err) {
console.error(
`Failed to download ${JSON.stringify(url)}: ${
(err && err.message) || err
}`
- )
+ );
}
}
// Give up if none of that worked
if (!buffer) {
- console.error(`Install unsuccessful`)
- process.exit(1)
+ console.error(`Install unsuccessful`);
+ process.exit(1);
}
// Write out the binary executable that was extracted from the package
- fs.writeFileSync(toPath, buffer, { mode: 0o755 })
+ fs.writeFileSync(toPath, buffer, { mode: 0o755 });
// Verify that the binary is the correct version
try {
- validateBinaryVersion(toPath)
+ validateBinaryVersion(toPath);
} catch (err) {
console.error(
`The version of the downloaded binary is incorrect: ${
(err && err.message) || err
}`
- )
- console.error(`Install unsuccessful`)
- process.exit(1)
+ );
+ console.error(`Install unsuccessful`);
+ process.exit(1);
}
// Also try to cache the file to speed up future installs
- // try {
- // fs.mkdirSync(path.dirname(cachePath), {
- // recursive: true,
- // mode: 0o700, // https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
- // })
- // fs.copyFileSync(toPath, cachePath)
- // cleanCacheLRU(cachePath)
- // } catch {}
+ try {
+ fs.mkdirSync(path.dirname(cachePath), {
+ recursive: true,
+ mode: 0o700, // https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
+ });
+ fs.copyFileSync(toPath, cachePath);
+ cleanCacheLRU(cachePath);
+ } catch (e) {}
- if (didFail) console.error(`Install successful`)
+ if (didFail) console.error(`Install successful`);
}
function validateBinaryVersion(binaryPath) {
const stdout = child_process
- .execFileSync(binaryPath, ['--version'])
+ .execFileSync(binaryPath, ["--version"])
.toString()
- .trim()
+ .trim();
if (stdout !== version) {
throw new Error(
`Expected ${JSON.stringify(version)} but got ${JSON.stringify(stdout)}`
- )
+ );
}
}
function getCachePath(name) {
- const home = os.homedir()
- const common = ['turbo', 'bin', `${name}@${version}`]
- if (process.platform === 'darwin')
- return path.join(home, 'Library', 'Caches', ...common)
- if (process.platform === 'win32')
- return path.join(home, 'AppData', 'Local', 'Cache', ...common)
+ const home = os.homedir();
+ const common = ["turbo", "bin", `${name}@${version}`];
+ if (process.platform === "darwin")
+ return path.join(home, "Library", "Caches", ...common);
+ if (process.platform === "win32")
+ return path.join(home, "AppData", "Local", "Cache", ...common);
// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
- const XDG_CACHE_HOME = process.env.XDG_CACHE_HOME
+ const XDG_CACHE_HOME = process.env.XDG_CACHE_HOME;
if (
- process.platform === 'linux' &&
+ process.platform === "linux" &&
XDG_CACHE_HOME &&
path.isAbsolute(XDG_CACHE_HOME)
)
- return path.join(XDG_CACHE_HOME, ...common)
+ return path.join(XDG_CACHE_HOME, ...common);
- return path.join(home, '.cache', ...common)
+ return path.join(home, ".cache", ...common);
}
function cleanCacheLRU(fileToKeep) {
// Gather all entries in the cache
- const dir = path.dirname(fileToKeep)
- const entries = []
+ const dir = path.dirname(fileToKeep);
+ const entries = [];
for (const entry of fs.readdirSync(dir)) {
- const entryPath = path.join(dir, entry)
+ const entryPath = path.join(dir, entry);
try {
- const stats = fs.statSync(entryPath)
- entries.push({ path: entryPath, mtime: stats.mtime })
- } catch {}
+ const stats = fs.statSync(entryPath);
+ entries.push({ path: entryPath, mtime: stats.mtime });
+ } catch (e) {}
}
// Only keep the most recent entries
- entries.sort((a, b) => +b.mtime - +a.mtime)
+ entries.sort((a, b) => +b.mtime - +a.mtime);
for (const entry of entries.slice(5)) {
try {
- fs.unlinkSync(entry.path)
- } catch {}
+ fs.unlinkSync(entry.path);
+ } catch (e) {}
}
}
function fetch(url) {
- let token = TOKEN
- try {
- const t = getAuthToken('//npm.turborepo.com')
- if (t && t.token) {
- token = t.token
- }
- } catch (error) {
- console.error('Could not read token from .npmrc')
- }
return new Promise((resolve, reject) => {
https
- .get(
- url,
- {
- headers: {
- Authorization: 'Bearer ' + token,
- },
- },
- (res) => {
- if (
- (res.statusCode === 301 || res.statusCode === 302) &&
- res.headers.location
- )
- return fetch(res.headers.location).then(resolve, reject)
- if (res.statusCode !== 200)
- return reject(new Error(`Server responded with ${res.statusCode}`))
- let chunks = []
- res.on('data', (chunk) => chunks.push(chunk))
- res.on('end', () => resolve(Buffer.concat(chunks)))
- }
- )
- .on('error', reject)
- })
+ .get(url, (res) => {
+ if (
+ (res.statusCode === 301 || res.statusCode === 302) &&
+ res.headers.location
+ )
+ return fetch(res.headers.location).then(resolve, reject);
+ if (res.statusCode !== 200)
+ return reject(new Error(`Server responded with ${res.statusCode}`));
+ let chunks = [];
+ res.on("data", (chunk) => chunks.push(chunk));
+ res.on("end", () => resolve(Buffer.concat(chunks)));
+ })
+ .on("error", reject);
+ });
}
function extractFileFromTarGzip(buffer, file) {
try {
- buffer = zlib.unzipSync(buffer)
+ buffer = zlib.unzipSync(buffer);
} catch (err) {
throw new Error(
`Invalid gzip data in archive: ${(err && err.message) || err}`
- )
+ );
}
let str = (i, n) =>
- String.fromCharCode(...buffer.subarray(i, i + n)).replace(/\0.*$/, '')
- let offset = 0
- file = `package/${file}`
+ String.fromCharCode(...buffer.subarray(i, i + n)).replace(/\0.*$/, "");
+ let offset = 0;
+ file = `package/${file}`;
while (offset < buffer.length) {
- let name = str(offset, 100)
- let size = parseInt(str(offset + 124, 12), 8)
- offset += 512
+ let name = str(offset, 100);
+ let size = parseInt(str(offset + 124, 12), 8);
+ offset += 512;
if (!isNaN(size)) {
- if (name === file) return buffer.subarray(offset, offset + size)
- offset += (size + 511) & ~511
+ if (name === file) return buffer.subarray(offset, offset + size);
+ offset += (size + 511) & ~511;
}
}
- throw new Error(`Could not find ${JSON.stringify(file)} in archive`)
+ throw new Error(`Could not find ${JSON.stringify(file)} in archive`);
}
function installUsingNPM(name, file) {
const installDir = path.join(
os.tmpdir(),
- 'turbo-' + Math.random().toString(36).slice(2)
- )
- fs.mkdirSync(installDir, { recursive: true })
- fs.writeFileSync(path.join(installDir, 'package.json'), '{}')
- try {
- fs.copyFileSync(
- path.join(process.cwd(), '.npmrc'),
- path.join(installDir, '.npmrc')
- )
- } catch (error) {}
+ "turbo-" + Math.random().toString(36).slice(2)
+ );
+ fs.mkdirSync(installDir, { recursive: true });
+ fs.writeFileSync(path.join(installDir, "package.json"), "{}");
+
// Erase "npm_config_global" so that "npm install --global turbo" works.
// Otherwise this nested "npm install" will also be global, and the install
// will deadlock waiting for the global installation lock.
- const env = { ...process.env, npm_config_global: undefined }
+ const env = { ...process.env, npm_config_global: undefined };
child_process.execSync(
- `npm install --loglevel=error --prefer-offline --no-audit --progress=false ${name}@${version} --registry=https://npm.turborepo.com`,
- { cwd: installDir, stdio: 'pipe', env }
- )
+ `npm install --loglevel=error --prefer-offline --no-audit --progress=false ${name}@${version}`,
+ { cwd: installDir, stdio: "pipe", env }
+ );
const buffer = fs.readFileSync(
- path.join(
- installDir,
- 'node_modules',
- '@turborepo',
- name.replace('@turborepo/', ''),
- file
- )
- )
+ path.join(installDir, "node_modules", name, file)
+ );
try {
- removeRecursive(installDir)
+ removeRecursive(installDir);
} catch (e) {
// Removing a file or directory can randomly break on Windows, returning
// EBUSY for an arbitrary length of time. I think this happens when some
@@ -251,46 +219,52 @@ function installUsingNPM(name, file) {
// ignore errors because this directory is in a temporary directory, so in
// theory it should get cleaned up eventually anyway.
}
- return buffer
+ return buffer;
}
function removeRecursive(dir) {
for (const entry of fs.readdirSync(dir)) {
- const entryPath = path.join(dir, entry)
- let stats
+ const entryPath = path.join(dir, entry);
+ let stats;
try {
- stats = fs.lstatSync(entryPath)
+ stats = fs.lstatSync(entryPath);
} catch (e) {
- continue // Guard against https://github.com/nodejs/node/issues/4760
+ continue; // Guard against https://github.com/nodejs/node/issues/4760
}
- if (stats.isDirectory()) removeRecursive(entryPath)
- else fs.unlinkSync(entryPath)
+ if (stats.isDirectory()) removeRecursive(entryPath);
+ else fs.unlinkSync(entryPath);
}
- fs.rmdirSync(dir)
+ fs.rmdirSync(dir);
}
function isYarnBerryOrNewer() {
- const { npm_config_user_agent } = process.env
+ const { npm_config_user_agent } = process.env;
if (npm_config_user_agent) {
- const match = npm_config_user_agent.match(/yarn\/(\d+)/)
+ const match = npm_config_user_agent.match(/yarn\/(\d+)/);
if (match && match[1]) {
- return parseInt(match[1], 10) >= 2
+ return parseInt(match[1], 10) >= 2;
}
}
- return false
+ return false;
}
function installDirectly(name) {
- if (process.env.TURBO_BIN_PATH_FOR_TESTS) {
- fs.unlinkSync(binPath)
- fs.symlinkSync(process.env.TURBO_BIN_PATH_FOR_TESTS, binPath)
- validateBinaryVersion(process.env.TURBO_BIN_PATH_FOR_TESTS)
+ if (process.env.TURBO_BINARY_PATH) {
+ fs.copyFileSync(process.env.TURBO_BINARY_PATH, binPath);
+ validateBinaryVersion(binPath);
} else {
- installBinaryFromPackage(name, 'bin/turbo', binPath).catch((e) =>
- setImmediate(() => {
- throw e
- })
- )
+ // Write to a temporary file, then move the file into place. This is an
+ // attempt to avoid problems with package managers like pnpm which will
+ // usually turn each file into a hard link. We don't want to mutate the
+ // hard-linked file which may be shared with other files.
+ const tempBinPath = binPath + "__";
+ installBinaryFromPackage(name, "bin/turbo", tempBinPath)
+ .then(() => fs.renameSync(tempBinPath, binPath))
+ .catch((e) =>
+ setImmediate(() => {
+ throw e;
+ })
+ );
}
}
@@ -304,17 +278,17 @@ const child_process = require('child_process');
const { status } = child_process.spawnSync(turbo_exe, process.argv.slice(2), { stdio: 'inherit' });
process.exitCode = status === null ? 1 : status;
`
- )
- const absToPath = path.join(__dirname, toPath)
- if (process.env.TURBO_BIN_PATH_FOR_TESTS) {
- fs.copyFileSync(process.env.TURBO_BIN_PATH_FOR_TESTS, absToPath)
- validateBinaryVersion(process.env.TURBO_BIN_PATH_FOR_TESTS)
+ );
+ const absToPath = path.join(__dirname, toPath);
+ if (process.env.TURBO_BINARY_PATH) {
+ fs.copyFileSync(process.env.TURBO_BINARY_PATH, absToPath);
+ validateBinaryVersion(absToPath);
} else {
installBinaryFromPackage(name, fromPath, absToPath).catch((e) =>
setImmediate(() => {
- throw e
+ throw e;
})
- )
+ );
}
}
@@ -329,40 +303,40 @@ function installOnUnix(name) {
// Yarn 2. Normal package managers can just run the binary directly for
// maximum speed.
if (isYarnBerryOrNewer()) {
- installWithWrapper(name, 'bin/turbo', 'turbo')
+ installWithWrapper(name, "bin/turbo", "turbo");
} else {
- installDirectly(name)
+ installDirectly(name);
}
}
function installOnWindows(name) {
- installWithWrapper(name, 'turbo.exe', 'turbo.exe')
+ installWithWrapper(name, "turbo.exe", "turbo.exe");
}
-const platformKey = `${process.platform} ${os.arch()} ${os.endianness()}`
+const platformKey = `${process.platform} ${os.arch()} ${os.endianness()}`;
const knownWindowsPackages = {
- 'win32 ia32 LE': '@turborepo/turbo-windows-32',
- 'win32 x64 LE': '@turborepo/turbo-windows-64',
-}
+ "win32 ia32 LE": "turbo-windows-32",
+ "win32 x64 LE": "turbo-windows-64",
+};
const knownUnixlikePackages = {
- 'darwin x64 LE': '@turborepo/turbo-darwin-64',
- 'darwin arm64 LE': '@turborepo/turbo-darwin-arm64',
- 'freebsd arm64 LE': '@turborepo/turbo-freebsd-arm64',
- 'freebsd x64 LE': '@turborepo/turbo-freebsd-64',
- 'linux arm LE': '@turborepo/turbo-linux-arm',
- 'linux arm64 LE': '@turborepo/turbo-linux-arm64',
- 'linux ia32 LE': '@turborepo/turbo-linux-32',
- 'linux mips64el LE': '@turborepo/turbo-linux-mips64le',
- 'linux ppc64 LE': '@turborepo/turbo-linux-ppc64le',
- 'linux x64 LE': '@turborepo/turbo-linux-64',
-}
+ "darwin x64 LE": "turbo-darwin-64",
+ "darwin arm64 LE": "turbo-darwin-arm64",
+ "freebsd arm64 LE": "turbo-freebsd-arm64",
+ "freebsd x64 LE": "turbo-freebsd-64",
+ "linux arm LE": "turbo-linux-arm",
+ "linux arm64 LE": "turbo-linux-arm64",
+ "linux ia32 LE": "turbo-linux-32",
+ "linux mips64el LE": "turbo-linux-mips64le",
+ "linux ppc64 LE": "turbo-linux-ppc64le",
+ "linux x64 LE": "turbo-linux-64",
+};
// Pick a package to install
if (platformKey in knownWindowsPackages) {
- installOnWindows(knownWindowsPackages[platformKey])
+ installOnWindows(knownWindowsPackages[platformKey]);
} else if (platformKey in knownUnixlikePackages) {
- installOnUnix(knownUnixlikePackages[platformKey])
+ installOnUnix(knownUnixlikePackages[platformKey]);
} else {
- console.error(`Unsupported platform: ${platformKey}`)
- process.exit(1)
+ console.error(`Unsupported platform: ${platformKey}`);
+ process.exit(1);
}
diff --git a/npm/turbo-install/package.json b/npm/turbo-install/package.json
index a341b3c41ae40..28ea832b4a3cf 100644
--- a/npm/turbo-install/package.json
+++ b/npm/turbo-install/package.json
@@ -3,16 +3,11 @@
"version": "0.8.5",
"description": "The blazing fast monorepo build system.",
"repository": "https://github.com/turborepo/turbo",
- "scripts": {
- "postinstall": "node install.js"
- },
"bin": {
"turbo": "bin/turbo"
},
"license": "SEE LICENSE IN TRIAL AGREEMENT",
"dependencies": {
- "got": "^11.8.2",
- "registry-auth-token": "^4.2.1",
"zlib": "^1.0.5"
}
}
diff --git a/npm/turbo-install/yarn.lock b/npm/turbo-install/yarn.lock
index cdb8d786a0dae..14bb6dc5e3dd3 100644
--- a/npm/turbo-install/yarn.lock
+++ b/npm/turbo-install/yarn.lock
@@ -2,244 +2,6 @@
# yarn lockfile v1
-"@sindresorhus/is@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4"
- integrity sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ==
-
-"@szmarczak/http-timer@^4.0.5":
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152"
- integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==
- dependencies:
- defer-to-connect "^2.0.0"
-
-"@types/cacheable-request@^6.0.1":
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976"
- integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==
- dependencies:
- "@types/http-cache-semantics" "*"
- "@types/keyv" "*"
- "@types/node" "*"
- "@types/responselike" "*"
-
-"@types/http-cache-semantics@*":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a"
- integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==
-
-"@types/keyv@*":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7"
- integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==
- dependencies:
- "@types/node" "*"
-
-"@types/node@*":
- version "14.14.37"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.37.tgz#a3dd8da4eb84a996c36e331df98d82abd76b516e"
- integrity sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==
-
-"@types/responselike@*", "@types/responselike@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
- integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==
- dependencies:
- "@types/node" "*"
-
-cacheable-lookup@^5.0.3:
- version "5.0.4"
- resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005"
- integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==
-
-cacheable-request@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58"
- integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==
- dependencies:
- clone-response "^1.0.2"
- get-stream "^5.1.0"
- http-cache-semantics "^4.0.0"
- keyv "^4.0.0"
- lowercase-keys "^2.0.0"
- normalize-url "^4.1.0"
- responselike "^2.0.0"
-
-clone-response@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
- integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
- dependencies:
- mimic-response "^1.0.0"
-
-decompress-response@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
- integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
- dependencies:
- mimic-response "^3.1.0"
-
-deep-extend@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
- integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-
-defer-to-connect@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587"
- integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==
-
-end-of-stream@^1.1.0:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
-get-stream@^5.1.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
- integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
- dependencies:
- pump "^3.0.0"
-
-got@^11.8.2:
- version "11.8.2"
- resolved "https://registry.yarnpkg.com/got/-/got-11.8.2.tgz#7abb3959ea28c31f3576f1576c1effce23f33599"
- integrity sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==
- dependencies:
- "@sindresorhus/is" "^4.0.0"
- "@szmarczak/http-timer" "^4.0.5"
- "@types/cacheable-request" "^6.0.1"
- "@types/responselike" "^1.0.0"
- cacheable-lookup "^5.0.3"
- cacheable-request "^7.0.1"
- decompress-response "^6.0.0"
- http2-wrapper "^1.0.0-beta.5.2"
- lowercase-keys "^2.0.0"
- p-cancelable "^2.0.0"
- responselike "^2.0.0"
-
-http-cache-semantics@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
- integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
-
-http2-wrapper@^1.0.0-beta.5.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d"
- integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==
- dependencies:
- quick-lru "^5.1.1"
- resolve-alpn "^1.0.0"
-
-ini@~1.3.0:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
- integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
-
-json-buffer@3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
- integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
-
-keyv@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254"
- integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==
- dependencies:
- json-buffer "3.0.1"
-
-lowercase-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
- integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
-
-mimic-response@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
- integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
-
-mimic-response@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
- integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
-
-minimist@^1.2.0:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
- integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
-
-normalize-url@^4.1.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129"
- integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
-
-once@^1.3.1, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
- dependencies:
- wrappy "1"
-
-p-cancelable@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.0.tgz#4d51c3b91f483d02a0d300765321fca393d758dd"
- integrity sha512-HAZyB3ZodPo+BDpb4/Iu7Jv4P6cSazBz9ZM0ChhEXp70scx834aWCEjQRwgt41UzzejUAPdbqqONfRWTPYrPAQ==
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-quick-lru@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
- integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
-
-rc@^1.2.8:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
- integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
-registry-auth-token@^4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250"
- integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==
- dependencies:
- rc "^1.2.8"
-
-resolve-alpn@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c"
- integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA==
-
-responselike@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723"
- integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==
- dependencies:
- lowercase-keys "^2.0.0"
-
-strip-json-comments@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
- integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-
zlib@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/zlib/-/zlib-1.0.5.tgz#6e7c972fc371c645a6afb03ab14769def114fcc0"
diff --git a/npm/turbo-linux-32/package.json b/npm/turbo-linux-32/package.json
index 00c6e70b80adb..54c0d856aca4b 100644
--- a/npm/turbo-linux-32/package.json
+++ b/npm/turbo-linux-32/package.json
@@ -1,5 +1,5 @@
{
- "name": "@turborepo/turbo-linux-32",
+ "name": "turbo-linux-32",
"version": "0.8.5",
"description": "The Linux 32-bit binary for turbo, a monorepo build system.",
"repository": "https://github.com/turborepo/turbo",
@@ -12,9 +12,5 @@
],
"directories": {
"bin": "bin"
- },
- "publishConfig": {
- "access": "restricted",
- "registry": "https://npm.pkg.github.com"
}
}
diff --git a/npm/turbo-linux-64/package.json b/npm/turbo-linux-64/package.json
index 8fe8bad4b5b39..2cd359a0fa717 100644
--- a/npm/turbo-linux-64/package.json
+++ b/npm/turbo-linux-64/package.json
@@ -1,5 +1,5 @@
{
- "name": "@turborepo/turbo-linux-64",
+ "name": "turbo-linux-64",
"version": "0.8.5",
"description": "The Linux 64-bit binary for turbo, a monorepo build system.",
"repository": "https://github.com/turborepo/turbo",
@@ -12,9 +12,5 @@
],
"directories": {
"bin": "bin"
- },
- "publishConfig": {
- "access": "restricted",
- "registry": "https://npm.pkg.github.com"
}
}
diff --git a/npm/turbo-linux-arm/package.json b/npm/turbo-linux-arm/package.json
index a043f8bcb8d30..704edf308dd31 100644
--- a/npm/turbo-linux-arm/package.json
+++ b/npm/turbo-linux-arm/package.json
@@ -1,5 +1,5 @@
{
- "name": "@turborepo/turbo-linux-arm",
+ "name": "turbo-linux-arm",
"version": "0.8.5",
"description": "The Linux ARM binary for turbo, a monorepo build system.",
"repository": "https://github.com/turborepo/turbo",
@@ -12,9 +12,5 @@
],
"directories": {
"bin": "bin"
- },
- "publishConfig": {
- "access": "restricted",
- "registry": "https://npm.pkg.github.com"
}
}
diff --git a/npm/turbo-linux-arm64/package.json b/npm/turbo-linux-arm64/package.json
index 5f9aa31d49696..e34f65a1b6e4a 100644
--- a/npm/turbo-linux-arm64/package.json
+++ b/npm/turbo-linux-arm64/package.json
@@ -1,5 +1,5 @@
{
- "name": "@turborepo/turbo-linux-arm64",
+ "name": "turbo-linux-arm64",
"version": "0.8.5",
"description": "The Linux ARM 64-bit binary for turbo, a monorepo build system.",
"repository": "https://github.com/turborepo/turbo",
@@ -12,9 +12,5 @@
],
"directories": {
"bin": "bin"
- },
- "publishConfig": {
- "access": "restricted",
- "registry": "https://npm.pkg.github.com"
}
}
diff --git a/npm/turbo-linux-mips64le/package.json b/npm/turbo-linux-mips64le/package.json
index 9227a52e975c4..e2489d1d6bd97 100644
--- a/npm/turbo-linux-mips64le/package.json
+++ b/npm/turbo-linux-mips64le/package.json
@@ -1,5 +1,5 @@
{
- "name": "@turborepo/turbo-linux-mips64le",
+ "name": "turbo-linux-mips64le",
"version": "0.8.5",
"description": "The Linux MIPS 64-bit Little Endian binary for turbo, a monorepo build system.",
"repository": "https://github.com/turborepo/turbo",
@@ -12,9 +12,5 @@
],
"directories": {
"bin": "bin"
- },
- "publishConfig": {
- "access": "restricted",
- "registry": "https://npm.pkg.github.com"
}
}
diff --git a/npm/turbo-linux-ppc64le/package.json b/npm/turbo-linux-ppc64le/package.json
index 1fa41b59a7ee6..419ccacacfc78 100644
--- a/npm/turbo-linux-ppc64le/package.json
+++ b/npm/turbo-linux-ppc64le/package.json
@@ -1,5 +1,5 @@
{
- "name": "@turborepo/turbo-linux-ppc64le",
+ "name": "turbo-linux-ppc64le",
"version": "0.8.5",
"description": "The Linux PowerPC 64-bit Little Endian binary for turbo, a monorepo build system.",
"repository": "https://github.com/turborepo/turbo",
@@ -12,9 +12,5 @@
],
"directories": {
"bin": "bin"
- },
- "publishConfig": {
- "access": "restricted",
- "registry": "https://npm.pkg.github.com"
}
}
diff --git a/npm/turbo-windows-32/package.json b/npm/turbo-windows-32/package.json
index 36d17934821cc..d40c910b3110e 100644
--- a/npm/turbo-windows-32/package.json
+++ b/npm/turbo-windows-32/package.json
@@ -1,5 +1,5 @@
{
- "name": "@turborepo/turbo-windows-32",
+ "name": "turbo-windows-32",
"version": "0.8.5",
"description": "The Windows 32-bit binary for turbo, a monorepo build system.",
"repository": "https://github.com/turborepo/turbo",
@@ -12,9 +12,5 @@
],
"directories": {
"bin": "bin"
- },
- "publishConfig": {
- "access": "restricted",
- "registry": "https://npm.pkg.github.com"
}
}
diff --git a/npm/turbo-windows-64/package.json b/npm/turbo-windows-64/package.json
index f3662d7639497..1b0550421f765 100644
--- a/npm/turbo-windows-64/package.json
+++ b/npm/turbo-windows-64/package.json
@@ -1,5 +1,5 @@
{
- "name": "@turborepo/turbo-windows-64",
+ "name": "turbo-windows-64",
"version": "0.8.5",
"description": "The Windows 64-bit binary for turbo, a monorepo build system.",
"repository": "https://github.com/turborepo/turbo",
@@ -12,9 +12,5 @@
],
"directories": {
"bin": "bin"
- },
- "publishConfig": {
- "access": "restricted",
- "registry": "https://npm.pkg.github.com"
}
}
diff --git a/scripts/bump-vanity-version.mjs b/scripts/bump-vanity-version.mjs
deleted file mode 100644
index f7688db81e71d..0000000000000
--- a/scripts/bump-vanity-version.mjs
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env node
-import shelljs from 'shelljs'
-import path from 'path'
-import fs from 'fs-extra'
-import { fileURLToPath } from 'url'
-const __dirname = path.dirname(fileURLToPath(import.meta.url))
-
-const file = path.join(__dirname, '../npm/turbo-install-vanity/package.json')
-
-const pkg = fs.readJSONSync(file)
-
-pkg.dependencies['@turborepo/core'] = pkg.version
-
-fs.writeFileSync(file, JSON.stringify(pkg, null, 2))