uppy/packages/@uppy/locales/script/helpers.mjs
Prakash 1427add64a
@uppy/upgrade-devdeps-v1 (#6317)
Part of the dev-dependency major-version upgrades. These required code
changes so they're split out from the no-code-change batch (#6315).

**AI Disclaimer** : AI Used

- **glob 8 → 13** — `@uppy/locales` scripts: the callback API was
removed, so `getPaths()` uses the promise form and `test.mjs` uses the
named `globSync`.
- **npm-packlist 5 → 11** — `upload-to-cdn.js`: v7+ takes an
`@npmcli/arborist` tree instead of `{ path }`; loads the tree and passes
it to `packlist()`. Adds `@npmcli/arborist` as a devDependency.
- **nock 13 → 14** (`@uppy/companion`) — the v14 @mswjs/interceptors
rewrite crashed the SSRF tests in `http-agent.test.ts`; nock
interception is now kept off by default and only activated for the one
test that mocks a host.
- **@types/use-sync-external-store 0 → 1** — `@uppy/react`: v1's exports
map only exposes extensionless subpaths, so imports use
`use-sync-external-store/shim` and `/with-selector` (runtime supports
both).
2026-06-03 14:38:14 +05:30

35 lines
816 B
JavaScript

import path from 'node:path'
import { pathToFileURL } from 'node:url'
import { glob } from 'glob'
export function getPaths(globPath) {
return glob(globPath)
}
export function sortObjectAlphabetically(obj) {
return Object.fromEntries(
Object.entries(obj).sort(([keyA], [keyB]) => keyA.localeCompare(keyB)),
)
}
export function omit(object, key) {
const copy = { ...object }
delete copy[key]
return copy
}
export async function getLocales(pathPattern) {
const paths = await getPaths(pathPattern)
return Object.fromEntries(
await Promise.all(
paths.map(async (filePath) => {
const pluginName = path.basename(path.join(filePath, '..', '..'))
const { default: locale } = await import(pathToFileURL(filePath))
return [pluginName, locale]
}),
),
)
}