Comments (6)
It works now, thank you!
from putout.
As I see, your package.json doesn't have type
field, so ESM
test.js
would not work any way (unless you rename it to test.mjs). Also you requiring
json files supported only with nodejs
flag --experimental-json-modules. What do you want test.js
transformed to?
Using simport:
import {createCommons} from 'simport';
const {require} = createCommons(__import.meta.url);
// and then you can use `require` in `ESM`
or
import "./base.json";
And you should use --experimental-json-modules
from putout.
I'm trying to understand how it's supposed to work.
I just tried adding "type": "module"
to my package.json
, and I still see no warnings from Putout:
from putout.
The most common cases supported right now, like:
-const fs = require(‘fs’);
+import fs from ‘fs’;
Right nowtop-level-require
, which is not assigned to anything, like:
require(‘some-module’);
Not handled at all. I’m wandering how to handle it properly.
from putout.
Oh, right, of course!
OK, I'm trying it, but still can't make it work. Could you please check out this PR: EvgenyOrekhov/eslint-config-hardcore#281 and tell me why is there no warning from convert-commonjs-to-esm
?
You can see it in CI report that there is a warning about "use strict"
, but there is no warning about require
:
from putout.
Looks like it is related with configuration of convert-commonjs-to-esm
, the whole rule is disabled by default with:
{
"rules": {
"convert-commonjs-to-esm": "off"
}
}
And when you partially enable it with:
{
"rules": {
"convert-commonjs-to-esm": "off",
"convert-commonjs-to-esm/require": "on",
"convert-commonjs-to-esm/exports": "on"
}
}
It's do not get loaded, so one of solutions could be to enable the whole rule, and then disable parts you don't need.
Anyways it looks useful, worth fixing and landed in @putout/engine-loader v4.3.0
🎉 .
Is it works for you :)?
from putout.
Related Issues (20)
- question: how can I use putout to transform unicode regexes (/../u)? HOT 4
- How to disable pretty printer HOT 12
- Could not resolve dependency when installing latest eslint-plugin-putout HOT 4
- Getting error for apply-nullish-coalescing HOT 7
- TypeScript type being removed in output when using object destructuring HOT 2
- Callstack error on version 32.1.x or newer HOT 12
- TypeScript union type as a key turns into extends expression HOT 2
- TypeScript interface `extends` gets removed HOT 1
- Eslint Plugin Relying on Stylistic HOT 6
- 404 Page of Node v12 link in README. HOT 2
- convert-commonjs-to-esm/exports not working HOT 8
- Double quotes to single quotes conversion creates syntax error HOT 3
- question: how can i disable all plugins that are not in the rulesdir? HOT 3
- [printer] [bug] HOT 2
- Question: Reverse mode HOT 4
- Wrong transform with @putout/plugin-for-of HOT 15
- Incorrect order of initialization of variables HOT 4
- Incorrect removing of an expression HOT 2
- ignore test files HOT 5
- path is missing for ruler toggler HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from putout.