Comparing version 4.3.2 to 4.3.3
@@ -17,3 +17,3 @@ #!/usr/bin/env node | ||
const availableExtensions = [ | ||
const availableExtensions = new Set([ | ||
'js', | ||
@@ -27,3 +27,3 @@ 'cjs', | ||
'mts' | ||
]; | ||
]); | ||
const SRC = 'src'; | ||
@@ -35,3 +35,3 @@ const dtsExtensionsMap = { | ||
}; | ||
const tsExtensions = [ | ||
const tsExtensions = new Set([ | ||
'ts', | ||
@@ -41,3 +41,3 @@ 'tsx', | ||
'mts' | ||
]; | ||
]); | ||
@@ -141,3 +141,3 @@ function getDefaultExportFromCjs (x) { | ||
const ext = path__default.default.extname(filename).slice(1); | ||
return tsExtensions.includes(ext); | ||
return tsExtensions.has(ext); | ||
} | ||
@@ -147,6 +147,6 @@ function fileExists(filePath) { | ||
} | ||
const hasAvailableExtension = (filename)=>availableExtensions.includes(path__default.default.extname(filename).slice(1)); | ||
const hasAvailableExtension = (filename)=>availableExtensions.has(path__default.default.extname(filename).slice(1)); | ||
const baseNameWithoutExtension = (filename)=>path__default.default.basename(filename, path__default.default.extname(filename)); | ||
var version = "4.3.2"; | ||
var version = "4.3.3"; | ||
@@ -158,2 +158,8 @@ function relativify(path) { | ||
const DIST = 'dist'; | ||
const DEFAULT_TS_CONFIG = { | ||
compilerOptions: { | ||
module: 'ESNext', | ||
moduleResolution: 'bundler' | ||
} | ||
}; | ||
// Output with posix style in package.json | ||
@@ -203,5 +209,5 @@ function getDistPath(...subPaths) { | ||
if (binDirent.isFile()) { | ||
const binFile = path__default.default.join(sourceFolderPath, dirent.name, binDirent.name); | ||
const binFileAbsolutePath = path__default.default.join(sourceFolderPath, dirent.name, binDirent.name); | ||
const binName = baseNameWithoutExtension(binDirent.name); | ||
if (fs__default.default.existsSync(binFile)) { | ||
if (fs__default.default.existsSync(binFileAbsolutePath)) { | ||
bins.set(binName, binDirent.name); | ||
@@ -213,5 +219,4 @@ } | ||
// Search folder/<index>.<ext> convention entries | ||
const extensions = availableExtensions; | ||
for (const extension of extensions){ | ||
const indexFile = path__default.default.join(sourceFolderPath, dirent.name, `index.${extension}`); | ||
for (const extension of availableExtensions){ | ||
const indexFile = path__default.default.join(dirent.name, `index.${extension}`); | ||
if (fs__default.default.existsSync(indexFile)) { | ||
@@ -224,3 +229,3 @@ exportsEntries.set(dirent.name, indexFile); | ||
} else if (dirent.isFile()) { | ||
const isAvailableExtension = availableExtensions.includes(path__default.default.extname(dirent.name).slice(1)); | ||
const isAvailableExtension = availableExtensions.has(path__default.default.extname(dirent.name).slice(1)); | ||
if (isAvailableExtension) { | ||
@@ -290,14 +295,14 @@ const baseName = baseNameWithoutExtension(dirent.name); | ||
const tsconfigPath = path__default.default.join(cwd, 'tsconfig.json'); | ||
if (!fs__default.default.existsSync(tsconfigPath)) { | ||
const sourceFiles = [ | ||
...exportsEntries.values() | ||
].concat([ | ||
...bins.values() | ||
]); | ||
const hasTypeScriptFiles = sourceFiles.some((filename)=>isTypescriptFile(filename)); | ||
if (hasTypeScriptFiles) { | ||
isUsingTs = true; | ||
await fsp__default.default.writeFile(tsconfigPath, '{}', 'utf-8'); | ||
logger.log(`Detected using TypeScript but tsconfig.json is missing, created a ${pc.blue('tsconfig.json')} for you.`); | ||
const sourceFiles = [ | ||
...exportsEntries.values() | ||
].concat([ | ||
...bins.values() | ||
]); | ||
const hasTypeScriptFiles = sourceFiles.some((filename)=>isTypescriptFile(filename)); | ||
if (hasTypeScriptFiles) { | ||
isUsingTs = true; | ||
if (!fs__default.default.existsSync(tsconfigPath)) { | ||
await fsp__default.default.writeFile(tsconfigPath, JSON.stringify(DEFAULT_TS_CONFIG, null, 2), 'utf-8'); | ||
} | ||
logger.log(`Detected using TypeScript but tsconfig.json is missing, created a ${pc.blue('tsconfig.json')} for you.`); | ||
} | ||
@@ -344,6 +349,10 @@ // Configure as ESM package by default if there's no package.json | ||
const mainCondition = isESM ? 'import' : 'require'; | ||
pkgJson.main = isUsingTs ? mainExport[mainCondition].default : mainExport[mainCondition]; | ||
pkgJson.module = isUsingTs ? mainExport.import.default : mainExport.import; | ||
if (!pkgJson.main) { | ||
pkgJson.main = isUsingTs ? mainExport[mainCondition].default : mainExport[mainCondition]; | ||
} | ||
if (!pkgJson.module) { | ||
pkgJson.module = isUsingTs ? mainExport.import.default : mainExport.import; | ||
} | ||
if (isUsingTs) { | ||
pkgJson.types = isESM ? mainExport.import.types : mainExport.require.types; | ||
pkgJson.types = mainExport[mainCondition].types; | ||
} | ||
@@ -350,0 +359,0 @@ } |
@@ -33,3 +33,3 @@ Object.defineProperty(exports, '__esModule', { value: true }); | ||
const availableExtensions = [ | ||
const availableExtensions = new Set([ | ||
'js', | ||
@@ -43,3 +43,3 @@ 'cjs', | ||
'mts' | ||
]; | ||
]); | ||
const nodeResolveExtensions = [ | ||
@@ -53,7 +53,7 @@ '.mjs', | ||
]; | ||
const availableExportConventions = [ | ||
const availableExportConventions = new Set([ | ||
'react-server', | ||
'react-native', | ||
'edge-light' | ||
]; | ||
]); | ||
const availableESExtensionsRegex = /\.(m|c)?[jt]sx?$/; | ||
@@ -197,3 +197,3 @@ const SRC = 'src'; | ||
// $binary represents `pkg.bin` | ||
if (availableExportConventions.includes(exportType) && exportType !== '$binary') { | ||
if (availableExportConventions.has(exportType) && exportType !== '$binary') { | ||
const filename = await findSourceEntryFile(cwd, exportPath, exportType, ext); | ||
@@ -212,3 +212,3 @@ if (filename) return filename; | ||
const nonNullable = (n)=>Boolean(n); | ||
const hasAvailableExtension = (filename)=>availableExtensions.includes(path__default.default.extname(filename).slice(1)); | ||
const hasAvailableExtension = (filename)=>availableExtensions.has(path__default.default.extname(filename).slice(1)); | ||
const hasCjsExtension = (filename)=>path__default.default.extname(filename) === '.cjs'; | ||
@@ -1021,3 +1021,3 @@ | ||
// Special cases of export type, only pass down the exportPaths for the type | ||
if (availableExportConventions.includes(exportType)) { | ||
if (availableExportConventions.has(exportType)) { | ||
exportCondForType = { | ||
@@ -1024,0 +1024,0 @@ [entryExport]: exportCondRef[exportType] |
{ | ||
"name": "bunchee", | ||
"version": "4.3.2", | ||
"version": "4.3.3", | ||
"description": "zero config bundler for js/ts/jsx libraries", | ||
@@ -57,3 +57,3 @@ "bin": "./dist/bin/cli.js", | ||
"@rollup/pluginutils": "^5.1.0", | ||
"@swc/core": "^1.3.99", | ||
"@swc/core": "^1.3.102", | ||
"@swc/helpers": "^0.5.3", | ||
@@ -63,3 +63,3 @@ "arg": "^5.0.2", | ||
"publint": "~0.2.7", | ||
"rollup": "^4.9.1", | ||
"rollup": "^4.9.4", | ||
"rollup-plugin-dts": "^6.1.0", | ||
@@ -66,0 +66,0 @@ "rollup-plugin-swc3": "^0.11.0", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
93151
1989
Updated@swc/core@^1.3.102
Updatedrollup@^4.9.4