File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed
Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change 11import type { ModuleFederationConfig , Shared } from '../types' ;
22import { ConfigError } from '../utils' ;
33
4+ function validateName ( name : string ) {
5+ const validEcmaIdentifierRegex =
6+ // biome-ignore lint/suspicious/noMisleadingCharacterClass: works
7+ / ^ [ $ _ \p{ ID_Start} ] [ $ _ \u{200C} \u{200D} \p{ ID_Continue} ] * $ / u;
8+
9+ if ( ! validEcmaIdentifierRegex . test ( name ) ) {
10+ throw new ConfigError (
11+ `Invalid 'name': ${ name } . The 'name' must be a valid JavaScript identifier.`
12+ ) ;
13+ }
14+ }
15+
416function validateFilename ( filename : string | undefined ) {
517 // filename is optional
618 if ( ! filename ) {
@@ -66,6 +78,9 @@ function validateShared(shared: Shared | undefined) {
6678}
6779
6880export function validateOptions ( options : ModuleFederationConfig ) {
81+ // validate name
82+ validateName ( options . name ) ;
83+
6984 // validate filename
7085 validateFilename ( options . filename ) ;
7186
You can’t perform that action at this time.
0 commit comments