(pkg)
| 432 | } |
| 433 | |
| 434 | function migrateToMonopackage(pkg) { |
| 435 | for (let file of fs.globSync(`packages/${pkg}/**/*.{ts,tsx,js,jsx,mdx}`)) { |
| 436 | rewriteMonopackageImports(file, pkg, ''); // TODO: only src? |
| 437 | // rewriteImports(file); |
| 438 | } |
| 439 | |
| 440 | let packageJSON = JSON.parse(fs.readFileSync(`packages/${pkg}/package.json`, 'utf8')); |
| 441 | for (let dep in packageJSON.dependencies || {}) { |
| 442 | let depScope = dep.match(/@(react-aria|react-spectrum|react-stately)/); |
| 443 | if (depScope) { |
| 444 | let p = depScope[1] === 'react-spectrum' ? '@adobe/react-spectrum' : depScope[1]; |
| 445 | if (!packageJSON.dependencies[p]) { |
| 446 | packageJSON.dependencies[p] = JSON.parse( |
| 447 | fs.readFileSync(`packages/${p}/package.json`, 'utf8') |
| 448 | ).version; |
| 449 | } |
| 450 | delete packageJSON.dependencies[dep]; |
| 451 | } |
| 452 | } |
| 453 | |
| 454 | if (!packageJSON.exports['.']) { |
| 455 | packageJSON.exports = { |
| 456 | '.': packageJSON.exports |
| 457 | }; |
| 458 | } |
| 459 | |
| 460 | packageJSON.source = 'exports/index.ts'; |
| 461 | packageJSON.exports['.'].source = './exports/index.ts'; |
| 462 | |
| 463 | packageJSON.types = './dist/types/exports/index.ts'; |
| 464 | packageJSON.exports['.'].types = './dist/types/exports/index.ts'; |
| 465 | |
| 466 | packageJSON.main = './dist/exports/index.cjs'; |
| 467 | packageJSON.exports['.'].require = './dist/exports/index.cjs'; |
| 468 | |
| 469 | packageJSON.module = './dist/exports/index.mjs'; |
| 470 | packageJSON.exports['.'].import = './dist/exports/index.mjs'; |
| 471 | |
| 472 | packageJSON.exports['./package.json'] = './package.json'; |
| 473 | packageJSON.exports['./*'] = { |
| 474 | source: './exports/*.ts', |
| 475 | types: './dist/types/exports/*.d.ts', |
| 476 | import: './dist/exports/*.mjs', |
| 477 | require: './dist/exports/*.cjs' |
| 478 | }; |
| 479 | |
| 480 | packageJSON.exports['./private/*'] = null; |
| 481 | |
| 482 | delete packageJSON['style-types']; |
| 483 | if (packageJSON.targets) { |
| 484 | delete packageJSON.targets['style-types']; |
| 485 | } |
| 486 | Object.assign((packageJSON.targets ??= {}), { |
| 487 | main: false, |
| 488 | module: false, |
| 489 | types: false, |
| 490 | 'exports-module': { |
| 491 | source: 'exports/*.ts', |
no test coverage detected