Skip to content

fix: remove extra protos file#5696

Merged
sofisl merged 3 commits intomainfrom
fixDoubleProtosProblems
Sep 30, 2024
Merged

fix: remove extra protos file#5696
sofisl merged 3 commits intomainfrom
fixDoubleProtosProblems

Conversation

@sofisl
Copy link
Copy Markdown
Contributor

@sofisl sofisl commented Sep 20, 2024

For some reason we're publishing an extra protos file. Adding this in to make sure we don't re-add protos once we've run compile. FYI that we'll also need to make this change in the generator (will do). Publishing as a fix since this will reduce its package size from 17MB to 9MB.

@sofisl sofisl requested a review from a team September 20, 2024 22:23
"babel": "babel esm --out-dir build/cjs --ignore \"esm/**/*.d.ts\" --extensions \".ts\" --out-file-extension .cjs --copy-files",
"compile:cjs": "tsc -p ./tsconfig.json && npm run babel",
"compile": "npm run compile:esm && npm run compile:cjs && cp -r protos build/protos"
"compile": "npm run compile:esm && npm run compile:cjs && rm -rf build/protos && cp -r protos build/protos"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To enable non-POSIX compatibility (e.g. Windows) we could make this an inline node script rather than rm -rf:

Suggested change
"compile": "npm run compile:esm && npm run compile:cjs && rm -rf build/protos && cp -r protos build/protos"
"compile": "npm run compile:esm && npm run compile:cjs && node -e \"fs.rm('build/protos', {recursive: true})\" && cp -r protos build/protos"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since technically we don't support Windows (we don't have windows tests), and technically speaking you could compile this library without having Node, I think it's better to keep as is.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With npm as a prerequisite means there is a version of node available in the $PATH. Also we do support Windows; while we don't have any OS-specific tests customers are certainly using Windows. Here are a few examples where this can bite customers:

Either way, this would be best practice, but no one's filed an issue yet.

"babel": "babel esm --out-dir build/cjs --ignore \"esm/**/*.d.ts\" --extensions \".ts\" --out-file-extension .cjs --copy-files",
"compile:cjs": "tsc -p ./tsconfig.json && npm run babel",
"compile": "npm run compile:esm && npm run compile:cjs && cp -r protos build/protos"
"compile": "npm run compile:esm && npm run compile:cjs && rm -rf build/protos && cp -r protos build/protos"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With npm as a prerequisite means there is a version of node available in the $PATH. Also we do support Windows; while we don't have any OS-specific tests customers are certainly using Windows. Here are a few examples where this can bite customers:

Either way, this would be best practice, but no one's filed an issue yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants