UNPKG

1.27 kBJavaScriptView Raw
1System.register(["path","@babel/template"],function(d){"use strict";var n,l;return{setters:[function(i){n=i.default},function(i){l=i.default}],execute:function(){d("default",f);function i(e,t){if(e.isIdentifier(t)&&m.includes(t.name))return!0;if(e.isMemberExpression(t)){const{property:a}=t;if(e.isIdentifier(a)&&m.includes(a.name))return!0}return!1}const m=["atom","atomFamily","atomWithDefault","atomWithObservable","atomWithReducer","atomWithReset","atomWithStorage","freezeAtom","loadable","selectAtom","splitAtom"];function f({types:e}){return{visitor:{ExportDefaultDeclaration(t,a){const{node:r}=t;if(e.isCallExpression(r.declaration)&&i(e,r.declaration.callee)){const o=a.filename||"unknown";let s=n.basename(o,n.extname(o));s==="index"&&(s=n.basename(n.dirname(o)));const c=l(`
2 const %%atomIdentifier%% = %%atom%%;
3 export default %%atomIdentifier%%
4 `)({atomIdentifier:e.identifier(s),atom:r.declaration});t.replaceWithMultiple(c)}},VariableDeclarator(t){e.isIdentifier(t.node.id)&&e.isCallExpression(t.node.init)&&i(e,t.node.init.callee)&&t.parentPath.insertAfter(e.expressionStatement(e.assignmentExpression("=",e.memberExpression(e.identifier(t.node.id.name),e.identifier("debugLabel")),e.stringLiteral(t.node.id.name))))}}}}}}});