Skip to content

[Bug]: babel generate duplicate comments after cloneNode #14549

@wwsun

Description

@wwsun

How are you using Babel?

@babel/eslint-parser

Input code

import * as t from '@babel/types';
import { parse } from '@babel/parser';
import generator from '@babel/generator';

const code = `
import React from "react";
// 1111
class App extends React.Component {}
`;

describe('babel', () => {
  it('clone and generate', () => {
    expect(
      generator(
        t.cloneNode(
          parse(code, {
            sourceType: 'module',
          }),
          true,
          false,
        ),
        {
          retainLines: true,
        },
      ).code,
    ).toEqual(code);
  });
});

Current and expected behavior

current code: with duplicate comments

import React from "react";
// 1111
// 1111
class App extends React.Component {}

expected code

import React from "react";
// 1111
class App extends React.Component {}

Environment

  "dependencies": {
    "@babel/generator": "^7.17.10",
    "@babel/parser": "^7.17.10",
    "@babel/traverse": "^7.17.10",
    "@babel/types": "^7.17.10",
    "@types/babel__generator": "^7.6.4",
    "@types/babel__traverse": "^7.17.1",
  },
  • node: v16.14.2
  • os: macos

Possible solution

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    outdatedA closed issue/PR that is archived due to age. Recommended to make a new issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions