diff --git a/src/parser.ts b/src/parser.ts index 2bded46a..7ad53e69 100644 --- a/src/parser.ts +++ b/src/parser.ts @@ -187,7 +187,7 @@ export const Import: Parser = node(ImportNode)(() => export const name: Parser = lazy('identifier', () => regex(/[^\W\d]\w*/)) -export const packageName: Parser = regex(/\W[\W-]*/) +export const packageName: Parser = lazy('package identifier', () => regex(/[^\W\d][\w-]*/)) export const FullyQualifiedReference: Parser> = node(ReferenceNode)(() => obj({ name: packageName.or(name).sepBy1(key('.')).tieWith('.') }) diff --git a/src/validator/index.ts b/src/validator/index.ts index ed2c3c80..ee85f7e1 100644 --- a/src/validator/index.ts +++ b/src/validator/index.ts @@ -453,7 +453,7 @@ sourceMapForNodeName) export const shouldNotUseSpecialCharactersInName = error(node => !node.fileName || - node.fileName.match(/([A-Za-z.\-_/\d])/g)!.length === node.fileName.length + node.fileName.match(/([A-Za-z._/\d])/g)!.length === node.fileName.length && node.fileName.match(/\./g)!.length === 1 , valuesForFileName, sourceMapForNodeName) diff --git a/src/wre/game.ts b/src/wre/game.ts index f54301da..e56f64f2 100644 --- a/src/wre/game.ts +++ b/src/wre/game.ts @@ -181,4 +181,4 @@ const game: Natives = { }, } -export default game +export default game \ No newline at end of file