fix: keep .d.ts and .js untouched if native doesn't change

This commit is contained in:
forehalo 2021-12-18 14:12:46 +08:00
parent 3f2e44d3db
commit 09c7df3c5c
No known key found for this signature in database
GPG key ID: 64382C5AF49F3EB9
2 changed files with 6 additions and 2 deletions

View file

@ -354,6 +354,11 @@ async function processIntermediateTypeFile(
.split('\n') .split('\n')
.map((line) => line.trim()) .map((line) => line.trim())
.filter(Boolean) .filter(Boolean)
if (!lines.length) {
return idents
}
const dtsHeader = `/* eslint-disable */ const dtsHeader = `/* eslint-disable */
export class ExternalObject<T> { export class ExternalObject<T> {
@ -466,7 +471,7 @@ async function writeJsBinding(
distFileName: string | null, distFileName: string | null,
idents: string[], idents: string[],
) { ) {
if (distFileName) { if (distFileName && idents.length) {
const template = createJsBinding(localName, packageName) const template = createJsBinding(localName, packageName)
const declareCodes = `const { ${idents.join(', ')} } = nativeBinding\n` const declareCodes = `const { ${idents.join(', ')} } = nativeBinding\n`
const exportsCode = idents.reduce( const exportsCode = idents.reduce(

View file

@ -2,7 +2,6 @@ mod macos;
mod windows; mod windows;
pub fn setup() { pub fn setup() {
println!("cargo:rerun-if-env-changed=TYPE_DEF_TMP_PATH");
println!("cargo:rerun-if-env-changed=DEBUG_GENERATED_CODE"); println!("cargo:rerun-if-env-changed=DEBUG_GENERATED_CODE");
match std::env::var("CARGO_CFG_TARGET_OS").as_deref() { match std::env::var("CARGO_CFG_TARGET_OS").as_deref() {
Ok("macos") => macos::setup(), Ok("macos") => macos::setup(),