@jcoreio/toolchain 5.3.0 → 5.3.2
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/lint-staged.config.cjs +6 -6
- package/package.json +1 -1
- package/plugins/getConfigFiles.cjs +32 -34
- package/prettier.config.cjs +1 -0
- package/scripts/create.cjs +28 -27
- package/scripts/init.cjs +3 -5
- package/scripts/migrate/migrateProjectPackageJson.cjs +37 -35
- package/scripts/migrate.cjs +2 -3
- package/scripts/runPrettier.cjs +6 -5
- package/scripts/toolchain.cjs +15 -14
- package/scripts/upgrade.cjs +16 -16
- package/util/ParseState.cjs +6 -4
- package/util/confirm.cjs +2 -2
- package/util/findUps.cjs +52 -45
- package/util/getModules.cjs +8 -13
- package/util/migrateLegacyEslintConfigs.cjs +3 -3
- package/util/sortPlugins.cjs +5 -1
- package/.eslintrc.js +0 -6
package/lint-staged.config.cjs
CHANGED
|
@@ -3,16 +3,16 @@ const getPluginsArraySync = require('./util/getPluginsArraySync.cjs')
|
|
|
3
3
|
const lintExtList = getPluginsArraySync('lintExtensions')
|
|
4
4
|
|
|
5
5
|
const lintExts =
|
|
6
|
-
lintExtList.length === 1
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
lintExtList.length === 1 ?
|
|
7
|
+
`*.${lintExtList[0]}`
|
|
8
|
+
: `*.{${lintExtList.join(',')}}`
|
|
9
9
|
|
|
10
10
|
const formatExtList = getPluginsArraySync('formatExtensions')
|
|
11
11
|
|
|
12
12
|
const formatExts =
|
|
13
|
-
formatExtList.length === 1
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
formatExtList.length === 1 ?
|
|
14
|
+
`*.${formatExtList[0]}`
|
|
15
|
+
: `*.{${formatExtList.join(',')}}`
|
|
16
16
|
|
|
17
17
|
module.exports = {
|
|
18
18
|
[lintExts]: ['tc lint:fix'],
|
package/package.json
CHANGED
|
@@ -11,13 +11,13 @@ const { glob } = require('../util/glob.cjs')
|
|
|
11
11
|
module.exports = [
|
|
12
12
|
async function getConfigFiles({ fromVersion }) {
|
|
13
13
|
const files = {
|
|
14
|
-
...(isMonorepoSubpackage
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
...(isMonorepoSubpackage ?
|
|
15
|
+
{}
|
|
16
|
+
: {
|
|
17
|
+
'.npmrc': dedent`
|
|
18
18
|
optional=false
|
|
19
19
|
`,
|
|
20
|
-
|
|
20
|
+
}),
|
|
21
21
|
'eslint.config.cjs': async (existing) => {
|
|
22
22
|
if (existing && fromVersion) return existing
|
|
23
23
|
const configs = {}
|
|
@@ -64,9 +64,8 @@ module.exports = [
|
|
|
64
64
|
'prettier.config.cjs',
|
|
65
65
|
]) {
|
|
66
66
|
files[file] = async (existing) =>
|
|
67
|
-
existing && fromVersion
|
|
68
|
-
|
|
69
|
-
: dedent`
|
|
67
|
+
existing && fromVersion ? existing : (
|
|
68
|
+
dedent`
|
|
70
69
|
/* eslint-env node, es2018 */
|
|
71
70
|
const base = require('${name}/${file}')
|
|
72
71
|
module.exports = {
|
|
@@ -74,39 +73,38 @@ module.exports = [
|
|
|
74
73
|
}
|
|
75
74
|
|
|
76
75
|
`
|
|
76
|
+
)
|
|
77
77
|
}
|
|
78
|
-
const tasks =
|
|
79
|
-
? []
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
? []
|
|
83
|
-
: await getPluginsArraySync('vscodeLaunch')
|
|
78
|
+
const tasks =
|
|
79
|
+
isMonorepoSubpackage ? [] : await getPluginsArraySync('vscodeTasks')
|
|
80
|
+
const launch =
|
|
81
|
+
isMonorepoSubpackage ? [] : await getPluginsArraySync('vscodeLaunch')
|
|
84
82
|
|
|
85
83
|
if (tasks.length) {
|
|
86
84
|
files['.vscode/tasks.json'] = async (existing) =>
|
|
87
|
-
existing && fromVersion
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
85
|
+
existing && fromVersion ? existing : (
|
|
86
|
+
JSON.stringify(
|
|
87
|
+
{
|
|
88
|
+
version: '2.0.0',
|
|
89
|
+
tasks,
|
|
90
|
+
},
|
|
91
|
+
null,
|
|
92
|
+
2
|
|
93
|
+
)
|
|
94
|
+
)
|
|
97
95
|
}
|
|
98
96
|
if (launch.length) {
|
|
99
97
|
files['.vscode/launch.json'] = async (existing) =>
|
|
100
|
-
existing && fromVersion
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
98
|
+
existing && fromVersion ? existing : (
|
|
99
|
+
JSON.stringify(
|
|
100
|
+
{
|
|
101
|
+
version: '0.2.0',
|
|
102
|
+
configurations: launch,
|
|
103
|
+
},
|
|
104
|
+
null,
|
|
105
|
+
2
|
|
106
|
+
)
|
|
107
|
+
)
|
|
110
108
|
}
|
|
111
109
|
|
|
112
110
|
return files
|
package/prettier.config.cjs
CHANGED
package/scripts/create.cjs
CHANGED
|
@@ -73,27 +73,27 @@ async function create(args = []) {
|
|
|
73
73
|
message: 'Package keywords:',
|
|
74
74
|
format: (text) => (text || '').split(/\s*,\s*|\s+/g),
|
|
75
75
|
},
|
|
76
|
-
...(monorepoPackageJson
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
},
|
|
86
|
-
message: 'GitHub organization:',
|
|
87
|
-
validate: required,
|
|
76
|
+
...(monorepoPackageJson ?
|
|
77
|
+
[]
|
|
78
|
+
: [
|
|
79
|
+
{
|
|
80
|
+
type: 'text',
|
|
81
|
+
name: 'organization',
|
|
82
|
+
initial: (prev, { name }) => {
|
|
83
|
+
const match = /^@(.*?)\//.exec(name)
|
|
84
|
+
if (match) return match[1]
|
|
88
85
|
},
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
86
|
+
message: 'GitHub organization:',
|
|
87
|
+
validate: required,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'text',
|
|
91
|
+
name: 'repo',
|
|
92
|
+
message: 'GitHub repo:',
|
|
93
|
+
initial: (prev, { name }) => name.replace(/^@(.*?)\//, ''),
|
|
94
|
+
validate: required,
|
|
95
|
+
},
|
|
96
|
+
]),
|
|
97
97
|
{
|
|
98
98
|
type: 'select',
|
|
99
99
|
name: 'license',
|
|
@@ -140,8 +140,9 @@ async function create(args = []) {
|
|
|
140
140
|
copyrightHolder,
|
|
141
141
|
} = answers
|
|
142
142
|
|
|
143
|
-
const { organization, repo } =
|
|
144
|
-
?
|
|
143
|
+
const { organization, repo } =
|
|
144
|
+
monorepoPackageJson ?
|
|
145
|
+
parseRepositoryUrl(monorepoPackageJson.repository.url)
|
|
145
146
|
: answers
|
|
146
147
|
|
|
147
148
|
const cwd = path.resolve(directory)
|
|
@@ -150,12 +151,12 @@ async function create(args = []) {
|
|
|
150
151
|
|
|
151
152
|
const fs = ChdirFs(cwd)
|
|
152
153
|
|
|
153
|
-
const subpackagePath =
|
|
154
|
-
? path.relative(monorepoProjectDir, cwd)
|
|
155
|
-
: undefined
|
|
154
|
+
const subpackagePath =
|
|
155
|
+
monorepoProjectDir ? path.relative(monorepoProjectDir, cwd) : undefined
|
|
156
156
|
|
|
157
|
-
const branch =
|
|
158
|
-
?
|
|
157
|
+
const branch =
|
|
158
|
+
subpackagePath ?
|
|
159
|
+
(
|
|
159
160
|
await execa('git', ['rev-parse', '--abbrev-ref', 'HEAD'], {
|
|
160
161
|
stdio: 'pipe',
|
|
161
162
|
encoding: 'utf8',
|
package/scripts/init.cjs
CHANGED
|
@@ -73,11 +73,9 @@ async function init(args = []) {
|
|
|
73
73
|
'--prefer-offline',
|
|
74
74
|
...(isMonorepoRoot ? ['-w'] : []),
|
|
75
75
|
isTest ? '../packages/base' : `${name}@^${version}`,
|
|
76
|
-
...(isTest
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
)
|
|
80
|
-
: [...selectedToolchains].map((t) => `${t}@^${version}`)),
|
|
76
|
+
...(isTest ?
|
|
77
|
+
[...selectedToolchains].map((t) => t.replace(`${name}-`, '../packages/'))
|
|
78
|
+
: [...selectedToolchains].map((t) => `${t}@^${version}`)),
|
|
81
79
|
])
|
|
82
80
|
await execa('tc', ['migrate'])
|
|
83
81
|
if (isInteractive) {
|
|
@@ -110,53 +110,55 @@ async function migrateProjectPackageJson({ fromVersion }) {
|
|
|
110
110
|
packageJson.exports = {
|
|
111
111
|
'./package.json': './package.json',
|
|
112
112
|
'.': {
|
|
113
|
-
...(packageJson.types
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
...(outputEsm !== false && packageJson.module
|
|
117
|
-
|
|
118
|
-
|
|
113
|
+
...(packageJson.types ?
|
|
114
|
+
{ types: relativize(packageJson.types) }
|
|
115
|
+
: {}),
|
|
116
|
+
...(outputEsm !== false && packageJson.module ?
|
|
117
|
+
{ import: relativize(packageJson.module) }
|
|
118
|
+
: {}),
|
|
119
119
|
default: relativize(packageJson.main),
|
|
120
120
|
},
|
|
121
|
-
...(dotStar
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
121
|
+
...(dotStar ?
|
|
122
|
+
{
|
|
123
|
+
'./*': {
|
|
124
|
+
types: './*.d.ts',
|
|
125
|
+
...(outputEsm !== false ? { import: './*.mjs' } : {}),
|
|
126
|
+
default: './*.js',
|
|
127
|
+
},
|
|
128
|
+
}
|
|
129
|
+
: {}),
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
merge(
|
|
135
135
|
packageJson,
|
|
136
|
-
fromVersion
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
},
|
|
136
|
+
fromVersion ?
|
|
137
|
+
{}
|
|
138
|
+
: {
|
|
139
|
+
version: '0.0.0-development',
|
|
140
|
+
sideEffects: false,
|
|
141
|
+
scripts: {
|
|
142
|
+
tc: 'toolchain',
|
|
143
|
+
toolchain: 'toolchain',
|
|
144
|
+
test: 'toolchain test',
|
|
145
|
+
prepublishOnly:
|
|
146
|
+
'echo This package is meant to be published by semantic-release from the dist build directory. && exit 1',
|
|
148
147
|
},
|
|
148
|
+
},
|
|
149
149
|
pick(toolchainManaged, 'engines', 'packageManager'),
|
|
150
150
|
{
|
|
151
151
|
packageManager:
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
152
|
+
(
|
|
153
|
+
!packageJson.packageManager ||
|
|
154
|
+
!packageJson.packageManager.startsWith('pnpm@') ||
|
|
155
|
+
semver.lt(
|
|
156
|
+
packageJson.packageManager.replace(/^pnpm@/, ''),
|
|
157
|
+
toolchainManaged.packageManager.replace(/^pnpm@/, '')
|
|
158
|
+
)
|
|
159
|
+
) ?
|
|
160
|
+
toolchainManaged.packageManager
|
|
161
|
+
: packageJson.packageManager,
|
|
160
162
|
},
|
|
161
163
|
pick(packageJson, 'engines')
|
|
162
164
|
)
|
package/scripts/migrate.cjs
CHANGED
|
@@ -20,9 +20,8 @@ async function migrate(args = []) {
|
|
|
20
20
|
const hasYarnOrNpmLockfile = require('../util/hasYarnOrNpmLockfile.cjs')
|
|
21
21
|
const writeMigratedVersion = require('../util/writeMigratedVersion.cjs')
|
|
22
22
|
|
|
23
|
-
const fromVersion =
|
|
24
|
-
? packageJson[name].migratedVersion
|
|
25
|
-
: undefined
|
|
23
|
+
const fromVersion =
|
|
24
|
+
packageJson[name] ? packageJson[name].migratedVersion : undefined
|
|
26
25
|
if (!fromVersion && !isMonorepoSubpackage && !findGitDir()) {
|
|
27
26
|
await execa('git', ['init'])
|
|
28
27
|
await installGitHooks.run()
|
package/scripts/runPrettier.cjs
CHANGED
|
@@ -2,11 +2,12 @@ const fs = require('../util/projectFs.cjs')
|
|
|
2
2
|
const execa = require('../util/execa.cjs')
|
|
3
3
|
|
|
4
4
|
async function prettierArgs() {
|
|
5
|
-
return (
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
return (
|
|
6
|
+
(await fs.pathExists('.prettierignore')) ?
|
|
7
|
+
['--ignore-path', '.prettierignore']
|
|
8
|
+
: (await fs.pathExists('.gitignore')) ? ['--ignore-path', '.gitignore']
|
|
9
|
+
: []
|
|
10
|
+
)
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
async function runPrettier(args = []) {
|
package/scripts/toolchain.cjs
CHANGED
|
@@ -13,8 +13,9 @@ try {
|
|
|
13
13
|
throw error
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
const scripts =
|
|
17
|
-
?
|
|
16
|
+
const scripts =
|
|
17
|
+
toolchainConfig ?
|
|
18
|
+
{
|
|
18
19
|
badges: require('./badges.cjs'),
|
|
19
20
|
migrate: require('./migrate.cjs'),
|
|
20
21
|
build: require('./build.cjs'),
|
|
@@ -43,18 +44,18 @@ const scripts = toolchainConfig
|
|
|
43
44
|
...Object.fromEntries(
|
|
44
45
|
Object.entries(toolchainConfig.scripts || {}).map(([name, script]) => [
|
|
45
46
|
name,
|
|
46
|
-
typeof script === 'string' && script.trim()
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
typeof script === 'string' && script.trim() ?
|
|
48
|
+
{
|
|
49
|
+
run: (args = []) =>
|
|
50
|
+
execa([script, ...args].join(' '), { shell: true }),
|
|
51
|
+
description: script,
|
|
52
|
+
}
|
|
53
|
+
: !script || typeof script === 'string' ?
|
|
54
|
+
{
|
|
55
|
+
run: () => {},
|
|
56
|
+
description: '(no-op)',
|
|
57
|
+
}
|
|
58
|
+
: script,
|
|
58
59
|
])
|
|
59
60
|
),
|
|
60
61
|
}
|
package/scripts/upgrade.cjs
CHANGED
|
@@ -49,22 +49,22 @@ async function upgrade([version] = []) {
|
|
|
49
49
|
|
|
50
50
|
await execa(
|
|
51
51
|
'pnpm',
|
|
52
|
-
isTest
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
52
|
+
isTest ?
|
|
53
|
+
[
|
|
54
|
+
...(isMonorepoRoot ? ['-r'] : []),
|
|
55
|
+
'add',
|
|
56
|
+
'-D',
|
|
57
|
+
'--prefer-offline',
|
|
58
|
+
'../packages/base',
|
|
59
|
+
...toolchains.map((t) => t.replace(`${name}-`, '../packages/')),
|
|
60
|
+
]
|
|
61
|
+
: [
|
|
62
|
+
...(isMonorepoRoot ? ['-r'] : []),
|
|
63
|
+
'update',
|
|
64
|
+
'--prefer-offline',
|
|
65
|
+
`${name}@^${version}`,
|
|
66
|
+
...toolchains.map((t) => `${t}@^${version}`),
|
|
67
|
+
]
|
|
68
68
|
)
|
|
69
69
|
if (isMonorepoRoot) await execa('pnpm', ['run', '-r', 'tc', 'migrate'])
|
|
70
70
|
else await execa('tc', ['migrate'])
|
package/util/ParseState.cjs
CHANGED
|
@@ -42,10 +42,12 @@ class ParseState {
|
|
|
42
42
|
)
|
|
43
43
|
pattern.lastIndex = this.index
|
|
44
44
|
const match = pattern.exec(this.input)
|
|
45
|
-
return
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
return (
|
|
46
|
+
match &&
|
|
47
|
+
match.index === this.index &&
|
|
48
|
+
match.index + match[0].length <= this.end
|
|
49
|
+
) ?
|
|
50
|
+
match
|
|
49
51
|
: undefined
|
|
50
52
|
}
|
|
51
53
|
|
package/util/confirm.cjs
CHANGED
package/util/findUps.cjs
CHANGED
|
@@ -8,10 +8,9 @@ const { name } = require('../package.json')
|
|
|
8
8
|
const configSchema = require('./configSchema.cjs')
|
|
9
9
|
|
|
10
10
|
const cwd = (
|
|
11
|
-
fs.pathExistsSync(Path.join(process.cwd(), 'package.json'))
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
).replace(/\/node_modules(\/.*|$)/, '')
|
|
11
|
+
fs.pathExistsSync(Path.join(process.cwd(), 'package.json')) ?
|
|
12
|
+
process.cwd()
|
|
13
|
+
: __filename).replace(/\/node_modules(\/.*|$)/, '')
|
|
15
14
|
|
|
16
15
|
const packageJsonFile = (exports.packageJsonFile = findUp.sync('package.json', {
|
|
17
16
|
cwd,
|
|
@@ -32,37 +31,38 @@ const pnpmWorkspaceFile = (exports.pnpmWorkspaceFile = findUp.sync(
|
|
|
32
31
|
type: 'file',
|
|
33
32
|
}
|
|
34
33
|
))
|
|
35
|
-
const pnpmWorkspace =
|
|
36
|
-
|
|
34
|
+
const pnpmWorkspace =
|
|
35
|
+
pnpmWorkspaceFile ?
|
|
36
|
+
require('yaml').parse(fs.readFileSync(pnpmWorkspaceFile, 'utf8'))
|
|
37
37
|
: undefined
|
|
38
38
|
|
|
39
39
|
const isMonorepoSubpackage = (exports.isMonorepoSubpackage =
|
|
40
|
-
pnpmWorkspace && Array.isArray(pnpmWorkspace.packages)
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
)
|
|
40
|
+
pnpmWorkspace && Array.isArray(pnpmWorkspace.packages) ?
|
|
41
|
+
pnpmWorkspace.packages.some((p) =>
|
|
42
|
+
new RegExp(`^${p.replace(/\*/g, '[^/]+')}$`).test(
|
|
43
|
+
Path.relative(Path.dirname(pnpmWorkspaceFile), projectDir)
|
|
45
44
|
)
|
|
46
|
-
|
|
45
|
+
)
|
|
46
|
+
: false)
|
|
47
47
|
|
|
48
48
|
const isMonorepoRoot = (exports.isMonorepoRoot =
|
|
49
49
|
pnpmWorkspaceFile != null && Path.dirname(pnpmWorkspaceFile) === projectDir)
|
|
50
50
|
|
|
51
51
|
const monorepoProjectDir = (exports.monorepoProjectDir =
|
|
52
|
-
isMonorepoSubpackage || isMonorepoRoot
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
isMonorepoSubpackage || isMonorepoRoot ?
|
|
53
|
+
Path.dirname(pnpmWorkspaceFile)
|
|
54
|
+
: undefined)
|
|
55
55
|
|
|
56
56
|
const monorepoPackageJsonFile = (exports.monorepoPackageJsonFile =
|
|
57
|
-
monorepoProjectDir
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
exports.monorepoPackageJson =
|
|
61
|
-
? fs.readJsonSync(monorepoPackageJsonFile)
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
monorepoProjectDir ?
|
|
58
|
+
Path.join(monorepoProjectDir, 'package.json')
|
|
59
|
+
: undefined)
|
|
60
|
+
exports.monorepoPackageJson =
|
|
61
|
+
monorepoPackageJsonFile ? fs.readJsonSync(monorepoPackageJsonFile) : undefined
|
|
62
|
+
|
|
63
|
+
exports.monorepoSubpackageJsonFiles =
|
|
64
|
+
pnpmWorkspace ?
|
|
65
|
+
[
|
|
66
66
|
...new Set(
|
|
67
67
|
pnpmWorkspace.packages.flatMap((p) =>
|
|
68
68
|
globSync(Path.join(p, 'package.json'), { cwd: monorepoProjectDir })
|
|
@@ -71,8 +71,14 @@ exports.monorepoSubpackageJsonFiles = pnpmWorkspace
|
|
|
71
71
|
].map((f) => Path.resolve(monorepoProjectDir, f))
|
|
72
72
|
: undefined
|
|
73
73
|
|
|
74
|
-
exports.
|
|
75
|
-
|
|
74
|
+
exports.monorepoSubpackageDirs =
|
|
75
|
+
exports.monorepoSubpackageJsonFiles ?
|
|
76
|
+
exports.monorepoSubpackageJsonFiles.map((f) => Path.dirname(f))
|
|
77
|
+
: undefined
|
|
78
|
+
|
|
79
|
+
exports.monorepoSubpackageJsons =
|
|
80
|
+
exports.monorepoSubpackageJsonFiles ?
|
|
81
|
+
exports.monorepoSubpackageJsonFiles.map((f) => fs.readJsonSync(f))
|
|
76
82
|
: undefined
|
|
77
83
|
|
|
78
84
|
const findGitDir = once(function findGitDir(cwd = process.cwd()) {
|
|
@@ -98,23 +104,23 @@ const isToolchainDev = Path.normalize(__dirname)
|
|
|
98
104
|
const toolchainPackageJsons = (exports.toolchainPackageJsons = {})
|
|
99
105
|
for (const pkg of toolchainPackages) {
|
|
100
106
|
toolchainPackageJsons[pkg] =
|
|
101
|
-
pkg === packageJson.name
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
107
|
+
pkg === packageJson.name ?
|
|
108
|
+
packageJson
|
|
109
|
+
: require(
|
|
110
|
+
isToolchainDev ?
|
|
111
|
+
Path.resolve(
|
|
112
|
+
__dirname,
|
|
113
|
+
'..',
|
|
114
|
+
'..',
|
|
115
|
+
pkg === '@jcoreio/toolchain' ? 'base' : (
|
|
116
|
+
pkg.replace('@jcoreio/toolchain-', '')
|
|
117
|
+
),
|
|
118
|
+
'package.json'
|
|
119
|
+
)
|
|
120
|
+
: require.resolve(`${pkg}/package.json`, {
|
|
121
|
+
paths: [projectDir],
|
|
122
|
+
})
|
|
123
|
+
)
|
|
118
124
|
}
|
|
119
125
|
|
|
120
126
|
let toolchainConfigFile
|
|
@@ -136,8 +142,9 @@ try {
|
|
|
136
142
|
toolchainConfigFile ? require(toolchainConfigFile) : packageJson[name] || {}
|
|
137
143
|
)
|
|
138
144
|
} catch (error) {
|
|
139
|
-
const toolchainConfigLocation =
|
|
140
|
-
?
|
|
145
|
+
const toolchainConfigLocation =
|
|
146
|
+
toolchainConfigFile ?
|
|
147
|
+
Path.relative(cwd, toolchainConfigFile)
|
|
141
148
|
: `packageJson[${JSON.stringify(name)}]`
|
|
142
149
|
|
|
143
150
|
// eslint-disable-next-line no-console
|
package/util/getModules.cjs
CHANGED
|
@@ -18,15 +18,12 @@ module.exports = async function getModules(packageJsonFile) {
|
|
|
18
18
|
const defaultType = type
|
|
19
19
|
function checkFile(
|
|
20
20
|
file,
|
|
21
|
-
type = file
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
? 'module'
|
|
26
|
-
: /\.js$/.test(file)
|
|
27
|
-
? defaultType
|
|
28
|
-
: undefined
|
|
21
|
+
type = file ?
|
|
22
|
+
/\.cjs$/.test(file) ? 'commonjs'
|
|
23
|
+
: /\.mjs$/.test(file) ? 'module'
|
|
24
|
+
: /\.js$/.test(file) ? defaultType
|
|
29
25
|
: undefined
|
|
26
|
+
: undefined
|
|
30
27
|
) {
|
|
31
28
|
if (!file) return
|
|
32
29
|
if (type === 'commonjs') cjs.add(file)
|
|
@@ -52,11 +49,9 @@ module.exports = async function getModules(packageJsonFile) {
|
|
|
52
49
|
await checkExport(
|
|
53
50
|
value,
|
|
54
51
|
type ||
|
|
55
|
-
(key === 'require'
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
? 'module'
|
|
59
|
-
: undefined)
|
|
52
|
+
(key === 'require' ? 'commonjs'
|
|
53
|
+
: key === 'import' ? 'module'
|
|
54
|
+
: undefined)
|
|
60
55
|
)
|
|
61
56
|
}
|
|
62
57
|
}
|
|
@@ -14,9 +14,9 @@ const objectExpression = (props) =>
|
|
|
14
14
|
)
|
|
15
15
|
|
|
16
16
|
const idOrString = (value) =>
|
|
17
|
-
/^[_a-z$][_a-z0-9$]*$/.test(value)
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
/^[_a-z$][_a-z0-9$]*$/.test(value) ?
|
|
18
|
+
t.identifier(value)
|
|
19
|
+
: t.stringLiteral(value)
|
|
20
20
|
|
|
21
21
|
const member = (object, key) => {
|
|
22
22
|
const prop = idOrString(key)
|
package/util/sortPlugins.cjs
CHANGED