Merge pull request #941 from napi-rs/fix/build-env

fix(build): keep `.d.ts` and `.js` untouched if native doesn't change
This commit is contained in:
LongYinan 2021-12-18 15:07:26 +08:00 committed by GitHub
commit 45a74856d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 2 deletions

View file

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

View file

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