mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 10:59:13 +00:00
feat(cli): add ignore directives to bundled code (#13309)
This commit adds lint and fmt ignore directives to bundled code as well as a comment stating that the code was bundled and shouldn't be edited manually.
This commit is contained in:
parent
62291e9b0e
commit
50e8ab8a86
7 changed files with 44 additions and 3 deletions
19
cli/emit.rs
19
cli/emit.rs
|
@ -42,6 +42,13 @@ use std::result;
|
|||
use std::sync::Arc;
|
||||
use std::time::Instant;
|
||||
|
||||
const IGNORE_DIRECTIVES: &[&str] = &[
|
||||
"// deno-fmt-ignore-file",
|
||||
"// deno-lint-ignore-file",
|
||||
"// This code was bundled using `deno bundle` and it's not recommended to edit it manually",
|
||||
""
|
||||
];
|
||||
|
||||
/// Represents the "default" type library that should be used when type
|
||||
/// checking the code in the module graph. Note that a user provided config
|
||||
/// of `"lib"` would override this value.
|
||||
|
@ -503,6 +510,7 @@ impl From<BundleType> for swc::bundler::ModuleType {
|
|||
pub(crate) struct BundleOptions {
|
||||
pub bundle_type: BundleType,
|
||||
pub ts_config: TsConfig,
|
||||
pub emit_ignore_directives: bool,
|
||||
}
|
||||
|
||||
/// A module loader for swc which does the appropriate retrieval and transpiling
|
||||
|
@ -630,12 +638,21 @@ pub(crate) fn bundle(
|
|||
let mut srcmap = Vec::new();
|
||||
{
|
||||
let cfg = swc::codegen::Config { minify: false };
|
||||
let wr = Box::new(swc::codegen::text_writer::JsWriter::new(
|
||||
let mut wr = Box::new(swc::codegen::text_writer::JsWriter::new(
|
||||
cm.clone(),
|
||||
"\n",
|
||||
&mut buf,
|
||||
Some(&mut srcmap),
|
||||
));
|
||||
|
||||
if options.emit_ignore_directives {
|
||||
// write leading comments in bundled file
|
||||
use swc::codegen::text_writer::WriteJs;
|
||||
use swc::common::source_map::DUMMY_SP;
|
||||
let cmt = IGNORE_DIRECTIVES.join("\n") + "\n";
|
||||
wr.write_comment(DUMMY_SP, &cmt)?;
|
||||
}
|
||||
|
||||
let mut emitter = swc::codegen::Emitter {
|
||||
cfg,
|
||||
cm: cm.clone(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue