@babel/plugin-proposal-decorators 8.0.0-alpha.6 → 8.0.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -156,7 +156,7 @@ const visitor = {
156
156
  };
157
157
 
158
158
  var index = declare((api, options) => {
159
- api.assertVersion("8.0.0-alpha.6");
159
+ api.assertVersion("8.0.0-alpha.8");
160
160
  const {
161
161
  version
162
162
  } = options;
@@ -166,8 +166,8 @@ var index = declare((api, options) => {
166
166
  inherits: syntaxDecorators,
167
167
  visitor: visitor
168
168
  };
169
- } else if (!version || version === "2018-09" || version === "2021-12" || version === "2022-03" || version === "2023-01" || version === "2023-05") {
170
- api.assertVersion("8.0.0-alpha.6");
169
+ } else if (!version || version === "2018-09" || version === "2021-12" || version === "2022-03" || version === "2023-01" || version === "2023-05" || version === "2023-11") {
170
+ api.assertVersion("8.0.0-alpha.8");
171
171
  return createClassFeaturePlugin({
172
172
  name: "proposal-decorators",
173
173
  api,
@@ -176,7 +176,7 @@ var index = declare((api, options) => {
176
176
  decoratorVersion: version
177
177
  });
178
178
  } else {
179
- throw new Error("The '.version' option must be one of 'legacy', '2023-05', '2023-01', '2022-03', or '2021-12'.");
179
+ throw new Error("The '.version' option must be one of 'legacy', '2023-11', '2023-05', '2023-01', '2022-03', or '2021-12'.");
180
180
  }
181
181
  });
182
182
 
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/transformer-legacy.ts","../src/index.ts"],"sourcesContent":["// Fork of https://github.com/loganfsmyth/babel-plugin-proposal-decorators-legacy\n\nimport { template, types as t, type PluginPass } from \"@babel/core\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\n\nconst buildClassDecorator = template.statement(`\n DECORATOR(CLASS_REF = INNER) || CLASS_REF;\n`) as (replacements: {\n DECORATOR: t.Expression;\n CLASS_REF: t.Identifier;\n INNER: t.Expression;\n}) => t.ExpressionStatement;\n\nconst buildClassPrototype = template(`\n CLASS_REF.prototype;\n`) as (replacements: { CLASS_REF: t.Identifier }) => t.ExpressionStatement;\n\nconst buildGetDescriptor = template(`\n Object.getOwnPropertyDescriptor(TARGET, PROPERTY);\n`) as (replacements: {\n TARGET: t.Expression;\n PROPERTY: t.Literal;\n}) => t.ExpressionStatement;\n\nconst buildGetObjectInitializer = template(`\n (TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {\n enumerable: true,\n configurable: true,\n writable: true,\n initializer: function(){\n return TEMP;\n }\n })\n`) as (replacements: {\n TEMP: t.Identifier;\n TARGET: t.Expression;\n PROPERTY: t.Literal;\n}) => t.ExpressionStatement;\n\nconst WARNING_CALLS = new WeakSet();\n\n// legacy decorator does not support ClassAccessorProperty\ntype ClassDecoratableElement =\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.ClassProperty\n | t.ClassPrivateProperty;\n\n/**\n * If the decorator expressions are non-identifiers, hoist them to before the class so we can be sure\n * that they are evaluated in order.\n */\nfunction applyEnsureOrdering(\n path: NodePath<t.ClassExpression | t.ObjectExpression>,\n) {\n // TODO: This should probably also hoist computed properties.\n const decorators: t.Decorator[] = (\n path.isClass()\n ? [\n path,\n ...(path.get(\"body.body\") as NodePath<ClassDecoratableElement>[]),\n ]\n : path.get(\"properties\")\n ).reduce(\n (\n acc: t.Decorator[],\n prop: NodePath<\n t.ObjectMember | t.ClassExpression | ClassDecoratableElement\n >,\n ) => acc.concat(prop.node.decorators || []),\n [],\n );\n\n const identDecorators = decorators.filter(\n decorator => !t.isIdentifier(decorator.expression),\n );\n if (identDecorators.length === 0) return;\n\n return t.sequenceExpression(\n identDecorators\n .map((decorator): t.Expression => {\n const expression = decorator.expression;\n const id = (decorator.expression =\n path.scope.generateDeclaredUidIdentifier(\"dec\"));\n return t.assignmentExpression(\"=\", id, expression);\n })\n .concat([path.node]),\n );\n}\n\n/**\n * Given a class expression with class-level decorators, create a new expression\n * with the proper decorated behavior.\n */\nfunction applyClassDecorators(classPath: NodePath<t.ClassExpression>) {\n if (!hasClassDecorators(classPath.node)) return;\n\n const decorators = classPath.node.decorators || [];\n classPath.node.decorators = null;\n\n const name = classPath.scope.generateDeclaredUidIdentifier(\"class\");\n\n return decorators\n .map(dec => dec.expression)\n .reverse()\n .reduce(function (acc, decorator) {\n return buildClassDecorator({\n CLASS_REF: t.cloneNode(name),\n DECORATOR: t.cloneNode(decorator),\n INNER: acc,\n }).expression;\n }, classPath.node);\n}\n\nfunction hasClassDecorators(classNode: t.Class) {\n return !!classNode.decorators?.length;\n}\n\n/**\n * Given a class expression with method-level decorators, create a new expression\n * with the proper decorated behavior.\n */\nfunction applyMethodDecorators(\n path: NodePath<t.ClassExpression>,\n state: PluginPass,\n) {\n if (!hasMethodDecorators(path.node.body.body)) return;\n\n return applyTargetDecorators(\n path,\n state,\n // @ts-expect-error ClassAccessorProperty is not supported in legacy decorator\n path.node.body.body,\n );\n}\n\nfunction hasMethodDecorators(\n body: t.ClassBody[\"body\"] | t.ObjectExpression[\"properties\"],\n) {\n return body.some(\n node =>\n // @ts-expect-error decorators not in SpreadElement/StaticBlock\n node.decorators?.length,\n );\n}\n\n/**\n * Given an object expression with property decorators, create a new expression\n * with the proper decorated behavior.\n */\nfunction applyObjectDecorators(\n path: NodePath<t.ObjectExpression>,\n state: PluginPass,\n) {\n if (!hasMethodDecorators(path.node.properties)) return;\n\n return applyTargetDecorators(\n path,\n state,\n path.node.properties.filter(\n (prop): prop is t.ObjectMember => prop.type !== \"SpreadElement\",\n ),\n );\n}\n\n/**\n * A helper to pull out property decorators into a sequence expression.\n */\nfunction applyTargetDecorators(\n path: NodePath<t.ClassExpression | t.ObjectExpression>,\n state: PluginPass,\n decoratedProps: (t.ObjectMember | ClassDecoratableElement)[],\n) {\n const name = path.scope.generateDeclaredUidIdentifier(\n path.isClass() ? \"class\" : \"obj\",\n );\n\n const exprs = decoratedProps.reduce(function (acc, node) {\n let decorators: t.Decorator[] = [];\n if (node.decorators != null) {\n decorators = node.decorators;\n node.decorators = null;\n }\n\n if (decorators.length === 0) return acc;\n\n if (\n // @ts-expect-error computed is not in ClassPrivateProperty\n node.computed\n ) {\n throw path.buildCodeFrameError(\n \"Computed method/property decorators are not yet supported.\",\n );\n }\n\n const property: t.Literal = t.isLiteral(node.key)\n ? node.key\n : t.stringLiteral(\n // @ts-expect-error: should we handle ClassPrivateProperty?\n node.key.name,\n );\n\n const target =\n path.isClass() && !(node as ClassDecoratableElement).static\n ? buildClassPrototype({\n CLASS_REF: name,\n }).expression\n : name;\n\n if (t.isClassProperty(node, { static: false })) {\n const descriptor = path.scope.generateDeclaredUidIdentifier(\"descriptor\");\n\n const initializer = node.value\n ? t.functionExpression(\n null,\n [],\n t.blockStatement([t.returnStatement(node.value)]),\n )\n : t.nullLiteral();\n\n node.value = t.callExpression(\n state.addHelper(\"initializerWarningHelper\"),\n [descriptor, t.thisExpression()],\n );\n\n WARNING_CALLS.add(node.value);\n\n acc.push(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(descriptor),\n t.callExpression(state.addHelper(\"applyDecoratedDescriptor\"), [\n t.cloneNode(target),\n t.cloneNode(property),\n t.arrayExpression(\n decorators.map(dec => t.cloneNode(dec.expression)),\n ),\n t.objectExpression([\n t.objectProperty(\n t.identifier(\"configurable\"),\n t.booleanLiteral(true),\n ),\n t.objectProperty(\n t.identifier(\"enumerable\"),\n t.booleanLiteral(true),\n ),\n t.objectProperty(\n t.identifier(\"writable\"),\n t.booleanLiteral(true),\n ),\n t.objectProperty(t.identifier(\"initializer\"), initializer),\n ]),\n ]),\n ),\n );\n } else {\n acc.push(\n t.callExpression(state.addHelper(\"applyDecoratedDescriptor\"), [\n t.cloneNode(target),\n t.cloneNode(property),\n t.arrayExpression(decorators.map(dec => t.cloneNode(dec.expression))),\n t.isObjectProperty(node) || t.isClassProperty(node, { static: true })\n ? buildGetObjectInitializer({\n TEMP: path.scope.generateDeclaredUidIdentifier(\"init\"),\n TARGET: t.cloneNode(target),\n PROPERTY: t.cloneNode(property),\n }).expression\n : buildGetDescriptor({\n TARGET: t.cloneNode(target),\n PROPERTY: t.cloneNode(property),\n }).expression,\n t.cloneNode(target),\n ]),\n );\n }\n\n return acc;\n }, []);\n\n return t.sequenceExpression([\n t.assignmentExpression(\"=\", t.cloneNode(name), path.node),\n t.sequenceExpression(exprs),\n t.cloneNode(name),\n ]);\n}\n\nfunction decoratedClassToExpression({ node, scope }: NodePath<t.Class>) {\n if (!hasClassDecorators(node) && !hasMethodDecorators(node.body.body)) {\n return;\n }\n\n const ref = node.id\n ? t.cloneNode(node.id)\n : scope.generateUidIdentifier(\"class\");\n\n return t.variableDeclaration(\"let\", [\n t.variableDeclarator(ref, t.toExpression(node)),\n ]);\n}\n\nconst visitor: Visitor<PluginPass> = {\n ExportDefaultDeclaration(path) {\n const decl = path.get(\"declaration\");\n if (!decl.isClassDeclaration()) return;\n\n const replacement = decoratedClassToExpression(decl);\n if (replacement) {\n const [varDeclPath] = path.replaceWithMultiple([\n replacement,\n t.exportNamedDeclaration(null, [\n t.exportSpecifier(\n // @ts-expect-error todo(flow->ts) might be add more specific return type for decoratedClassToExpression\n t.cloneNode(replacement.declarations[0].id),\n t.identifier(\"default\"),\n ),\n ]),\n ]);\n\n if (!decl.node.id) {\n path.scope.registerDeclaration(varDeclPath);\n }\n }\n },\n ClassDeclaration(path) {\n const replacement = decoratedClassToExpression(path);\n if (replacement) {\n const [newPath] = path.replaceWith(replacement);\n\n const decl = newPath.get(\"declarations.0\");\n const id = decl.node.id as t.Identifier;\n\n // TODO: Maybe add this logic to @babel/traverse\n const binding = path.scope.getOwnBinding(id.name);\n binding.identifier = id;\n binding.path = decl;\n }\n },\n ClassExpression(path, state) {\n // Create a replacement for the class node if there is one. We do one pass to replace classes with\n // class decorators, and a second pass to process method decorators.\n const decoratedClass =\n applyEnsureOrdering(path) ||\n applyClassDecorators(path) ||\n applyMethodDecorators(path, state);\n\n if (decoratedClass) path.replaceWith(decoratedClass);\n },\n ObjectExpression(path, state) {\n const decoratedObject =\n applyEnsureOrdering(path) || applyObjectDecorators(path, state);\n\n if (decoratedObject) path.replaceWith(decoratedObject);\n },\n\n AssignmentExpression(path, state) {\n if (!WARNING_CALLS.has(path.node.right)) return;\n\n path.replaceWith(\n t.callExpression(state.addHelper(\"initializerDefineProperty\"), [\n // @ts-expect-error todo(flow->ts) typesafe NodePath.get\n t.cloneNode(path.get(\"left.object\").node),\n t.stringLiteral(\n // @ts-expect-error todo(flow->ts) typesafe NodePath.get\n path.get(\"left.property\").node.name ||\n // @ts-expect-error todo(flow->ts) typesafe NodePath.get\n path.get(\"left.property\").node.value,\n ),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"right.arguments\")[0].node),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"right.arguments\")[1].node),\n ]),\n );\n },\n\n CallExpression(path, state) {\n if (path.node.arguments.length !== 3) return;\n if (!WARNING_CALLS.has(path.node.arguments[2])) return;\n\n // If the class properties plugin isn't enabled, this line will add an unused helper\n // to the code. It's not ideal, but it's ok since the configuration is not valid anyway.\n // @ts-expect-error todo(flow->ts) check that `callee` is Identifier\n if (path.node.callee.name !== state.addHelper(\"defineProperty\").name) {\n return;\n }\n\n path.replaceWith(\n t.callExpression(state.addHelper(\"initializerDefineProperty\"), [\n t.cloneNode(path.get(\"arguments\")[0].node),\n t.cloneNode(path.get(\"arguments\")[1].node),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"arguments.2.arguments\")[0].node),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"arguments.2.arguments\")[1].node),\n ]),\n );\n },\n};\n\nexport default visitor;\n","/* eslint-disable @babel/development/plugin-name */\n\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxDecorators from \"@babel/plugin-syntax-decorators\";\nimport {\n createClassFeaturePlugin,\n FEATURES,\n} from \"@babel/helper-create-class-features-plugin\";\nimport legacyVisitor from \"./transformer-legacy.ts\";\nimport type { Options as SyntaxOptions } from \"@babel/plugin-syntax-decorators\";\n\ninterface Options extends SyntaxOptions {\n /** @deprecated use `constantSuper` assumption instead. Only supported in 2021-12 version. */\n loose?: boolean;\n}\n\nexport type { Options };\n\nexport default declare((api, options: Options) => {\n api.assertVersion(\n process.env.BABEL_8_BREAKING && process.env.IS_PUBLISH\n ? PACKAGE_JSON.version\n : 7,\n );\n\n // Options are validated in @babel/plugin-syntax-decorators\n if (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var { legacy } = options;\n }\n const { version } = options;\n\n if (\n process.env.BABEL_8_BREAKING\n ? version === \"legacy\"\n : legacy || version === \"legacy\"\n ) {\n return {\n name: \"proposal-decorators\",\n inherits: syntaxDecorators,\n visitor: legacyVisitor,\n };\n } else if (\n !version ||\n version === \"2018-09\" ||\n version === \"2021-12\" ||\n version === \"2022-03\" ||\n version === \"2023-01\" ||\n version === \"2023-05\"\n ) {\n api.assertVersion(\n process.env.BABEL_8_BREAKING && process.env.IS_PUBLISH\n ? PACKAGE_JSON.version\n : \"^7.0.2\",\n );\n return createClassFeaturePlugin({\n name: \"proposal-decorators\",\n\n api,\n feature: FEATURES.decorators,\n inherits: syntaxDecorators,\n // @ts-expect-error version must not be \"legacy\" here\n decoratorVersion: version,\n // loose: options.loose, Not supported\n });\n } else {\n throw new Error(\n \"The '.version' option must be one of 'legacy', '2023-05', '2023-01', '2022-03', or '2021-12'.\",\n );\n }\n});\n"],"names":["buildClassDecorator","template","statement","buildClassPrototype","buildGetDescriptor","buildGetObjectInitializer","WARNING_CALLS","WeakSet","applyEnsureOrdering","path","decorators","isClass","get","reduce","acc","prop","concat","node","identDecorators","filter","decorator","t","isIdentifier","expression","length","sequenceExpression","map","id","scope","generateDeclaredUidIdentifier","assignmentExpression","applyClassDecorators","classPath","hasClassDecorators","name","dec","reverse","CLASS_REF","cloneNode","DECORATOR","INNER","classNode","applyMethodDecorators","state","hasMethodDecorators","body","applyTargetDecorators","some","applyObjectDecorators","properties","type","decoratedProps","exprs","computed","buildCodeFrameError","property","isLiteral","key","stringLiteral","target","static","isClassProperty","descriptor","initializer","value","functionExpression","blockStatement","returnStatement","nullLiteral","callExpression","addHelper","thisExpression","add","push","arrayExpression","objectExpression","objectProperty","identifier","booleanLiteral","isObjectProperty","TEMP","TARGET","PROPERTY","decoratedClassToExpression","ref","generateUidIdentifier","variableDeclaration","variableDeclarator","toExpression","visitor","ExportDefaultDeclaration","decl","isClassDeclaration","replacement","varDeclPath","replaceWithMultiple","exportNamedDeclaration","exportSpecifier","declarations","registerDeclaration","ClassDeclaration","newPath","replaceWith","binding","getOwnBinding","ClassExpression","decoratedClass","ObjectExpression","decoratedObject","AssignmentExpression","has","right","CallExpression","arguments","callee","declare","api","options","assertVersion","version","inherits","syntaxDecorators","legacyVisitor","createClassFeaturePlugin","feature","FEATURES","decoratorVersion","Error"],"mappings":";;;;;AAKA,MAAMA,mBAAmB,GAAGC,QAAQ,CAACC,SAAS,CAAE,CAAA;AAChD;AACA,CAAC,CAI0B,CAAA;AAE3B,MAAMC,mBAAmB,GAAGF,QAAQ,CAAE,CAAA;AACtC;AACA,CAAC,CAAyE,CAAA;AAE1E,MAAMG,kBAAkB,GAAGH,QAAQ,CAAE,CAAA;AACrC;AACA,CAAC,CAG0B,CAAA;AAE3B,MAAMI,yBAAyB,GAAGJ,QAAQ,CAAE,CAAA;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAI0B,CAAA;AAE3B,MAAMK,aAAa,GAAG,IAAIC,OAAO,EAAE,CAAA;AAanC,SAASC,mBAAmBA,CAC1BC,IAAsD,EACtD;EAEA,MAAMC,UAAyB,GAAG,CAChCD,IAAI,CAACE,OAAO,EAAE,GACV,CACEF,IAAI,EACJ,GAAIA,IAAI,CAACG,GAAG,CAAC,WAAW,CAAyC,CAClE,GACDH,IAAI,CAACG,GAAG,CAAC,YAAY,CAAC,EAC1BC,MAAM,CACN,CACEC,GAAkB,EAClBC,IAEC,KACED,GAAG,CAACE,MAAM,CAACD,IAAI,CAACE,IAAI,CAACP,UAAU,IAAI,EAAE,CAAC,EAC3C,EACF,CAAC,CAAA;AAED,EAAA,MAAMQ,eAAe,GAAGR,UAAU,CAACS,MAAM,CACvCC,SAAS,IAAI,CAACC,KAAC,CAACC,YAAY,CAACF,SAAS,CAACG,UAAU,CACnD,CAAC,CAAA;AACD,EAAA,IAAIL,eAAe,CAACM,MAAM,KAAK,CAAC,EAAE,OAAA;EAElC,OAAOH,KAAC,CAACI,kBAAkB,CACzBP,eAAe,CACZQ,GAAG,CAAEN,SAAS,IAAmB;AAChC,IAAA,MAAMG,UAAU,GAAGH,SAAS,CAACG,UAAU,CAAA;AACvC,IAAA,MAAMI,EAAE,GAAIP,SAAS,CAACG,UAAU,GAC9Bd,IAAI,CAACmB,KAAK,CAACC,6BAA6B,CAAC,KAAK,CAAE,CAAA;IAClD,OAAOR,KAAC,CAACS,oBAAoB,CAAC,GAAG,EAAEH,EAAE,EAAEJ,UAAU,CAAC,CAAA;GACnD,CAAC,CACDP,MAAM,CAAC,CAACP,IAAI,CAACQ,IAAI,CAAC,CACvB,CAAC,CAAA;AACH,CAAA;AAMA,SAASc,oBAAoBA,CAACC,SAAsC,EAAE;AACpE,EAAA,IAAI,CAACC,kBAAkB,CAACD,SAAS,CAACf,IAAI,CAAC,EAAE,OAAA;EAEzC,MAAMP,UAAU,GAAGsB,SAAS,CAACf,IAAI,CAACP,UAAU,IAAI,EAAE,CAAA;AAClDsB,EAAAA,SAAS,CAACf,IAAI,CAACP,UAAU,GAAG,IAAI,CAAA;EAEhC,MAAMwB,IAAI,GAAGF,SAAS,CAACJ,KAAK,CAACC,6BAA6B,CAAC,OAAO,CAAC,CAAA;EAEnE,OAAOnB,UAAU,CACdgB,GAAG,CAACS,GAAG,IAAIA,GAAG,CAACZ,UAAU,CAAC,CAC1Ba,OAAO,EAAE,CACTvB,MAAM,CAAC,UAAUC,GAAG,EAAEM,SAAS,EAAE;AAChC,IAAA,OAAOpB,mBAAmB,CAAC;AACzBqC,MAAAA,SAAS,EAAEhB,KAAC,CAACiB,SAAS,CAACJ,IAAI,CAAC;AAC5BK,MAAAA,SAAS,EAAElB,KAAC,CAACiB,SAAS,CAAClB,SAAS,CAAC;AACjCoB,MAAAA,KAAK,EAAE1B,GAAAA;KACR,CAAC,CAACS,UAAU,CAAA;AACf,GAAC,EAAES,SAAS,CAACf,IAAI,CAAC,CAAA;AACtB,CAAA;AAEA,SAASgB,kBAAkBA,CAACQ,SAAkB,EAAE;AAC9C,EAAA,OAAO,CAAC,CAACA,SAAS,CAAC/B,UAAU,EAAEc,MAAM,CAAA;AACvC,CAAA;AAMA,SAASkB,qBAAqBA,CAC5BjC,IAAiC,EACjCkC,KAAiB,EACjB;EACA,IAAI,CAACC,mBAAmB,CAACnC,IAAI,CAACQ,IAAI,CAAC4B,IAAI,CAACA,IAAI,CAAC,EAAE,OAAA;AAE/C,EAAA,OAAOC,qBAAqB,CAC1BrC,IAAI,EACJkC,KAAK,EAELlC,IAAI,CAACQ,IAAI,CAAC4B,IAAI,CAACA,IACjB,CAAC,CAAA;AACH,CAAA;AAEA,SAASD,mBAAmBA,CAC1BC,IAA4D,EAC5D;EACA,OAAOA,IAAI,CAACE,IAAI,CACd9B,IAAI,IAEFA,IAAI,CAACP,UAAU,EAAEc,MACrB,CAAC,CAAA;AACH,CAAA;AAMA,SAASwB,qBAAqBA,CAC5BvC,IAAkC,EAClCkC,KAAiB,EACjB;EACA,IAAI,CAACC,mBAAmB,CAACnC,IAAI,CAACQ,IAAI,CAACgC,UAAU,CAAC,EAAE,OAAA;EAEhD,OAAOH,qBAAqB,CAC1BrC,IAAI,EACJkC,KAAK,EACLlC,IAAI,CAACQ,IAAI,CAACgC,UAAU,CAAC9B,MAAM,CACxBJ,IAAI,IAA6BA,IAAI,CAACmC,IAAI,KAAK,eAClD,CACF,CAAC,CAAA;AACH,CAAA;AAKA,SAASJ,qBAAqBA,CAC5BrC,IAAsD,EACtDkC,KAAiB,EACjBQ,cAA4D,EAC5D;AACA,EAAA,MAAMjB,IAAI,GAAGzB,IAAI,CAACmB,KAAK,CAACC,6BAA6B,CACnDpB,IAAI,CAACE,OAAO,EAAE,GAAG,OAAO,GAAG,KAC7B,CAAC,CAAA;EAED,MAAMyC,KAAK,GAAGD,cAAc,CAACtC,MAAM,CAAC,UAAUC,GAAG,EAAEG,IAAI,EAAE;IACvD,IAAIP,UAAyB,GAAG,EAAE,CAAA;AAClC,IAAA,IAAIO,IAAI,CAACP,UAAU,IAAI,IAAI,EAAE;MAC3BA,UAAU,GAAGO,IAAI,CAACP,UAAU,CAAA;MAC5BO,IAAI,CAACP,UAAU,GAAG,IAAI,CAAA;AACxB,KAAA;AAEA,IAAA,IAAIA,UAAU,CAACc,MAAM,KAAK,CAAC,EAAE,OAAOV,GAAG,CAAA;IAEvC,IAEEG,IAAI,CAACoC,QAAQ,EACb;AACA,MAAA,MAAM5C,IAAI,CAAC6C,mBAAmB,CAC5B,4DACF,CAAC,CAAA;AACH,KAAA;IAEA,MAAMC,QAAmB,GAAGlC,KAAC,CAACmC,SAAS,CAACvC,IAAI,CAACwC,GAAG,CAAC,GAC7CxC,IAAI,CAACwC,GAAG,GACRpC,KAAC,CAACqC,aAAa,CAEbzC,IAAI,CAACwC,GAAG,CAACvB,IACX,CAAC,CAAA;AAEL,IAAA,MAAMyB,MAAM,GACVlD,IAAI,CAACE,OAAO,EAAE,IAAI,CAAEM,IAAI,CAA6B2C,MAAM,GACvDzD,mBAAmB,CAAC;AAClBkC,MAAAA,SAAS,EAAEH,IAAAA;AACb,KAAC,CAAC,CAACX,UAAU,GACbW,IAAI,CAAA;AAEV,IAAA,IAAIb,KAAC,CAACwC,eAAe,CAAC5C,IAAI,EAAE;AAAE2C,MAAAA,MAAM,EAAE,KAAA;AAAM,KAAC,CAAC,EAAE;MAC9C,MAAME,UAAU,GAAGrD,IAAI,CAACmB,KAAK,CAACC,6BAA6B,CAAC,YAAY,CAAC,CAAA;AAEzE,MAAA,MAAMkC,WAAW,GAAG9C,IAAI,CAAC+C,KAAK,GAC1B3C,KAAC,CAAC4C,kBAAkB,CAClB,IAAI,EACJ,EAAE,EACF5C,KAAC,CAAC6C,cAAc,CAAC,CAAC7C,KAAC,CAAC8C,eAAe,CAAClD,IAAI,CAAC+C,KAAK,CAAC,CAAC,CAClD,CAAC,GACD3C,KAAC,CAAC+C,WAAW,EAAE,CAAA;MAEnBnD,IAAI,CAAC+C,KAAK,GAAG3C,KAAC,CAACgD,cAAc,CAC3B1B,KAAK,CAAC2B,SAAS,CAAC,0BAA0B,CAAC,EAC3C,CAACR,UAAU,EAAEzC,KAAC,CAACkD,cAAc,EAAE,CACjC,CAAC,CAAA;AAEDjE,MAAAA,aAAa,CAACkE,GAAG,CAACvD,IAAI,CAAC+C,KAAK,CAAC,CAAA;AAE7BlD,MAAAA,GAAG,CAAC2D,IAAI,CACNpD,KAAC,CAACS,oBAAoB,CACpB,GAAG,EACHT,KAAC,CAACiB,SAAS,CAACwB,UAAU,CAAC,EACvBzC,KAAC,CAACgD,cAAc,CAAC1B,KAAK,CAAC2B,SAAS,CAAC,0BAA0B,CAAC,EAAE,CAC5DjD,KAAC,CAACiB,SAAS,CAACqB,MAAM,CAAC,EACnBtC,KAAC,CAACiB,SAAS,CAACiB,QAAQ,CAAC,EACrBlC,KAAC,CAACqD,eAAe,CACfhE,UAAU,CAACgB,GAAG,CAACS,GAAG,IAAId,KAAC,CAACiB,SAAS,CAACH,GAAG,CAACZ,UAAU,CAAC,CACnD,CAAC,EACDF,KAAC,CAACsD,gBAAgB,CAAC,CACjBtD,KAAC,CAACuD,cAAc,CACdvD,KAAC,CAACwD,UAAU,CAAC,cAAc,CAAC,EAC5BxD,KAAC,CAACyD,cAAc,CAAC,IAAI,CACvB,CAAC,EACDzD,KAAC,CAACuD,cAAc,CACdvD,KAAC,CAACwD,UAAU,CAAC,YAAY,CAAC,EAC1BxD,KAAC,CAACyD,cAAc,CAAC,IAAI,CACvB,CAAC,EACDzD,KAAC,CAACuD,cAAc,CACdvD,KAAC,CAACwD,UAAU,CAAC,UAAU,CAAC,EACxBxD,KAAC,CAACyD,cAAc,CAAC,IAAI,CACvB,CAAC,EACDzD,KAAC,CAACuD,cAAc,CAACvD,KAAC,CAACwD,UAAU,CAAC,aAAa,CAAC,EAAEd,WAAW,CAAC,CAC3D,CAAC,CACH,CACH,CACF,CAAC,CAAA;AACH,KAAC,MAAM;AACLjD,MAAAA,GAAG,CAAC2D,IAAI,CACNpD,KAAC,CAACgD,cAAc,CAAC1B,KAAK,CAAC2B,SAAS,CAAC,0BAA0B,CAAC,EAAE,CAC5DjD,KAAC,CAACiB,SAAS,CAACqB,MAAM,CAAC,EACnBtC,KAAC,CAACiB,SAAS,CAACiB,QAAQ,CAAC,EACrBlC,KAAC,CAACqD,eAAe,CAAChE,UAAU,CAACgB,GAAG,CAACS,GAAG,IAAId,KAAC,CAACiB,SAAS,CAACH,GAAG,CAACZ,UAAU,CAAC,CAAC,CAAC,EACrEF,KAAC,CAAC0D,gBAAgB,CAAC9D,IAAI,CAAC,IAAII,KAAC,CAACwC,eAAe,CAAC5C,IAAI,EAAE;AAAE2C,QAAAA,MAAM,EAAE,IAAA;OAAM,CAAC,GACjEvD,yBAAyB,CAAC;QACxB2E,IAAI,EAAEvE,IAAI,CAACmB,KAAK,CAACC,6BAA6B,CAAC,MAAM,CAAC;AACtDoD,QAAAA,MAAM,EAAE5D,KAAC,CAACiB,SAAS,CAACqB,MAAM,CAAC;AAC3BuB,QAAAA,QAAQ,EAAE7D,KAAC,CAACiB,SAAS,CAACiB,QAAQ,CAAA;AAChC,OAAC,CAAC,CAAChC,UAAU,GACbnB,kBAAkB,CAAC;AACjB6E,QAAAA,MAAM,EAAE5D,KAAC,CAACiB,SAAS,CAACqB,MAAM,CAAC;AAC3BuB,QAAAA,QAAQ,EAAE7D,KAAC,CAACiB,SAAS,CAACiB,QAAQ,CAAA;AAChC,OAAC,CAAC,CAAChC,UAAU,EACjBF,KAAC,CAACiB,SAAS,CAACqB,MAAM,CAAC,CACpB,CACH,CAAC,CAAA;AACH,KAAA;AAEA,IAAA,OAAO7C,GAAG,CAAA;GACX,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,OAAOO,KAAC,CAACI,kBAAkB,CAAC,CAC1BJ,KAAC,CAACS,oBAAoB,CAAC,GAAG,EAAET,KAAC,CAACiB,SAAS,CAACJ,IAAI,CAAC,EAAEzB,IAAI,CAACQ,IAAI,CAAC,EACzDI,KAAC,CAACI,kBAAkB,CAAC2B,KAAK,CAAC,EAC3B/B,KAAC,CAACiB,SAAS,CAACJ,IAAI,CAAC,CAClB,CAAC,CAAA;AACJ,CAAA;AAEA,SAASiD,0BAA0BA,CAAC;EAAElE,IAAI;AAAEW,EAAAA,KAAAA;AAAyB,CAAC,EAAE;AACtE,EAAA,IAAI,CAACK,kBAAkB,CAAChB,IAAI,CAAC,IAAI,CAAC2B,mBAAmB,CAAC3B,IAAI,CAAC4B,IAAI,CAACA,IAAI,CAAC,EAAE;AACrE,IAAA,OAAA;AACF,GAAA;EAEA,MAAMuC,GAAG,GAAGnE,IAAI,CAACU,EAAE,GACfN,KAAC,CAACiB,SAAS,CAACrB,IAAI,CAACU,EAAE,CAAC,GACpBC,KAAK,CAACyD,qBAAqB,CAAC,OAAO,CAAC,CAAA;EAExC,OAAOhE,KAAC,CAACiE,mBAAmB,CAAC,KAAK,EAAE,CAClCjE,KAAC,CAACkE,kBAAkB,CAACH,GAAG,EAAE/D,KAAC,CAACmE,YAAY,CAACvE,IAAI,CAAC,CAAC,CAChD,CAAC,CAAA;AACJ,CAAA;AAEA,MAAMwE,OAA4B,GAAG;EACnCC,wBAAwBA,CAACjF,IAAI,EAAE;AAC7B,IAAA,MAAMkF,IAAI,GAAGlF,IAAI,CAACG,GAAG,CAAC,aAAa,CAAC,CAAA;AACpC,IAAA,IAAI,CAAC+E,IAAI,CAACC,kBAAkB,EAAE,EAAE,OAAA;AAEhC,IAAA,MAAMC,WAAW,GAAGV,0BAA0B,CAACQ,IAAI,CAAC,CAAA;AACpD,IAAA,IAAIE,WAAW,EAAE;MACf,MAAM,CAACC,WAAW,CAAC,GAAGrF,IAAI,CAACsF,mBAAmB,CAAC,CAC7CF,WAAW,EACXxE,KAAC,CAAC2E,sBAAsB,CAAC,IAAI,EAAE,CAC7B3E,KAAC,CAAC4E,eAAe,CAEf5E,KAAC,CAACiB,SAAS,CAACuD,WAAW,CAACK,YAAY,CAAC,CAAC,CAAC,CAACvE,EAAE,CAAC,EAC3CN,KAAC,CAACwD,UAAU,CAAC,SAAS,CACxB,CAAC,CACF,CAAC,CACH,CAAC,CAAA;AAEF,MAAA,IAAI,CAACc,IAAI,CAAC1E,IAAI,CAACU,EAAE,EAAE;AACjBlB,QAAAA,IAAI,CAACmB,KAAK,CAACuE,mBAAmB,CAACL,WAAW,CAAC,CAAA;AAC7C,OAAA;AACF,KAAA;GACD;EACDM,gBAAgBA,CAAC3F,IAAI,EAAE;AACrB,IAAA,MAAMoF,WAAW,GAAGV,0BAA0B,CAAC1E,IAAI,CAAC,CAAA;AACpD,IAAA,IAAIoF,WAAW,EAAE;MACf,MAAM,CAACQ,OAAO,CAAC,GAAG5F,IAAI,CAAC6F,WAAW,CAACT,WAAW,CAAC,CAAA;AAE/C,MAAA,MAAMF,IAAI,GAAGU,OAAO,CAACzF,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAC1C,MAAA,MAAMe,EAAE,GAAGgE,IAAI,CAAC1E,IAAI,CAACU,EAAkB,CAAA;MAGvC,MAAM4E,OAAO,GAAG9F,IAAI,CAACmB,KAAK,CAAC4E,aAAa,CAAC7E,EAAE,CAACO,IAAI,CAAC,CAAA;MACjDqE,OAAO,CAAC1B,UAAU,GAAGlD,EAAE,CAAA;MACvB4E,OAAO,CAAC9F,IAAI,GAAGkF,IAAI,CAAA;AACrB,KAAA;GACD;AACDc,EAAAA,eAAeA,CAAChG,IAAI,EAAEkC,KAAK,EAAE;AAG3B,IAAA,MAAM+D,cAAc,GAClBlG,mBAAmB,CAACC,IAAI,CAAC,IACzBsB,oBAAoB,CAACtB,IAAI,CAAC,IAC1BiC,qBAAqB,CAACjC,IAAI,EAAEkC,KAAK,CAAC,CAAA;AAEpC,IAAA,IAAI+D,cAAc,EAAEjG,IAAI,CAAC6F,WAAW,CAACI,cAAc,CAAC,CAAA;GACrD;AACDC,EAAAA,gBAAgBA,CAAClG,IAAI,EAAEkC,KAAK,EAAE;AAC5B,IAAA,MAAMiE,eAAe,GACnBpG,mBAAmB,CAACC,IAAI,CAAC,IAAIuC,qBAAqB,CAACvC,IAAI,EAAEkC,KAAK,CAAC,CAAA;AAEjE,IAAA,IAAIiE,eAAe,EAAEnG,IAAI,CAAC6F,WAAW,CAACM,eAAe,CAAC,CAAA;GACvD;AAEDC,EAAAA,oBAAoBA,CAACpG,IAAI,EAAEkC,KAAK,EAAE;IAChC,IAAI,CAACrC,aAAa,CAACwG,GAAG,CAACrG,IAAI,CAACQ,IAAI,CAAC8F,KAAK,CAAC,EAAE,OAAA;AAEzCtG,IAAAA,IAAI,CAAC6F,WAAW,CACdjF,KAAC,CAACgD,cAAc,CAAC1B,KAAK,CAAC2B,SAAS,CAAC,2BAA2B,CAAC,EAAE,CAE7DjD,KAAC,CAACiB,SAAS,CAAC7B,IAAI,CAACG,GAAG,CAAC,aAAa,CAAC,CAACK,IAAI,CAAC,EACzCI,KAAC,CAACqC,aAAa,CAEbjD,IAAI,CAACG,GAAG,CAAC,eAAe,CAAC,CAACK,IAAI,CAACiB,IAAI,IAEjCzB,IAAI,CAACG,GAAG,CAAC,eAAe,CAAC,CAACK,IAAI,CAAC+C,KACnC,CAAC,EAED3C,KAAC,CAACiB,SAAS,CAAC7B,IAAI,CAACG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,EAEhDI,KAAC,CAACiB,SAAS,CAAC7B,IAAI,CAACG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,CACjD,CACH,CAAC,CAAA;GACF;AAED+F,EAAAA,cAAcA,CAACvG,IAAI,EAAEkC,KAAK,EAAE;IAC1B,IAAIlC,IAAI,CAACQ,IAAI,CAACgG,SAAS,CAACzF,MAAM,KAAK,CAAC,EAAE,OAAA;AACtC,IAAA,IAAI,CAAClB,aAAa,CAACwG,GAAG,CAACrG,IAAI,CAACQ,IAAI,CAACgG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAA;AAKhD,IAAA,IAAIxG,IAAI,CAACQ,IAAI,CAACiG,MAAM,CAAChF,IAAI,KAAKS,KAAK,CAAC2B,SAAS,CAAC,gBAAgB,CAAC,CAACpC,IAAI,EAAE;AACpE,MAAA,OAAA;AACF,KAAA;AAEAzB,IAAAA,IAAI,CAAC6F,WAAW,CACdjF,KAAC,CAACgD,cAAc,CAAC1B,KAAK,CAAC2B,SAAS,CAAC,2BAA2B,CAAC,EAAE,CAC7DjD,KAAC,CAACiB,SAAS,CAAC7B,IAAI,CAACG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,EAC1CI,KAAC,CAACiB,SAAS,CAAC7B,IAAI,CAACG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,EAE1CI,KAAC,CAACiB,SAAS,CAAC7B,IAAI,CAACG,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,EAEtDI,KAAC,CAACiB,SAAS,CAAC7B,IAAI,CAACG,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,CACvD,CACH,CAAC,CAAA;AACH,GAAA;AACF,CAAC;;AC3XD,YAAekG,OAAO,CAAC,CAACC,GAAG,EAAEC,OAAgB,KAAK;EAChDD,GAAG,CAACE,aAAa,CAAA,eAIjB,CAAC,CAAA;EAOD,MAAM;AAAEC,IAAAA,OAAAA;AAAQ,GAAC,GAAGF,OAAO,CAAA;EAE3B,IAEME,OAAO,KAAK,QAAQ,EAExB;IACA,OAAO;AACLrF,MAAAA,IAAI,EAAE,qBAAqB;AAC3BsF,MAAAA,QAAQ,EAAEC,gBAAgB;AAC1BhC,MAAAA,OAAO,EAAEiC,OAAAA;KACV,CAAA;GACF,MAAM,IACL,CAACH,OAAO,IACRA,OAAO,KAAK,SAAS,IACrBA,OAAO,KAAK,SAAS,IACrBA,OAAO,KAAK,SAAS,IACrBA,OAAO,KAAK,SAAS,IACrBA,OAAO,KAAK,SAAS,EACrB;IACAH,GAAG,CAACE,aAAa,CAAA,eAIjB,CAAC,CAAA;AACD,IAAA,OAAOK,wBAAwB,CAAC;AAC9BzF,MAAAA,IAAI,EAAE,qBAAqB;MAE3BkF,GAAG;MACHQ,OAAO,EAAEC,QAAQ,CAACnH,UAAU;AAC5B8G,MAAAA,QAAQ,EAAEC,gBAAgB;AAE1BK,MAAAA,gBAAgB,EAAEP,OAAAA;AAEpB,KAAC,CAAC,CAAA;AACJ,GAAC,MAAM;AACL,IAAA,MAAM,IAAIQ,KAAK,CACb,+FACF,CAAC,CAAA;AACH,GAAA;AACF,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/transformer-legacy.ts","../src/index.ts"],"sourcesContent":["// Fork of https://github.com/loganfsmyth/babel-plugin-proposal-decorators-legacy\n\nimport { template, types as t, type PluginPass } from \"@babel/core\";\nimport type { NodePath, Visitor } from \"@babel/traverse\";\n\nconst buildClassDecorator = template.statement(`\n DECORATOR(CLASS_REF = INNER) || CLASS_REF;\n`) as (replacements: {\n DECORATOR: t.Expression;\n CLASS_REF: t.Identifier;\n INNER: t.Expression;\n}) => t.ExpressionStatement;\n\nconst buildClassPrototype = template(`\n CLASS_REF.prototype;\n`) as (replacements: { CLASS_REF: t.Identifier }) => t.ExpressionStatement;\n\nconst buildGetDescriptor = template(`\n Object.getOwnPropertyDescriptor(TARGET, PROPERTY);\n`) as (replacements: {\n TARGET: t.Expression;\n PROPERTY: t.Literal;\n}) => t.ExpressionStatement;\n\nconst buildGetObjectInitializer = template(`\n (TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {\n enumerable: true,\n configurable: true,\n writable: true,\n initializer: function(){\n return TEMP;\n }\n })\n`) as (replacements: {\n TEMP: t.Identifier;\n TARGET: t.Expression;\n PROPERTY: t.Literal;\n}) => t.ExpressionStatement;\n\nconst WARNING_CALLS = new WeakSet();\n\n// legacy decorator does not support ClassAccessorProperty\ntype ClassDecoratableElement =\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.ClassProperty\n | t.ClassPrivateProperty;\n\n/**\n * If the decorator expressions are non-identifiers, hoist them to before the class so we can be sure\n * that they are evaluated in order.\n */\nfunction applyEnsureOrdering(\n path: NodePath<t.ClassExpression | t.ObjectExpression>,\n) {\n // TODO: This should probably also hoist computed properties.\n const decorators: t.Decorator[] = (\n path.isClass()\n ? [\n path,\n ...(path.get(\"body.body\") as NodePath<ClassDecoratableElement>[]),\n ]\n : path.get(\"properties\")\n ).reduce(\n (\n acc: t.Decorator[],\n prop: NodePath<\n t.ObjectMember | t.ClassExpression | ClassDecoratableElement\n >,\n ) => acc.concat(prop.node.decorators || []),\n [],\n );\n\n const identDecorators = decorators.filter(\n decorator => !t.isIdentifier(decorator.expression),\n );\n if (identDecorators.length === 0) return;\n\n return t.sequenceExpression(\n identDecorators\n .map((decorator): t.Expression => {\n const expression = decorator.expression;\n const id = (decorator.expression =\n path.scope.generateDeclaredUidIdentifier(\"dec\"));\n return t.assignmentExpression(\"=\", id, expression);\n })\n .concat([path.node]),\n );\n}\n\n/**\n * Given a class expression with class-level decorators, create a new expression\n * with the proper decorated behavior.\n */\nfunction applyClassDecorators(classPath: NodePath<t.ClassExpression>) {\n if (!hasClassDecorators(classPath.node)) return;\n\n const decorators = classPath.node.decorators || [];\n classPath.node.decorators = null;\n\n const name = classPath.scope.generateDeclaredUidIdentifier(\"class\");\n\n return decorators\n .map(dec => dec.expression)\n .reverse()\n .reduce(function (acc, decorator) {\n return buildClassDecorator({\n CLASS_REF: t.cloneNode(name),\n DECORATOR: t.cloneNode(decorator),\n INNER: acc,\n }).expression;\n }, classPath.node);\n}\n\nfunction hasClassDecorators(classNode: t.Class) {\n return !!classNode.decorators?.length;\n}\n\n/**\n * Given a class expression with method-level decorators, create a new expression\n * with the proper decorated behavior.\n */\nfunction applyMethodDecorators(\n path: NodePath<t.ClassExpression>,\n state: PluginPass,\n) {\n if (!hasMethodDecorators(path.node.body.body)) return;\n\n return applyTargetDecorators(\n path,\n state,\n // @ts-expect-error ClassAccessorProperty is not supported in legacy decorator\n path.node.body.body,\n );\n}\n\nfunction hasMethodDecorators(\n body: t.ClassBody[\"body\"] | t.ObjectExpression[\"properties\"],\n) {\n return body.some(\n node =>\n // @ts-expect-error decorators not in SpreadElement/StaticBlock\n node.decorators?.length,\n );\n}\n\n/**\n * Given an object expression with property decorators, create a new expression\n * with the proper decorated behavior.\n */\nfunction applyObjectDecorators(\n path: NodePath<t.ObjectExpression>,\n state: PluginPass,\n) {\n if (!hasMethodDecorators(path.node.properties)) return;\n\n return applyTargetDecorators(\n path,\n state,\n path.node.properties.filter(\n (prop): prop is t.ObjectMember => prop.type !== \"SpreadElement\",\n ),\n );\n}\n\n/**\n * A helper to pull out property decorators into a sequence expression.\n */\nfunction applyTargetDecorators(\n path: NodePath<t.ClassExpression | t.ObjectExpression>,\n state: PluginPass,\n decoratedProps: (t.ObjectMember | ClassDecoratableElement)[],\n) {\n const name = path.scope.generateDeclaredUidIdentifier(\n path.isClass() ? \"class\" : \"obj\",\n );\n\n const exprs = decoratedProps.reduce(function (acc, node) {\n let decorators: t.Decorator[] = [];\n if (node.decorators != null) {\n decorators = node.decorators;\n node.decorators = null;\n }\n\n if (decorators.length === 0) return acc;\n\n if (\n // @ts-expect-error computed is not in ClassPrivateProperty\n node.computed\n ) {\n throw path.buildCodeFrameError(\n \"Computed method/property decorators are not yet supported.\",\n );\n }\n\n const property: t.Literal = t.isLiteral(node.key)\n ? node.key\n : t.stringLiteral(\n // @ts-expect-error: should we handle ClassPrivateProperty?\n node.key.name,\n );\n\n const target =\n path.isClass() && !(node as ClassDecoratableElement).static\n ? buildClassPrototype({\n CLASS_REF: name,\n }).expression\n : name;\n\n if (t.isClassProperty(node, { static: false })) {\n const descriptor = path.scope.generateDeclaredUidIdentifier(\"descriptor\");\n\n const initializer = node.value\n ? t.functionExpression(\n null,\n [],\n t.blockStatement([t.returnStatement(node.value)]),\n )\n : t.nullLiteral();\n\n node.value = t.callExpression(\n state.addHelper(\"initializerWarningHelper\"),\n [descriptor, t.thisExpression()],\n );\n\n WARNING_CALLS.add(node.value);\n\n acc.push(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(descriptor),\n t.callExpression(state.addHelper(\"applyDecoratedDescriptor\"), [\n t.cloneNode(target),\n t.cloneNode(property),\n t.arrayExpression(\n decorators.map(dec => t.cloneNode(dec.expression)),\n ),\n t.objectExpression([\n t.objectProperty(\n t.identifier(\"configurable\"),\n t.booleanLiteral(true),\n ),\n t.objectProperty(\n t.identifier(\"enumerable\"),\n t.booleanLiteral(true),\n ),\n t.objectProperty(\n t.identifier(\"writable\"),\n t.booleanLiteral(true),\n ),\n t.objectProperty(t.identifier(\"initializer\"), initializer),\n ]),\n ]),\n ),\n );\n } else {\n acc.push(\n t.callExpression(state.addHelper(\"applyDecoratedDescriptor\"), [\n t.cloneNode(target),\n t.cloneNode(property),\n t.arrayExpression(decorators.map(dec => t.cloneNode(dec.expression))),\n t.isObjectProperty(node) || t.isClassProperty(node, { static: true })\n ? buildGetObjectInitializer({\n TEMP: path.scope.generateDeclaredUidIdentifier(\"init\"),\n TARGET: t.cloneNode(target),\n PROPERTY: t.cloneNode(property),\n }).expression\n : buildGetDescriptor({\n TARGET: t.cloneNode(target),\n PROPERTY: t.cloneNode(property),\n }).expression,\n t.cloneNode(target),\n ]),\n );\n }\n\n return acc;\n }, []);\n\n return t.sequenceExpression([\n t.assignmentExpression(\"=\", t.cloneNode(name), path.node),\n t.sequenceExpression(exprs),\n t.cloneNode(name),\n ]);\n}\n\nfunction decoratedClassToExpression({ node, scope }: NodePath<t.Class>) {\n if (!hasClassDecorators(node) && !hasMethodDecorators(node.body.body)) {\n return;\n }\n\n const ref = node.id\n ? t.cloneNode(node.id)\n : scope.generateUidIdentifier(\"class\");\n\n return t.variableDeclaration(\"let\", [\n t.variableDeclarator(ref, t.toExpression(node)),\n ]);\n}\n\nconst visitor: Visitor<PluginPass> = {\n ExportDefaultDeclaration(path) {\n const decl = path.get(\"declaration\");\n if (!decl.isClassDeclaration()) return;\n\n const replacement = decoratedClassToExpression(decl);\n if (replacement) {\n const [varDeclPath] = path.replaceWithMultiple([\n replacement,\n t.exportNamedDeclaration(null, [\n t.exportSpecifier(\n // @ts-expect-error todo(flow->ts) might be add more specific return type for decoratedClassToExpression\n t.cloneNode(replacement.declarations[0].id),\n t.identifier(\"default\"),\n ),\n ]),\n ]);\n\n if (!decl.node.id) {\n path.scope.registerDeclaration(varDeclPath);\n }\n }\n },\n ClassDeclaration(path) {\n const replacement = decoratedClassToExpression(path);\n if (replacement) {\n const [newPath] = path.replaceWith(replacement);\n\n const decl = newPath.get(\"declarations.0\");\n const id = decl.node.id as t.Identifier;\n\n // TODO: Maybe add this logic to @babel/traverse\n const binding = path.scope.getOwnBinding(id.name);\n binding.identifier = id;\n binding.path = decl;\n }\n },\n ClassExpression(path, state) {\n // Create a replacement for the class node if there is one. We do one pass to replace classes with\n // class decorators, and a second pass to process method decorators.\n const decoratedClass =\n applyEnsureOrdering(path) ||\n applyClassDecorators(path) ||\n applyMethodDecorators(path, state);\n\n if (decoratedClass) path.replaceWith(decoratedClass);\n },\n ObjectExpression(path, state) {\n const decoratedObject =\n applyEnsureOrdering(path) || applyObjectDecorators(path, state);\n\n if (decoratedObject) path.replaceWith(decoratedObject);\n },\n\n AssignmentExpression(path, state) {\n if (!WARNING_CALLS.has(path.node.right)) return;\n\n path.replaceWith(\n t.callExpression(state.addHelper(\"initializerDefineProperty\"), [\n // @ts-expect-error todo(flow->ts) typesafe NodePath.get\n t.cloneNode(path.get(\"left.object\").node),\n t.stringLiteral(\n // @ts-expect-error todo(flow->ts) typesafe NodePath.get\n path.get(\"left.property\").node.name ||\n // @ts-expect-error todo(flow->ts) typesafe NodePath.get\n path.get(\"left.property\").node.value,\n ),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"right.arguments\")[0].node),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"right.arguments\")[1].node),\n ]),\n );\n },\n\n CallExpression(path, state) {\n if (path.node.arguments.length !== 3) return;\n if (!WARNING_CALLS.has(path.node.arguments[2])) return;\n\n // If the class properties plugin isn't enabled, this line will add an unused helper\n // to the code. It's not ideal, but it's ok since the configuration is not valid anyway.\n // @ts-expect-error todo(flow->ts) check that `callee` is Identifier\n if (path.node.callee.name !== state.addHelper(\"defineProperty\").name) {\n return;\n }\n\n path.replaceWith(\n t.callExpression(state.addHelper(\"initializerDefineProperty\"), [\n t.cloneNode(path.get(\"arguments\")[0].node),\n t.cloneNode(path.get(\"arguments\")[1].node),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"arguments.2.arguments\")[0].node),\n // @ts-expect-error todo(flow->ts)\n t.cloneNode(path.get(\"arguments.2.arguments\")[1].node),\n ]),\n );\n },\n};\n\nexport default visitor;\n","/* eslint-disable @babel/development/plugin-name */\n\nimport { declare } from \"@babel/helper-plugin-utils\";\nimport syntaxDecorators from \"@babel/plugin-syntax-decorators\";\nimport {\n createClassFeaturePlugin,\n FEATURES,\n} from \"@babel/helper-create-class-features-plugin\";\nimport legacyVisitor from \"./transformer-legacy.ts\";\nimport type { Options as SyntaxOptions } from \"@babel/plugin-syntax-decorators\";\n\ninterface Options extends SyntaxOptions {\n /** @deprecated use `constantSuper` assumption instead. Only supported in 2021-12 version. */\n loose?: boolean;\n}\n\nexport type { Options };\n\nexport default declare((api, options: Options) => {\n api.assertVersion(REQUIRED_VERSION(7));\n\n // Options are validated in @babel/plugin-syntax-decorators\n if (!process.env.BABEL_8_BREAKING) {\n // eslint-disable-next-line no-var\n var { legacy } = options;\n }\n const { version } = options;\n\n if (\n process.env.BABEL_8_BREAKING\n ? version === \"legacy\"\n : legacy || version === \"legacy\"\n ) {\n return {\n name: \"proposal-decorators\",\n inherits: syntaxDecorators,\n visitor: legacyVisitor,\n };\n } else if (\n !version ||\n version === \"2018-09\" ||\n version === \"2021-12\" ||\n version === \"2022-03\" ||\n version === \"2023-01\" ||\n version === \"2023-05\" ||\n version === \"2023-11\"\n ) {\n api.assertVersion(REQUIRED_VERSION(\"^7.0.2\"));\n return createClassFeaturePlugin({\n name: \"proposal-decorators\",\n\n api,\n feature: FEATURES.decorators,\n inherits: syntaxDecorators,\n // @ts-expect-error version must not be \"legacy\" here\n decoratorVersion: version,\n // loose: options.loose, Not supported\n });\n } else {\n throw new Error(\n \"The '.version' option must be one of 'legacy', '2023-11', '2023-05', '2023-01', '2022-03', or '2021-12'.\",\n );\n }\n});\n"],"names":["buildClassDecorator","template","statement","buildClassPrototype","buildGetDescriptor","buildGetObjectInitializer","WARNING_CALLS","WeakSet","applyEnsureOrdering","path","decorators","isClass","get","reduce","acc","prop","concat","node","identDecorators","filter","decorator","t","isIdentifier","expression","length","sequenceExpression","map","id","scope","generateDeclaredUidIdentifier","assignmentExpression","applyClassDecorators","classPath","hasClassDecorators","name","dec","reverse","CLASS_REF","cloneNode","DECORATOR","INNER","classNode","applyMethodDecorators","state","hasMethodDecorators","body","applyTargetDecorators","some","applyObjectDecorators","properties","type","decoratedProps","exprs","computed","buildCodeFrameError","property","isLiteral","key","stringLiteral","target","static","isClassProperty","descriptor","initializer","value","functionExpression","blockStatement","returnStatement","nullLiteral","callExpression","addHelper","thisExpression","add","push","arrayExpression","objectExpression","objectProperty","identifier","booleanLiteral","isObjectProperty","TEMP","TARGET","PROPERTY","decoratedClassToExpression","ref","generateUidIdentifier","variableDeclaration","variableDeclarator","toExpression","visitor","ExportDefaultDeclaration","decl","isClassDeclaration","replacement","varDeclPath","replaceWithMultiple","exportNamedDeclaration","exportSpecifier","declarations","registerDeclaration","ClassDeclaration","newPath","replaceWith","binding","getOwnBinding","ClassExpression","decoratedClass","ObjectExpression","decoratedObject","AssignmentExpression","has","right","CallExpression","arguments","callee","declare","api","options","assertVersion","version","inherits","syntaxDecorators","legacyVisitor","createClassFeaturePlugin","feature","FEATURES","decoratorVersion","Error"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babel/plugin-proposal-decorators",
3
- "version": "8.0.0-alpha.6",
3
+ "version": "8.0.0-alpha.8",
4
4
  "author": "The Babel Team (https://babel.dev/team)",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -20,19 +20,19 @@
20
20
  "decorators"
21
21
  ],
22
22
  "dependencies": {
23
- "@babel/helper-create-class-features-plugin": "^8.0.0-alpha.6",
24
- "@babel/helper-plugin-utils": "^8.0.0-alpha.6",
25
- "@babel/plugin-syntax-decorators": "^8.0.0-alpha.6"
23
+ "@babel/helper-create-class-features-plugin": "^8.0.0-alpha.8",
24
+ "@babel/helper-plugin-utils": "^8.0.0-alpha.8",
25
+ "@babel/plugin-syntax-decorators": "^8.0.0-alpha.8"
26
26
  },
27
27
  "peerDependencies": {
28
- "@babel/core": "^8.0.0-alpha.6"
28
+ "@babel/core": "^8.0.0-alpha.8"
29
29
  },
30
30
  "devDependencies": {
31
- "@babel/core": "^8.0.0-alpha.6",
32
- "@babel/helper-plugin-test-runner": "^8.0.0-alpha.6",
33
- "@babel/traverse": "^8.0.0-alpha.6",
31
+ "@babel/core": "^8.0.0-alpha.8",
32
+ "@babel/helper-plugin-test-runner": "^8.0.0-alpha.8",
33
+ "@babel/traverse": "^8.0.0-alpha.8",
34
34
  "array.prototype.concat": "^1.0.2",
35
- "babel-plugin-polyfill-es-shims": "^0.10.2",
35
+ "babel-plugin-polyfill-es-shims": "^0.10.4",
36
36
  "object.getownpropertydescriptors": "^2.1.1"
37
37
  },
38
38
  "engines": {