astexplorer icon indicating copy to clipboard operation
astexplorer copied to clipboard

Unable to save snippet with empty code

Open j4k0xb opened this issue 2 years ago • 0 comments

Describe the bug It's not possible to save or update snippets when the code is empty. I wanna bookmark them to paste the code later.

Error: Unable to create snippet.

To Reproduce Steps to reproduce the behavior:

  1. Go to https://astexplorer.net
  2. Delete the placeholder code
  3. Enable the babelv7 transform
  4. Paste
export default function (babel) {
  const { types: t } = babel;
  
  return {
    name: "ast-transform", // not required
    visitor: {
      VariableDeclarator(path) {
        const binding = path.scope.getBinding(path.node.id.name);
        if (!binding) return;
        if (!binding.constant) return;
        if (!t.isLiteral(path.node.init)) return;
        binding.referencePaths.forEach(ref => {
          ref.replaceWith(path.node.init);
        });
        path.remove();
      }
    }
  };
}
  1. Click save

Expected behavior Successfully create a snippet

Screenshots image

Browser (please complete the following information):

  • OS: Linux
  • Browser Brave
  • Version 1.61.104

astexplorer settings:

  • Selected parser: @babel/parser
  • Selected transformer (if applicable): babelv7
  • Contents of the local storage key explorerSettingsV1:
{
  "showTransformPanel": true,
  "parserSettings": {},
  "parserPerCategory": {
    "javascript": "babylon7"
  },
  "workbench": {
    "parser": "babylon7",
    "code": "",
    "keyMap": "default",
    "transform": {
      "code": "export default function (babel) {\n  const { types: t } = babel;\n  \n  return {\n    name: \"ast-transform\", // not required\n    visitor: {\n      VariableDeclarator(path) {\n        const binding = path.scope.getBinding(path.node.id.name);\n        if (!binding) return;\n        if (!binding.constant) return;\n        if (!t.isLiteral(path.node.init)) return;\n        binding.referencePaths.forEach(ref => {\n          ref.replaceWith(path.node.init);\n        });\n        path.remove();\n      }\n    }\n  };\n}\n",
      "transformer": "babelv7"
    }
  }
}

Additional context Response: 500 Internal Server Error - Something went wrong

j4k0xb avatar Dec 19 '23 23:12 j4k0xb