putout 24.0.0 → 24.2.0

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/ChangeLog CHANGED
@@ -1,3 +1,75 @@
1
+ 2022.01.20, v24.2.0
2
+
3
+ fix:
4
+ - (@putout/plugin-merge-duplicate-imports) crawl: integrate with declare
5
+
6
+ feature:
7
+ - (package) @putout/plugin-remove-nested-blocks v5.0.0
8
+ - (@putout/plugin-remove-nested-blocks) drop support of putout < 24
9
+ - (package) @putout/plugin-putout v10.0.0
10
+ - (@putout/plugin-putout) drop support of putout < 24.2
11
+ - (package) @putout/plugin-merge-duplicate-imports v5.0.0
12
+ - (@putout/plugin-merge-duplicate-imports) drop support of putout < 24
13
+ - (package) @putout/plugin-merge-destructuring-properties v6.0.0
14
+ - (@putout/plugin-merge-destructuring-properties) drop support of putout < 24
15
+ - (package) @putout/plugin-extract-object-properties v7.0.0
16
+ - (@putout/plugin-extract-object-properties) drop support of putout < 24
17
+ - (package) @putout/plugin-convert-mock-require-to-mock-import v2.0.0
18
+ - (@putout/plugin-convert-mock-require-to-mock-import) drop support of putout < 24
19
+ - (package) @putout/plugin-convert-for-each-to-for-of v7.0.0
20
+ - (@putout/plugin-convert-for-each-to-for-of) drop support of putout < 24
21
+ - (package) @putout/plugin-convert-commonjs-to-esm v8.0.0
22
+ - (@putout/plugin-convert-commonjs-to-esm) drop support of putout < 24
23
+ - (package) @putout/operator-declare v3.0.0
24
+ - (@putout/operator-declare) drop support of putout < 24
25
+ - (@putout/engine-runner) runFix: add ability to crawl
26
+ - (eslint-plugin-putout) add remove-empty-newline-after-import
27
+ - (@putout/plugin-declare-undefined-variables) add nodejs util
28
+ - (@putout/operator/declare) respect import order: locals - latest import
29
+ - (@putout/operator-declare) import require support
30
+ - (@putout/operator-declare) improve declarations order
31
+ - (@putout/plugin-declare-undefined-variables) add fs
32
+ - (@putout/plugin-declare-undefined-variables) add support of process
33
+ - (eslint-plugin-putout) safe: disable remove-unreferenced-variables
34
+ - (@putout/plugin-remove-nested-blocks) integrate with tape/declare: add crawling
35
+ - (eslint-plugin-putout) safe: disable remove-useless-variables/rename
36
+ - (@putout/operate) toExpression: improve expression check
37
+ - (@putout/plugin-declare-undefined-variables) add support of table
38
+ - (@putout/plugin-declare-undefined-variables) add support of chalk
39
+ - (eslint-plugin-putout) add remove-empty-specifiers
40
+ - (eslint-plugin-putout) add-newline-before-function-call: add support of spaces after
41
+ - (eslint-plugin-putout) single-property-destructuring: exclude elements with comments inside
42
+ - (@putout/plugin-convert-commonjs-to-esm) require: exclude json while not supported
43
+ - (@putout/plugin-convert-commonjs-to-esm) require: disable import assertions while not supported
44
+ - (package) @putout/operate v7.0.0
45
+ - (package) @putout/operate v7.0.0
46
+ - (package) @putout/operate v7.0.0
47
+
48
+
49
+ 2022.01.14, v24.1.0
50
+
51
+ feature:
52
+ - (@putout/test) get rid of simport
53
+ - (putout) get rid of simport
54
+ - (package) @putout/cli-ruler v2.0.0
55
+ - (@putout/cli-ruler) named export ruler
56
+ - (@putout/processor-markdown) rm simport
57
+ - (@putout/plugin-tape) mv remove-only, remove-skip from dependencies
58
+
59
+
60
+ 2022.01.13, v24.0.2
61
+
62
+ feature:
63
+ - (@putout/plugin-typescript) add
64
+
65
+
66
+ 2022.01.13, v24.0.1
67
+
68
+ feature:
69
+ - (@putout/plugin-nodejs) merge convert-top-level-return
70
+ - (@putout/plugin-putout) declare: add getProperty, getProperties
71
+
72
+
1
73
  2022.01.12, v24.0.0
2
74
 
3
75
  feature:
@@ -7,7 +7,7 @@ const {
7
7
  CANNOT_LOAD_FORMATTER,
8
8
  } = require('./exit-codes');
9
9
 
10
- const simpleImport = require('./simple-import');
10
+ const {simpleImportDefault} = require('./simple-import');
11
11
 
12
12
  const stub = () => () => {};
13
13
 
@@ -48,7 +48,7 @@ async function loadFormatter(names) {
48
48
  let reporter;
49
49
 
50
50
  for (const name of names) {
51
- [e, reporter] = await tryToCatch(simpleImport, name);
51
+ [e, reporter] = await tryToCatch(simpleImportDefault, name);
52
52
 
53
53
  if (!e)
54
54
  return [null, reporter];
package/lib/cli/index.js CHANGED
@@ -11,10 +11,8 @@ const fullstore = require('fullstore');
11
11
  const tryCatch = require('try-catch');
12
12
  const tryToCatch = require('try-to-catch');
13
13
  const wraptile = require('wraptile');
14
- const {createSimport} = require('simport');
15
14
  const {version} = require('../../package.json');
16
-
17
- const simport = createSimport(__filename);
15
+ const {simpleImport} = require('./simple-import');
18
16
 
19
17
  const {env} = process;
20
18
  const isIDE = /JetBrains/.test(env.TERMINAL_EMULATOR) || env.TERM_PROGRAM === 'vscode';
@@ -198,7 +196,7 @@ module.exports = async ({argv, halt, log, write, logError, readFile, writeFile})
198
196
  }
199
197
 
200
198
  if (isStr(args.match)) {
201
- const {match, matchErrors} = await import('@putout/cli-match');
199
+ const {match, matchErrors} = await simpleImport('@putout/cli-match');
202
200
  const code = await match({
203
201
  pattern: args.match,
204
202
  cwd,
@@ -213,8 +211,8 @@ module.exports = async ({argv, halt, log, write, logError, readFile, writeFile})
213
211
  return exit(RULLER_WITH_FIX, Error('`--fix` cannot be used with ruler toggler (`--enable`, `--disable`)'));
214
212
 
215
213
  if (enable || disable) {
216
- const rulerProcessor = await simport('@putout/cli-ruler');
217
- rulerProcessor({enable, disable, readFile, writeFile}, []);
214
+ const {ruler} = await simpleImport('@putout/cli-ruler');
215
+ ruler({enable, disable, readFile, writeFile}, []);
218
216
  }
219
217
 
220
218
  const noConfig = !args.config;
@@ -249,7 +247,7 @@ module.exports = async ({argv, halt, log, write, logError, readFile, writeFile})
249
247
 
250
248
  if (staged) {
251
249
  const {get} = require('./staged');
252
- const {findUp} = await import('find-up');
250
+ const {findUp} = await simpleImport('find-up');
253
251
  const names = await get({findUp});
254
252
 
255
253
  stagedNames.push(...names);
@@ -415,13 +413,13 @@ module.exports = async ({argv, halt, log, write, logError, readFile, writeFile})
415
413
  fileCache.reconcile();
416
414
 
417
415
  if (enableAll || disableAll) {
418
- const rulerProcessor = await simport('@putout/cli-ruler');
419
- await rulerProcessor({enableAll, disableAll, readFile, writeFile}, mergedPlaces);
416
+ const {ruler} = await simpleImport('@putout/cli-ruler');
417
+ await ruler({enableAll, disableAll, readFile, writeFile}, mergedPlaces);
420
418
  }
421
419
 
422
420
  if (fix && staged) {
423
421
  const {set} = require('./staged');
424
- const {findUp} = await import('find-up');
422
+ const {findUp} = await simpleImport('find-up');
425
423
  const stagedNames = await set({findUp});
426
424
 
427
425
  if (!stagedNames.length)
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
- // yarn doesn't understand how simport works
4
- // https://github.com/coderaiser/putout/issues/93
5
-
6
- module.exports = async (url) => (await import(url)).default;
3
+ // How in other way to mock import using mock require in CommonJS?
4
+ module.exports.simpleImportDefault = async (url) => (await import(url)).default;
5
+ module.exports.simpleImport = async (url) => await import(url);
7
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "putout",
3
- "version": "24.0.0",
3
+ "version": "24.2.0",
4
4
  "type": "commonjs",
5
5
  "author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)",
6
6
  "description": "🐊 Pluggable and configurable code transformer with built-in eslint and babel plugins support of js, jsx typescript, flow files, markdown, yaml and json",
@@ -49,7 +49,7 @@
49
49
  "@putout/cli-cache": "^1.0.0",
50
50
  "@putout/cli-keypress": "^1.0.0",
51
51
  "@putout/cli-match": "^1.0.0",
52
- "@putout/cli-ruler": "^1.0.0",
52
+ "@putout/cli-ruler": "^2.0.0",
53
53
  "@putout/cli-validate-args": "^1.0.0",
54
54
  "@putout/compare": "^8.0.0",
55
55
  "@putout/engine-loader": "^5.0.0",
@@ -67,16 +67,14 @@
67
67
  "@putout/formatter-stream": "^3.0.0",
68
68
  "@putout/operate": "^7.0.0",
69
69
  "@putout/operator-add-args": "^1.0.0",
70
- "@putout/operator-declare": "^2.0.0",
70
+ "@putout/operator-declare": "^3.0.0",
71
71
  "@putout/operator-regexp": "^1.0.0",
72
- "@putout/plugin-apply-as-type-assertions": "^1.0.0",
73
72
  "@putout/plugin-apply-await-import": "^1.0.0",
74
73
  "@putout/plugin-apply-destructuring": "^5.0.0",
75
74
  "@putout/plugin-apply-if-condition": "^1.0.0",
76
75
  "@putout/plugin-apply-is-array": "^2.0.0",
77
76
  "@putout/plugin-apply-numeric-separators": "^1.0.0",
78
77
  "@putout/plugin-apply-optional-chaining": "^2.0.0",
79
- "@putout/plugin-apply-utility-types": "^1.0.0",
80
78
  "@putout/plugin-browserlist": "^1.0.0",
81
79
  "@putout/plugin-convert-apply-to-spread": "^3.0.0",
82
80
  "@putout/plugin-convert-arguments-to-rest": "^1.0.0",
@@ -84,40 +82,38 @@
84
82
  "@putout/plugin-convert-assignment-to-arrow-function": "^1.0.0",
85
83
  "@putout/plugin-convert-assignment-to-comparison": "^1.0.0",
86
84
  "@putout/plugin-convert-bitwise-to-logical": "^1.0.0",
87
- "@putout/plugin-convert-commonjs-to-esm": "^7.0.0",
85
+ "@putout/plugin-convert-commonjs-to-esm": "^8.0.0",
88
86
  "@putout/plugin-convert-comparison-to-boolean": "^2.0.0",
89
87
  "@putout/plugin-convert-concat-to-flat": "^1.0.0",
90
88
  "@putout/plugin-convert-equal-to-strict-equal": "^1.0.0",
91
89
  "@putout/plugin-convert-esm-to-commonjs": "^3.0.0",
92
- "@putout/plugin-convert-for-each-to-for-of": "^6.0.0",
90
+ "@putout/plugin-convert-for-each-to-for-of": "^7.0.0",
93
91
  "@putout/plugin-convert-for-in-to-for-of": "^2.0.0",
94
92
  "@putout/plugin-convert-for-to-for-of": "^2.0.0",
95
- "@putout/plugin-convert-generic-to-shorthand": "^2.0.0",
96
93
  "@putout/plugin-convert-index-of-to-includes": "^1.0.0",
97
94
  "@putout/plugin-convert-map-to-for-of": "^1.0.0",
98
95
  "@putout/plugin-convert-math-pow": "^4.0.0",
99
- "@putout/plugin-convert-mock-require-to-mock-import": "^1.0.0",
96
+ "@putout/plugin-convert-mock-require-to-mock-import": "^2.0.0",
100
97
  "@putout/plugin-convert-object-assign-to-merge-spread": "^5.0.0",
101
98
  "@putout/plugin-convert-quotes-to-backticks": "^1.0.0",
102
99
  "@putout/plugin-convert-template-to-string": "^1.0.0",
103
100
  "@putout/plugin-convert-to-arrow-function": "^3.0.0",
104
- "@putout/plugin-convert-top-level-return": "^4.0.0",
105
101
  "@putout/plugin-convert-typeof-to-is-type": "^2.0.0",
106
102
  "@putout/plugin-declare-undefined-variables": "^6.0.0",
107
103
  "@putout/plugin-eslint": "^2.0.0",
108
- "@putout/plugin-extract-object-properties": "^6.0.0",
104
+ "@putout/plugin-extract-object-properties": "^7.0.0",
109
105
  "@putout/plugin-extract-sequence-expressions": "^2.0.0",
110
106
  "@putout/plugin-github": "^2.0.0",
111
107
  "@putout/plugin-gitignore": "^3.0.0",
112
108
  "@putout/plugin-madrun": "^13.0.0",
113
- "@putout/plugin-merge-destructuring-properties": "^5.0.0",
114
- "@putout/plugin-merge-duplicate-imports": "^4.0.0",
109
+ "@putout/plugin-merge-destructuring-properties": "^6.0.0",
110
+ "@putout/plugin-merge-duplicate-imports": "^5.0.0",
115
111
  "@putout/plugin-merge-if-statements": "^3.0.0",
116
112
  "@putout/plugin-nodejs": "^2.0.0",
117
113
  "@putout/plugin-npmignore": "^2.0.0",
118
114
  "@putout/plugin-package-json": "^3.0.0",
119
115
  "@putout/plugin-promises": "^6.0.0",
120
- "@putout/plugin-putout": "^9.0.0",
116
+ "@putout/plugin-putout": "^10.0.0",
121
117
  "@putout/plugin-putout-config": "^2.0.0",
122
118
  "@putout/plugin-regexp": "^4.0.0",
123
119
  "@putout/plugin-remove-boolean-from-assertions": "^1.0.0",
@@ -126,19 +122,16 @@
126
122
  "@putout/plugin-remove-constant-conditions": "^3.0.0",
127
123
  "@putout/plugin-remove-debugger": "^4.0.0",
128
124
  "@putout/plugin-remove-duplicate-case": "^1.0.0",
129
- "@putout/plugin-remove-duplicate-interface-keys": "^3.0.0",
130
125
  "@putout/plugin-remove-duplicate-keys": "^2.0.0",
131
126
  "@putout/plugin-remove-duplicates-from-logical-expressions": "^1.0.0",
132
- "@putout/plugin-remove-duplicates-from-union": "^1.0.0",
133
127
  "@putout/plugin-remove-empty": "^6.0.0",
134
128
  "@putout/plugin-remove-iife": "^1.0.0",
135
- "@putout/plugin-remove-nested-blocks": "^4.0.0",
129
+ "@putout/plugin-remove-nested-blocks": "^5.0.0",
136
130
  "@putout/plugin-remove-unreachable-code": "^1.0.0",
137
131
  "@putout/plugin-remove-unreferenced-variables": "^1.0.0",
138
132
  "@putout/plugin-remove-unused-expressions": "^4.0.0",
139
133
  "@putout/plugin-remove-unused-for-of-variables": "^1.0.0",
140
134
  "@putout/plugin-remove-unused-private-fields": "^1.0.0",
141
- "@putout/plugin-remove-unused-types": "^2.0.0",
142
135
  "@putout/plugin-remove-unused-variables": "*",
143
136
  "@putout/plugin-remove-useless-arguments": "^5.0.0",
144
137
  "@putout/plugin-remove-useless-array-constructor": "^1.0.0",
@@ -151,8 +144,6 @@
151
144
  "@putout/plugin-remove-useless-for-of": "^2.0.0",
152
145
  "@putout/plugin-remove-useless-functions": "^2.0.0",
153
146
  "@putout/plugin-remove-useless-map": "^1.0.0",
154
- "@putout/plugin-remove-useless-mapped-types": "^1.0.0",
155
- "@putout/plugin-remove-useless-mapping-modifiers": "^1.0.0",
156
147
  "@putout/plugin-remove-useless-new": "^1.0.0",
157
148
  "@putout/plugin-remove-useless-operand": "^1.0.0",
158
149
  "@putout/plugin-remove-useless-return": "^4.0.0",
@@ -160,8 +151,6 @@
160
151
  "@putout/plugin-remove-useless-template-expressions": "^1.0.0",
161
152
  "@putout/plugin-remove-useless-type-conversion": "^1.0.0",
162
153
  "@putout/plugin-remove-useless-typeof": "^1.0.0",
163
- "@putout/plugin-remove-useless-types": "^1.0.0",
164
- "@putout/plugin-remove-useless-types-from-constants": "^1.0.0",
165
154
  "@putout/plugin-remove-useless-variables": "^5.0.0",
166
155
  "@putout/plugin-reuse-duplicate-init": "^3.0.0",
167
156
  "@putout/plugin-simplify-assignment": "^1.0.0",
@@ -171,6 +160,7 @@
171
160
  "@putout/plugin-split-variable-declarations": "^2.0.0",
172
161
  "@putout/plugin-strict-mode": "^2.0.0",
173
162
  "@putout/plugin-tape": "^7.0.0",
163
+ "@putout/plugin-typescript": "^1.0.0",
174
164
  "@putout/plugin-webpack": "^1.0.0",
175
165
  "@putout/processor-css": "^3.0.0",
176
166
  "@putout/processor-ignore": "^2.0.0",
@@ -194,7 +184,6 @@
194
184
  "nano-memoize": "^1.1.11",
195
185
  "once": "^1.4.0",
196
186
  "picomatch": "^2.2.2",
197
- "simport": "^1.2.0",
198
187
  "try-catch": "^3.0.0",
199
188
  "try-to-catch": "^3.0.0",
200
189
  "wraptile": "^3.0.0",
@@ -218,6 +207,7 @@
218
207
  "babel-plugin-transform-inline-consecutive-adds": "^0.5.0-alpha.9",
219
208
  "c8": "^7.5.0",
220
209
  "currify": "^4.0.0",
210
+ "escover": "^1.2.1",
221
211
  "eslint": "^8.0.1",
222
212
  "eslint-plugin-node": "^11.0.0",
223
213
  "eslint-plugin-putout": "^13.0.0",
package/putout.json CHANGED
@@ -69,8 +69,8 @@
69
69
  },
70
70
  "bin": {
71
71
  "nodejs/remove-process-exit": "off",
72
+ "nodejs/convert-top-level-return": "on",
72
73
  "remove-console": "off",
73
- "convert-top-level-return": "on",
74
74
  "remove-empty/import": "off"
75
75
  },
76
76
  "{test,*.spec.{js,mjs,cjs}}": {
@@ -84,15 +84,7 @@
84
84
  "convert-esm-to-commonjs": "on"
85
85
  },
86
86
  "*.{ts,tsx}": {
87
- "apply-as-type-assertions": "on",
88
- "apply-utility-types": "on",
89
- "convert-generic-to-shorthand": "on",
90
- "remove-duplicate-interface-keys": "on",
91
- "remove-useless-types": "on",
92
- "remove-useless-mapped-types": "on",
93
- "remove-useless-mapping-modifiers": "on",
94
- "remove-useless-types-from-constants": "on",
95
- "remove-unused-types": "on"
87
+ "typescript": "on"
96
88
  },
97
89
  "*.d.ts": {
98
90
  "declare-undefined-variables": "off"
@@ -111,17 +103,10 @@
111
103
  "**/package-lock.json"
112
104
  ],
113
105
  "rules": {
114
- "apply-as-type-assertions": "off",
115
- "apply-utility-types": "off",
106
+ "typescript": "off",
116
107
  "convert-esm-to-commonjs": "off",
117
108
  "convert-commonjs-to-esm": "off",
118
- "convert-top-level-return": "off",
119
- "convert-generic-to-shorthand": "off",
120
- "remove-useless-types": "off",
121
- "remove-useless-mapped-types": "off",
122
- "remove-useless-mapping-modifiers": "off",
123
- "remove-useless-types-from-constants": "off",
124
- "remove-unused-types": "off",
109
+ "nodejs/convert-top-level-return": "off",
125
110
  "putout": "off",
126
111
  "putout-config": "off",
127
112
  "eslint": "off",
@@ -134,8 +119,7 @@
134
119
  "tape": "off",
135
120
  "strict-mode": "off",
136
121
  "regexp/convert-replace-to-replace-all": "off",
137
- "convert-mock-require-to-mock-import": "off",
138
- "remove-duplicate-interface-keys": "off"
122
+ "convert-mock-require-to-mock-import": "off"
139
123
  },
140
124
  "plugins": [
141
125
  "apply-await-import",
@@ -143,8 +127,6 @@
143
127
  "apply-destructuring",
144
128
  "apply-optional-chaining",
145
129
  "apply-numeric-separators",
146
- "apply-as-type-assertions",
147
- "apply-utility-types",
148
130
  "apply-if-condition",
149
131
  "extract-object-properties",
150
132
  "extract-sequence-expressions",
@@ -158,7 +140,6 @@
158
140
  "remove-empty",
159
141
  "remove-unreferenced-variables",
160
142
  "remove-unused-variables",
161
- "remove-unused-types",
162
143
  "remove-unused-for-of-variables",
163
144
  "remove-unused-private-fields",
164
145
  "remove-unused-expressions",
@@ -166,8 +147,6 @@
166
147
  "remove-useless-map",
167
148
  "remove-useless-new",
168
149
  "remove-useless-constructor",
169
- "remove-useless-mapped-types",
170
- "remove-useless-mapping-modifiers",
171
150
  "remove-useless-array-constructor",
172
151
  "remove-useless-continue",
173
152
  "remove-useless-operand",
@@ -178,8 +157,6 @@
178
157
  "remove-useless-spread",
179
158
  "remove-useless-return",
180
159
  "remove-useless-typeof",
181
- "remove-useless-types",
182
- "remove-useless-types-from-constants",
183
160
  "remove-useless-type-conversion",
184
161
  "remove-useless-functions",
185
162
  "remove-useless-template-expressions",
@@ -188,9 +165,7 @@
188
165
  "remove-constant-conditions",
189
166
  "remove-boolean-from-assertions",
190
167
  "remove-boolean-from-logical-expressions",
191
- "remove-duplicates-from-union",
192
168
  "remove-duplicates-from-logical-expressions",
193
- "remove-duplicate-interface-keys",
194
169
  "remove-duplicate-case",
195
170
  "remove-nested-blocks",
196
171
  "remove-unreachable-code",
@@ -215,13 +190,11 @@
215
190
  "convert-for-each-to-for-of",
216
191
  "convert-for-in-to-for-of",
217
192
  "convert-map-to-for-of",
218
- "convert-top-level-return",
219
193
  "convert-typeof-to-is-type",
220
194
  "convert-array-copy-to-slice",
221
195
  "convert-template-to-string",
222
196
  "convert-equal-to-strict-equal",
223
197
  "convert-index-of-to-includes",
224
- "convert-generic-to-shorthand",
225
198
  "convert-mock-require-to-mock-import",
226
199
  "convert-assignment-to-arrow-function",
227
200
  "convert-assignment-to-comparison",
@@ -234,6 +207,7 @@
234
207
  "putout",
235
208
  "putout-config",
236
209
  "promises",
210
+ "typescript",
237
211
  "gitignore",
238
212
  "npmignore",
239
213
  "browserlist",