From ee1ce3766fe484926b84f29182f140d21e25fc6f Mon Sep 17 00:00:00 2001 From: Marijn Haverbeke Date: Wed, 12 Aug 2020 13:53:42 +0200 Subject: [PATCH] Add package.json files to src/ dirs with type: module So that the source can also be loaded directly in node, if you want to. Issue #732 --- acorn-loose/src/expression.js | 4 ++-- acorn-loose/src/index.js | 12 ++++++------ acorn-loose/src/package.json | 3 +++ acorn-loose/src/state.js | 2 +- acorn-loose/src/statement.js | 4 ++-- acorn-loose/src/tokenize.js | 4 ++-- acorn-walk/src/package.json | 3 +++ acorn/src/expression.js | 10 +++++----- acorn/src/index.js | 30 +++++++++++++++--------------- acorn/src/location.js | 4 ++-- acorn/src/locutil.js | 2 +- acorn/src/lval.js | 8 ++++---- acorn/src/node.js | 4 ++-- acorn/src/options.js | 4 ++-- acorn/src/package.json | 3 +++ acorn/src/parseutil.js | 6 +++--- acorn/src/scope.js | 4 ++-- acorn/src/state.js | 12 ++++++------ acorn/src/statement.js | 14 +++++++------- acorn/src/tokencontext.js | 6 +++--- acorn/src/tokenize.js | 12 ++++++------ 21 files changed, 80 insertions(+), 71 deletions(-) create mode 100644 acorn-loose/src/package.json create mode 100644 acorn-walk/src/package.json create mode 100644 acorn/src/package.json diff --git a/acorn-loose/src/expression.js b/acorn-loose/src/expression.js index 4cfe1100d..1e98324ec 100644 --- a/acorn-loose/src/expression.js +++ b/acorn-loose/src/expression.js @@ -1,5 +1,5 @@ -import {LooseParser} from "./state" -import {isDummy} from "./parseutil" +import {LooseParser} from "./state.js" +import {isDummy} from "./parseutil.js" import {tokTypes as tt} from "acorn" const lp = LooseParser.prototype diff --git a/acorn-loose/src/index.js b/acorn-loose/src/index.js index cfa0b497b..989bc4064 100644 --- a/acorn-loose/src/index.js +++ b/acorn-loose/src/index.js @@ -30,13 +30,13 @@ // tangle. import {defaultOptions} from "acorn" -import {LooseParser} from "./state" -import "./tokenize" -import "./statement" -import "./expression" +import {LooseParser} from "./state.js" +import "./tokenize.js" +import "./statement.js" +import "./expression.js" -export {LooseParser} from "./state" -export {isDummy} from "./parseutil" +export {LooseParser} from "./state.js" +export {isDummy} from "./parseutil.js" defaultOptions.tabSize = 4 diff --git a/acorn-loose/src/package.json b/acorn-loose/src/package.json new file mode 100644 index 000000000..3dbc1ca59 --- /dev/null +++ b/acorn-loose/src/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/acorn-loose/src/state.js b/acorn-loose/src/state.js index 322306fe4..ea6211c03 100644 --- a/acorn-loose/src/state.js +++ b/acorn-loose/src/state.js @@ -1,5 +1,5 @@ import {Parser, SourceLocation, tokTypes as tt, Node, lineBreak, isNewLine} from "acorn" -import {dummyValue} from "./parseutil" +import {dummyValue} from "./parseutil.js" function noop() {} diff --git a/acorn-loose/src/statement.js b/acorn-loose/src/statement.js index 355d278f2..59b9e1b0c 100644 --- a/acorn-loose/src/statement.js +++ b/acorn-loose/src/statement.js @@ -1,5 +1,5 @@ -import {LooseParser} from "./state" -import {isDummy} from "./parseutil" +import {LooseParser} from "./state.js" +import {isDummy} from "./parseutil.js" import {getLineInfo, tokTypes as tt} from "acorn" const lp = LooseParser.prototype diff --git a/acorn-loose/src/tokenize.js b/acorn-loose/src/tokenize.js index da20b7daf..b3bd03d54 100644 --- a/acorn-loose/src/tokenize.js +++ b/acorn-loose/src/tokenize.js @@ -1,6 +1,6 @@ import {tokTypes as tt, Token, isNewLine, SourceLocation, getLineInfo, lineBreakG} from "acorn" -import {LooseParser} from "./state" -import {dummyValue} from "./parseutil" +import {LooseParser} from "./state.js" +import {dummyValue} from "./parseutil.js" const lp = LooseParser.prototype diff --git a/acorn-walk/src/package.json b/acorn-walk/src/package.json new file mode 100644 index 000000000..3dbc1ca59 --- /dev/null +++ b/acorn-walk/src/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/acorn/src/expression.js b/acorn/src/expression.js index d71701374..f25a901cf 100644 --- a/acorn/src/expression.js +++ b/acorn/src/expression.js @@ -16,11 +16,11 @@ // // [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser -import {types as tt} from "./tokentype" -import {Parser} from "./state" -import {DestructuringErrors} from "./parseutil" -import {lineBreak} from "./whitespace" -import {functionFlags, SCOPE_ARROW, SCOPE_SUPER, SCOPE_DIRECT_SUPER, BIND_OUTSIDE, BIND_VAR} from "./scopeflags" +import {types as tt} from "./tokentype.js" +import {Parser} from "./state.js" +import {DestructuringErrors} from "./parseutil.js" +import {lineBreak} from "./whitespace.js" +import {functionFlags, SCOPE_ARROW, SCOPE_SUPER, SCOPE_DIRECT_SUPER, BIND_OUTSIDE, BIND_VAR} from "./scopeflags.js" const pp = Parser.prototype diff --git a/acorn/src/index.js b/acorn/src/index.js index eb118534b..7a9eb8d01 100644 --- a/acorn/src/index.js +++ b/acorn/src/index.js @@ -14,22 +14,22 @@ // // [walk]: util/walk.js -import {Parser} from "./state" -import "./parseutil" -import "./statement" -import "./lval" -import "./expression" -import "./location" -import "./scope" +import {Parser} from "./state.js" +import "./parseutil.js" +import "./statement.js" +import "./lval.js" +import "./expression.js" +import "./location.js" +import "./scope.js" -import {defaultOptions} from "./options" -import {Position, SourceLocation, getLineInfo} from "./locutil" -import {Node} from "./node" -import {TokenType, types as tokTypes, keywords as keywordTypes} from "./tokentype" -import {TokContext, types as tokContexts} from "./tokencontext" -import {isIdentifierChar, isIdentifierStart} from "./identifier" -import {Token} from "./tokenize" -import {isNewLine, lineBreak, lineBreakG, nonASCIIwhitespace} from "./whitespace" +import {defaultOptions} from "./options.js" +import {Position, SourceLocation, getLineInfo} from "./locutil.js" +import {Node} from "./node.js" +import {TokenType, types as tokTypes, keywords as keywordTypes} from "./tokentype.js" +import {TokContext, types as tokContexts} from "./tokencontext.js" +import {isIdentifierChar, isIdentifierStart} from "./identifier.js" +import {Token} from "./tokenize.js" +import {isNewLine, lineBreak, lineBreakG, nonASCIIwhitespace} from "./whitespace.js" export const version = "7.4.0" export { diff --git a/acorn/src/location.js b/acorn/src/location.js index 99e71234c..a7a2d6cf8 100644 --- a/acorn/src/location.js +++ b/acorn/src/location.js @@ -1,5 +1,5 @@ -import {Parser} from "./state" -import {Position, getLineInfo} from "./locutil" +import {Parser} from "./state.js" +import {Position, getLineInfo} from "./locutil.js" const pp = Parser.prototype diff --git a/acorn/src/locutil.js b/acorn/src/locutil.js index 5a9465e01..c9389e00c 100644 --- a/acorn/src/locutil.js +++ b/acorn/src/locutil.js @@ -1,4 +1,4 @@ -import {lineBreakG} from "./whitespace" +import {lineBreakG} from "./whitespace.js" // These are used when `options.locations` is on, for the // `startLoc` and `endLoc` properties. diff --git a/acorn/src/lval.js b/acorn/src/lval.js index 03b3ce8c6..d9111560c 100644 --- a/acorn/src/lval.js +++ b/acorn/src/lval.js @@ -1,7 +1,7 @@ -import {types as tt} from "./tokentype" -import {Parser} from "./state" -import {has} from "./util" -import {BIND_NONE, BIND_OUTSIDE, BIND_LEXICAL} from "./scopeflags" +import {types as tt} from "./tokentype.js" +import {Parser} from "./state.js" +import {has} from "./util.js" +import {BIND_NONE, BIND_OUTSIDE, BIND_LEXICAL} from "./scopeflags.js" const pp = Parser.prototype diff --git a/acorn/src/node.js b/acorn/src/node.js index 76b5b0982..5e69aca97 100644 --- a/acorn/src/node.js +++ b/acorn/src/node.js @@ -1,5 +1,5 @@ -import {Parser} from "./state" -import {SourceLocation} from "./locutil" +import {Parser} from "./state.js" +import {SourceLocation} from "./locutil.js" export class Node { constructor(parser, pos, loc) { diff --git a/acorn/src/options.js b/acorn/src/options.js index 807251fdf..197837eaa 100644 --- a/acorn/src/options.js +++ b/acorn/src/options.js @@ -1,5 +1,5 @@ -import {has, isArray} from "./util" -import {SourceLocation} from "./locutil" +import {has, isArray} from "./util.js" +import {SourceLocation} from "./locutil.js" // A second optional argument can be given to further configure // the parser process. These options are recognized: diff --git a/acorn/src/package.json b/acorn/src/package.json new file mode 100644 index 000000000..3dbc1ca59 --- /dev/null +++ b/acorn/src/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/acorn/src/parseutil.js b/acorn/src/parseutil.js index 98e35237f..9d6321d7c 100644 --- a/acorn/src/parseutil.js +++ b/acorn/src/parseutil.js @@ -1,6 +1,6 @@ -import {types as tt} from "./tokentype" -import {Parser} from "./state" -import {lineBreak, skipWhiteSpace} from "./whitespace" +import {types as tt} from "./tokentype.js" +import {Parser} from "./state.js" +import {lineBreak, skipWhiteSpace} from "./whitespace.js" const pp = Parser.prototype diff --git a/acorn/src/scope.js b/acorn/src/scope.js index b0b986661..aa20660d7 100644 --- a/acorn/src/scope.js +++ b/acorn/src/scope.js @@ -1,5 +1,5 @@ -import {Parser} from "./state" -import {SCOPE_VAR, SCOPE_FUNCTION, SCOPE_TOP, SCOPE_ARROW, SCOPE_SIMPLE_CATCH, BIND_LEXICAL, BIND_SIMPLE_CATCH, BIND_FUNCTION} from "./scopeflags" +import {Parser} from "./state.js" +import {SCOPE_VAR, SCOPE_FUNCTION, SCOPE_TOP, SCOPE_ARROW, SCOPE_SIMPLE_CATCH, BIND_LEXICAL, BIND_SIMPLE_CATCH, BIND_FUNCTION} from "./scopeflags.js" const pp = Parser.prototype diff --git a/acorn/src/state.js b/acorn/src/state.js index eb4e0e120..471ab9a6c 100644 --- a/acorn/src/state.js +++ b/acorn/src/state.js @@ -1,9 +1,9 @@ -import {reservedWords, keywords} from "./identifier" -import {types as tt} from "./tokentype" -import {lineBreak} from "./whitespace" -import {getOptions} from "./options" -import {wordsRegexp} from "./util" -import {SCOPE_TOP, SCOPE_FUNCTION, SCOPE_ASYNC, SCOPE_GENERATOR, SCOPE_SUPER, SCOPE_DIRECT_SUPER} from "./scopeflags" +import {reservedWords, keywords} from "./identifier.js" +import {types as tt} from "./tokentype.js" +import {lineBreak} from "./whitespace.js" +import {getOptions} from "./options.js" +import {wordsRegexp} from "./util.js" +import {SCOPE_TOP, SCOPE_FUNCTION, SCOPE_ASYNC, SCOPE_GENERATOR, SCOPE_SUPER, SCOPE_DIRECT_SUPER} from "./scopeflags.js" export class Parser { constructor(options, input, startPos) { diff --git a/acorn/src/statement.js b/acorn/src/statement.js index 4afea7503..535d9de4a 100644 --- a/acorn/src/statement.js +++ b/acorn/src/statement.js @@ -1,10 +1,10 @@ -import {types as tt} from "./tokentype" -import {Parser} from "./state" -import {lineBreak, skipWhiteSpace} from "./whitespace" -import {isIdentifierStart, isIdentifierChar, keywordRelationalOperator} from "./identifier" -import {has} from "./util" -import {DestructuringErrors} from "./parseutil" -import {functionFlags, SCOPE_SIMPLE_CATCH, BIND_SIMPLE_CATCH, BIND_LEXICAL, BIND_VAR, BIND_FUNCTION} from "./scopeflags" +import {types as tt} from "./tokentype.js" +import {Parser} from "./state.js" +import {lineBreak, skipWhiteSpace} from "./whitespace.js" +import {isIdentifierStart, isIdentifierChar, keywordRelationalOperator} from "./identifier.js" +import {has} from "./util.js" +import {DestructuringErrors} from "./parseutil.js" +import {functionFlags, SCOPE_SIMPLE_CATCH, BIND_SIMPLE_CATCH, BIND_LEXICAL, BIND_VAR, BIND_FUNCTION} from "./scopeflags.js" const pp = Parser.prototype diff --git a/acorn/src/tokencontext.js b/acorn/src/tokencontext.js index 1ff555687..964a7798a 100644 --- a/acorn/src/tokencontext.js +++ b/acorn/src/tokencontext.js @@ -2,9 +2,9 @@ // given point in the program is loosely based on sweet.js' approach. // See https://github.com/mozilla/sweet.js/wiki/design -import {Parser} from "./state" -import {types as tt} from "./tokentype" -import {lineBreak} from "./whitespace" +import {Parser} from "./state.js" +import {types as tt} from "./tokentype.js" +import {lineBreak} from "./whitespace.js" export class TokContext { constructor(token, isExpr, preserveSpace, override, generator) { diff --git a/acorn/src/tokenize.js b/acorn/src/tokenize.js index f5b6ec899..d2c3298a2 100644 --- a/acorn/src/tokenize.js +++ b/acorn/src/tokenize.js @@ -1,9 +1,9 @@ -import {isIdentifierStart, isIdentifierChar} from "./identifier" -import {types as tt, keywords as keywordTypes} from "./tokentype" -import {Parser} from "./state" -import {SourceLocation} from "./locutil" -import {RegExpValidationState} from "./regexp" -import {lineBreak, lineBreakG, isNewLine, nonASCIIwhitespace} from "./whitespace" +import {isIdentifierStart, isIdentifierChar} from "./identifier.js" +import {types as tt, keywords as keywordTypes} from "./tokentype.js" +import {Parser} from "./state.js" +import {SourceLocation} from "./locutil.js" +import {RegExpValidationState} from "./regexp.js" +import {lineBreak, lineBreakG, isNewLine, nonASCIIwhitespace} from "./whitespace.js" // Object type used to represent tokens. Note that normally, tokens // simply exist as properties on the parser object. This is only