putout 23.8.0 → 24.1.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,46 @@
1
+ 2022.01.14, v24.1.0
2
+
3
+ feature:
4
+ - (@putout/test) get rid of simport
5
+ - (putout) get rid of simport
6
+ - (package) @putout/cli-ruler v2.0.0
7
+ - (@putout/cli-ruler) named export ruler
8
+ - (@putout/processor-markdown) rm simport
9
+ - (@putout/plugin-tape) mv remove-only, remove-skip from dependencies
10
+
11
+
12
+ 2022.01.13, v24.0.2
13
+
14
+ feature:
15
+ - (@putout/plugin-typescript) add
16
+
17
+
18
+ 2022.01.13, v24.0.1
19
+
20
+ feature:
21
+ - (@putout/plugin-nodejs) merge convert-top-level-return
22
+ - (@putout/plugin-putout) declare: add getProperty, getProperties
23
+
24
+
25
+ 2022.01.12, v24.0.0
26
+
27
+ feature:
28
+ - (putout) eslint-plugin-putout v13
29
+ - (@putout/plugin-nodejs) drop support of putout < 24
30
+ - (eslint-plugin-putout) drop support of putout < 24
31
+ - (eslint-plugin-putout) safe: disable nodejs/remove-process-exit
32
+ - (@putout/plugin-nodejs) merge remove-process-exit
33
+ - (putout) remove from default install disabled apply-array-it
34
+ - (package) @putout/plugin-package-json v3.0.0
35
+ - (package) @putout/plugin-putout v9.0.0
36
+ - (package) @putout/plugin-madrun v13.0.0
37
+ - (package) @putout/operate v7.0.0
38
+ - (@putout/plugin-putout) drop support of putout < 24
39
+ - (@putout/plugin-package-json) drop support of putout < 24
40
+ - (@putout/plugin-madrun) drop support of putout < 24
41
+ - (@putout/operate) findProperty -> getProperty
42
+
43
+
1
44
  2022.01.11, v23.8.0
2
45
 
3
46
  feature:
package/README.md CHANGED
@@ -83,7 +83,7 @@
83
83
  - declare `undefined variables`;
84
84
  - apply `as` type assertions;
85
85
  - apply `utility types`;
86
- - apply `array.at` ([disabled](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#2021-07-29-version-1660-current-bethgriggs));
86
+ - apply `array.at` ([not bundled](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#2021-07-29-version-1660-current-bethgriggs));
87
87
  - apply `filter(Boolean)`;
88
88
  - apply [isArray](https://web.mit.edu/jwalden/www/isArray.html);
89
89
  - apply `if condition`;
@@ -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": "23.8.0",
3
+ "version": "24.1.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",
@@ -65,19 +65,16 @@
65
65
  "@putout/formatter-progress": "^3.0.0",
66
66
  "@putout/formatter-progress-bar": "^2.0.0",
67
67
  "@putout/formatter-stream": "^3.0.0",
68
- "@putout/operate": "^6.13.0",
68
+ "@putout/operate": "^7.0.0",
69
69
  "@putout/operator-add-args": "^1.0.0",
70
70
  "@putout/operator-declare": "^2.0.0",
71
71
  "@putout/operator-regexp": "^1.0.0",
72
- "@putout/plugin-apply-array-at": "^1.0.0",
73
- "@putout/plugin-apply-as-type-assertions": "^1.0.0",
74
72
  "@putout/plugin-apply-await-import": "^1.0.0",
75
73
  "@putout/plugin-apply-destructuring": "^5.0.0",
76
74
  "@putout/plugin-apply-if-condition": "^1.0.0",
77
75
  "@putout/plugin-apply-is-array": "^2.0.0",
78
76
  "@putout/plugin-apply-numeric-separators": "^1.0.0",
79
77
  "@putout/plugin-apply-optional-chaining": "^2.0.0",
80
- "@putout/plugin-apply-utility-types": "^1.0.0",
81
78
  "@putout/plugin-browserlist": "^1.0.0",
82
79
  "@putout/plugin-convert-apply-to-spread": "^3.0.0",
83
80
  "@putout/plugin-convert-arguments-to-rest": "^1.0.0",
@@ -93,7 +90,6 @@
93
90
  "@putout/plugin-convert-for-each-to-for-of": "^6.0.0",
94
91
  "@putout/plugin-convert-for-in-to-for-of": "^2.0.0",
95
92
  "@putout/plugin-convert-for-to-for-of": "^2.0.0",
96
- "@putout/plugin-convert-generic-to-shorthand": "^2.0.0",
97
93
  "@putout/plugin-convert-index-of-to-includes": "^1.0.0",
98
94
  "@putout/plugin-convert-map-to-for-of": "^1.0.0",
99
95
  "@putout/plugin-convert-math-pow": "^4.0.0",
@@ -102,7 +98,6 @@
102
98
  "@putout/plugin-convert-quotes-to-backticks": "^1.0.0",
103
99
  "@putout/plugin-convert-template-to-string": "^1.0.0",
104
100
  "@putout/plugin-convert-to-arrow-function": "^3.0.0",
105
- "@putout/plugin-convert-top-level-return": "^4.0.0",
106
101
  "@putout/plugin-convert-typeof-to-is-type": "^2.0.0",
107
102
  "@putout/plugin-declare-undefined-variables": "^6.0.0",
108
103
  "@putout/plugin-eslint": "^2.0.0",
@@ -110,15 +105,15 @@
110
105
  "@putout/plugin-extract-sequence-expressions": "^2.0.0",
111
106
  "@putout/plugin-github": "^2.0.0",
112
107
  "@putout/plugin-gitignore": "^3.0.0",
113
- "@putout/plugin-madrun": "^12.0.0",
108
+ "@putout/plugin-madrun": "^13.0.0",
114
109
  "@putout/plugin-merge-destructuring-properties": "^5.0.0",
115
110
  "@putout/plugin-merge-duplicate-imports": "^4.0.0",
116
111
  "@putout/plugin-merge-if-statements": "^3.0.0",
117
112
  "@putout/plugin-nodejs": "^2.0.0",
118
113
  "@putout/plugin-npmignore": "^2.0.0",
119
- "@putout/plugin-package-json": "^2.0.0",
114
+ "@putout/plugin-package-json": "^3.0.0",
120
115
  "@putout/plugin-promises": "^6.0.0",
121
- "@putout/plugin-putout": "^8.0.0",
116
+ "@putout/plugin-putout": "^9.0.0",
122
117
  "@putout/plugin-putout-config": "^2.0.0",
123
118
  "@putout/plugin-regexp": "^4.0.0",
124
119
  "@putout/plugin-remove-boolean-from-assertions": "^1.0.0",
@@ -127,20 +122,16 @@
127
122
  "@putout/plugin-remove-constant-conditions": "^3.0.0",
128
123
  "@putout/plugin-remove-debugger": "^4.0.0",
129
124
  "@putout/plugin-remove-duplicate-case": "^1.0.0",
130
- "@putout/plugin-remove-duplicate-interface-keys": "^3.0.0",
131
125
  "@putout/plugin-remove-duplicate-keys": "^2.0.0",
132
126
  "@putout/plugin-remove-duplicates-from-logical-expressions": "^1.0.0",
133
- "@putout/plugin-remove-duplicates-from-union": "^1.0.0",
134
127
  "@putout/plugin-remove-empty": "^6.0.0",
135
128
  "@putout/plugin-remove-iife": "^1.0.0",
136
129
  "@putout/plugin-remove-nested-blocks": "^4.0.0",
137
- "@putout/plugin-remove-process-exit": "^3.0.0",
138
130
  "@putout/plugin-remove-unreachable-code": "^1.0.0",
139
131
  "@putout/plugin-remove-unreferenced-variables": "^1.0.0",
140
132
  "@putout/plugin-remove-unused-expressions": "^4.0.0",
141
133
  "@putout/plugin-remove-unused-for-of-variables": "^1.0.0",
142
134
  "@putout/plugin-remove-unused-private-fields": "^1.0.0",
143
- "@putout/plugin-remove-unused-types": "^2.0.0",
144
135
  "@putout/plugin-remove-unused-variables": "*",
145
136
  "@putout/plugin-remove-useless-arguments": "^5.0.0",
146
137
  "@putout/plugin-remove-useless-array-constructor": "^1.0.0",
@@ -153,8 +144,6 @@
153
144
  "@putout/plugin-remove-useless-for-of": "^2.0.0",
154
145
  "@putout/plugin-remove-useless-functions": "^2.0.0",
155
146
  "@putout/plugin-remove-useless-map": "^1.0.0",
156
- "@putout/plugin-remove-useless-mapped-types": "^1.0.0",
157
- "@putout/plugin-remove-useless-mapping-modifiers": "^1.0.0",
158
147
  "@putout/plugin-remove-useless-new": "^1.0.0",
159
148
  "@putout/plugin-remove-useless-operand": "^1.0.0",
160
149
  "@putout/plugin-remove-useless-return": "^4.0.0",
@@ -162,8 +151,6 @@
162
151
  "@putout/plugin-remove-useless-template-expressions": "^1.0.0",
163
152
  "@putout/plugin-remove-useless-type-conversion": "^1.0.0",
164
153
  "@putout/plugin-remove-useless-typeof": "^1.0.0",
165
- "@putout/plugin-remove-useless-types": "^1.0.0",
166
- "@putout/plugin-remove-useless-types-from-constants": "^1.0.0",
167
154
  "@putout/plugin-remove-useless-variables": "^5.0.0",
168
155
  "@putout/plugin-reuse-duplicate-init": "^3.0.0",
169
156
  "@putout/plugin-simplify-assignment": "^1.0.0",
@@ -173,6 +160,7 @@
173
160
  "@putout/plugin-split-variable-declarations": "^2.0.0",
174
161
  "@putout/plugin-strict-mode": "^2.0.0",
175
162
  "@putout/plugin-tape": "^7.0.0",
163
+ "@putout/plugin-typescript": "^1.0.0",
176
164
  "@putout/plugin-webpack": "^1.0.0",
177
165
  "@putout/processor-css": "^3.0.0",
178
166
  "@putout/processor-ignore": "^2.0.0",
@@ -196,7 +184,6 @@
196
184
  "nano-memoize": "^1.1.11",
197
185
  "once": "^1.4.0",
198
186
  "picomatch": "^2.2.2",
199
- "simport": "^1.2.0",
200
187
  "try-catch": "^3.0.0",
201
188
  "try-to-catch": "^3.0.0",
202
189
  "wraptile": "^3.0.0",
@@ -222,7 +209,7 @@
222
209
  "currify": "^4.0.0",
223
210
  "eslint": "^8.0.1",
224
211
  "eslint-plugin-node": "^11.0.0",
225
- "eslint-plugin-putout": "^12.0.0",
212
+ "eslint-plugin-putout": "^13.0.0",
226
213
  "just-camel-case": "^4.0.2",
227
214
  "lerna": "^4.0.0",
228
215
  "madrun": "^8.6.0",
package/putout.json CHANGED
@@ -68,9 +68,9 @@
68
68
  "package-json": "on"
69
69
  },
70
70
  "bin": {
71
- "remove-process-exit": "off",
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,18 +103,10 @@
111
103
  "**/package-lock.json"
112
104
  ],
113
105
  "rules": {
114
- "apply-array-at": "off",
115
- "apply-as-type-assertions": "off",
116
- "apply-utility-types": "off",
106
+ "typescript": "off",
117
107
  "convert-esm-to-commonjs": "off",
118
108
  "convert-commonjs-to-esm": "off",
119
- "convert-top-level-return": "off",
120
- "convert-generic-to-shorthand": "off",
121
- "remove-useless-types": "off",
122
- "remove-useless-mapped-types": "off",
123
- "remove-useless-mapping-modifiers": "off",
124
- "remove-useless-types-from-constants": "off",
125
- "remove-unused-types": "off",
109
+ "nodejs/convert-top-level-return": "off",
126
110
  "putout": "off",
127
111
  "putout-config": "off",
128
112
  "eslint": "off",
@@ -135,18 +119,14 @@
135
119
  "tape": "off",
136
120
  "strict-mode": "off",
137
121
  "regexp/convert-replace-to-replace-all": "off",
138
- "convert-mock-require-to-mock-import": "off",
139
- "remove-duplicate-interface-keys": "off"
122
+ "convert-mock-require-to-mock-import": "off"
140
123
  },
141
124
  "plugins": [
142
- "apply-array-at",
143
125
  "apply-await-import",
144
126
  "apply-is-array",
145
127
  "apply-destructuring",
146
128
  "apply-optional-chaining",
147
129
  "apply-numeric-separators",
148
- "apply-as-type-assertions",
149
- "apply-utility-types",
150
130
  "apply-if-condition",
151
131
  "extract-object-properties",
152
132
  "extract-sequence-expressions",
@@ -156,12 +136,10 @@
156
136
  "package-json",
157
137
  "remove-debugger",
158
138
  "remove-iife",
159
- "remove-process-exit",
160
139
  "remove-console",
161
140
  "remove-empty",
162
141
  "remove-unreferenced-variables",
163
142
  "remove-unused-variables",
164
- "remove-unused-types",
165
143
  "remove-unused-for-of-variables",
166
144
  "remove-unused-private-fields",
167
145
  "remove-unused-expressions",
@@ -169,8 +147,6 @@
169
147
  "remove-useless-map",
170
148
  "remove-useless-new",
171
149
  "remove-useless-constructor",
172
- "remove-useless-mapped-types",
173
- "remove-useless-mapping-modifiers",
174
150
  "remove-useless-array-constructor",
175
151
  "remove-useless-continue",
176
152
  "remove-useless-operand",
@@ -181,8 +157,6 @@
181
157
  "remove-useless-spread",
182
158
  "remove-useless-return",
183
159
  "remove-useless-typeof",
184
- "remove-useless-types",
185
- "remove-useless-types-from-constants",
186
160
  "remove-useless-type-conversion",
187
161
  "remove-useless-functions",
188
162
  "remove-useless-template-expressions",
@@ -191,9 +165,7 @@
191
165
  "remove-constant-conditions",
192
166
  "remove-boolean-from-assertions",
193
167
  "remove-boolean-from-logical-expressions",
194
- "remove-duplicates-from-union",
195
168
  "remove-duplicates-from-logical-expressions",
196
- "remove-duplicate-interface-keys",
197
169
  "remove-duplicate-case",
198
170
  "remove-nested-blocks",
199
171
  "remove-unreachable-code",
@@ -218,13 +190,11 @@
218
190
  "convert-for-each-to-for-of",
219
191
  "convert-for-in-to-for-of",
220
192
  "convert-map-to-for-of",
221
- "convert-top-level-return",
222
193
  "convert-typeof-to-is-type",
223
194
  "convert-array-copy-to-slice",
224
195
  "convert-template-to-string",
225
196
  "convert-equal-to-strict-equal",
226
197
  "convert-index-of-to-includes",
227
- "convert-generic-to-shorthand",
228
198
  "convert-mock-require-to-mock-import",
229
199
  "convert-assignment-to-arrow-function",
230
200
  "convert-assignment-to-comparison",
@@ -237,6 +207,7 @@
237
207
  "putout",
238
208
  "putout-config",
239
209
  "promises",
210
+ "typescript",
240
211
  "gitignore",
241
212
  "npmignore",
242
213
  "browserlist",