diff --git a/package.json b/package.json index c4ff916558..336ecde7f4 100644 --- a/package.json +++ b/package.json @@ -163,7 +163,7 @@ "stylelint --fix" ], "package-lock.json": [ - "node ./scripts/unlock-package-lock.js" + "prepare-package-lock" ] }, "size-limit": [ diff --git a/scripts/unlock-package-lock.js b/scripts/unlock-package-lock.js deleted file mode 100644 index 3d601ce4df..0000000000 --- a/scripts/unlock-package-lock.js +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env node -// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. -// SPDX-License-Identifier: Apache-2.0 - -const fs = require('node:fs'); - -const lockfiles = ['package-lock.json', '.github/workflows/bundle-size/package-lock.json']; - -for (const filename of lockfiles) { - unlock(filename); -} - -/** - * Remove specific @cloudscape-design/* packages where we should always use the latest minor release. - */ -function unlock(filename) { - const packageLock = JSON.parse(fs.readFileSync(filename)); - if (packageLock.lockfileVersion !== 3) { - throw Error('package-lock.json file is not version 3. Use regular npm to update the packages.'); - } - - Object.keys(packageLock.packages).forEach(dependencyName => { - removeDependencies(dependencyName, packageLock.packages); - }); - - fs.writeFileSync(filename, JSON.stringify(packageLock, null, 2) + '\n'); - console.log(`Removed @cloudscape-design/ dependencies from ${filename} file`); -} - -function removeDependencies(dependencyName, packages) { - if (dependencyName.includes('@cloudscape-design/')) { - delete packages[dependencyName]; - } -}