11import { features , proposals } from '../build-entries/entries-definitions.mjs' ;
22import { $path , $proposal } from '../build-entries/templates.mjs' ;
33import { modules as AllModules } from '@core-js/compat/src/data.mjs' ;
4- import { getModulesMetadata , sort } from '../build-entries/get-dependencies.mjs' ;
4+ import { getModulesMetadata } from '../build-entries/get-dependencies.mjs' ;
55import config from './config.mjs' ;
66import { argv , path , fs } from 'zx' ;
7+ import { expandModules , modulesToStage } from '../build-entries/helpers.mjs' ;
78
89const { copy, outputFile, pathExists, readdir, remove } = fs ;
910
1011const versionArg = argv . _ . find ( item => item . startsWith ( 'version=' ) ) ;
1112const VERSION = versionArg ? versionArg . slice ( 'version=' . length ) : undefined ;
1213
13- function modulesToStage ( x ) {
14- return sort ( [
15- ...StableModules ,
16- ...Object . values ( proposals ) . flatMap ( ( { stage, modules } ) => stage >= x ? modules : [ ] ) ,
17- ] ) ;
18- }
19-
20- function expandModules ( modules , filter ) {
21- if ( ! Array . isArray ( modules ) ) modules = [ modules ] ;
22- modules = modules . flatMap ( it => it instanceof RegExp ? AllModules . filter ( p => it . test ( p ) ) : [ it ] ) ;
23- if ( filter ) modules = modules . filter ( it => typeof it != 'string' || filter . has ( it ) ) ;
24- return modules ;
25- }
26-
2714async function buildType ( typeFilePath , entry , options ) {
2815 let {
2916 entryFromNamespace,
@@ -50,11 +37,11 @@ async function buildType(typeFilePath, entry, options) {
5037 filter ??= ESWithProposalsSet ;
5138 }
5239
53- if ( ! enforceEntryCreation && ! expandModules ( modules [ 0 ] , filter ) . length ) return ;
40+ if ( ! enforceEntryCreation && ! expandModules ( modules [ 0 ] , filter , AllModules ) . length ) return ;
5441
5542 const rawModules = modules ;
5643
57- modules = expandModules ( modules , filter ) ;
44+ modules = expandModules ( modules , filter , AllModules ) ;
5845
5946 const level = entry . split ( '/' ) . length - 1 ;
6047
@@ -102,7 +89,7 @@ async function addImports(filePath, fromPath) {
10289const ESModules = AllModules . filter ( it => it . startsWith ( 'es.' ) ) ;
10390const ESWithProposalsModules = AllModules . filter ( it => it . startsWith ( 'es' ) ) ;
10491const StableModules = AllModules . filter ( it => it . match ( / ^ (?: e s | w e b ) \. / ) ) ;
105- const ActualModules = modulesToStage ( 3 ) ;
92+ const ActualModules = modulesToStage ( StableModules , 3 ) ;
10693
10794const ESSet = new Set ( ESModules ) ;
10895const ESWithProposalsSet = new Set ( ESWithProposalsModules ) ;
@@ -131,9 +118,9 @@ async function buildTypesForTSVersion(tsVersion) {
131118 }
132119
133120 await buildType ( bundlePath , 'stage/3' , { template : $path , modules : ActualModules , subset : 'es-stage' } ) ;
134- await buildType ( bundlePath , 'stage/2.7' , { template : $path , modules : modulesToStage ( 2.7 ) , subset : 'es-stage' } ) ;
135- await buildType ( bundlePath , 'stage/2' , { template : $path , modules : modulesToStage ( 2 ) , subset : 'es-stage' } ) ;
136- await buildType ( bundlePath , 'stage/1' , { template : $path , modules : modulesToStage ( 1 ) , subset : 'es-stage' } ) ;
121+ await buildType ( bundlePath , 'stage/2.7' , { template : $path , modules : modulesToStage ( StableModules , 2.7 ) , subset : 'es-stage' } ) ;
122+ await buildType ( bundlePath , 'stage/2' , { template : $path , modules : modulesToStage ( StableModules , 2 ) , subset : 'es-stage' } ) ;
123+ await buildType ( bundlePath , 'stage/1' , { template : $path , modules : modulesToStage ( StableModules , 1 ) , subset : 'es-stage' } ) ;
137124 await buildType ( bundlePath , 'stage/0' , { template : $path , modules : AllModules , subset : 'es-stage' } ) ;
138125
139126 await buildType ( bundlePath , 'es/index' , { template : $path , modules : ESModules , subset : 'es' } ) ;
0 commit comments