Use symlink to common submodule as using a filesystem dep prevents publishing
This commit is contained in:
parent
fbe4cfc21b
commit
91bdcc3e44
|
@ -1,7 +1,7 @@
|
|||
import { mkdirSync, writeFileSync } from "fs";
|
||||
import { join } from "path";
|
||||
|
||||
export const RUST_OUT_DIR = join(__dirname, "..", "rust", "common", "src", "gen");
|
||||
export const RUST_OUT_DIR = join(__dirname, "..", "rust", "common", "gen");
|
||||
|
||||
try {
|
||||
mkdirSync(RUST_OUT_DIR);
|
||||
|
|
|
@ -21,7 +21,7 @@ const rsTagAttr = ({
|
|||
let code = `
|
||||
use lazy_static::lazy_static;
|
||||
use std::collections::HashMap;
|
||||
use crate::spec::tag::ns::Namespace;
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
|
||||
pub struct AttributeMinification {
|
||||
pub boolean: bool,
|
||||
|
|
|
@ -159,7 +159,7 @@ export class TrieBuilder {
|
|||
).join(", ");
|
||||
|
||||
const value = node.value === undefined ? "None" : `Some(${node.value})`;
|
||||
const varValue = `&crate::pattern::TrieNode {
|
||||
const varValue = `&crate::common::pattern::TrieNode {
|
||||
offset: ${firstIdx},
|
||||
value: ${value},
|
||||
children: &[${children}],
|
||||
|
@ -171,7 +171,7 @@ export class TrieBuilder {
|
|||
|
||||
const name = `${this.name}_NODE_${this.nextId++}`;
|
||||
this.variables.push(
|
||||
`static ${name}: &crate::pattern::TrieNode<${this.valueType}> = ${varValue};`
|
||||
`static ${name}: &crate::common::pattern::TrieNode<${this.valueType}> = ${varValue};`
|
||||
);
|
||||
this.codeCache.set(varValue, name);
|
||||
return name;
|
||||
|
|
|
@ -1,3 +1 @@
|
|||
/Cargo.lock
|
||||
/src/gen/
|
||||
/target
|
||||
/gen/
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
[package]
|
||||
name = "minify-html-common"
|
||||
publish = false
|
||||
version = "0.0.1"
|
||||
authors = ["Wilson Lin <code@wilsonl.in>"]
|
||||
homepage = "https://github.com/wilsonzlin/minify-html"
|
||||
repository = "https://github.com/wilsonzlin/minify-html.git"
|
||||
edition = "2018"
|
||||
include = ["/src/**/*", "/Cargo.toml"]
|
||||
|
||||
[dependencies]
|
||||
aho-corasick = "0.7"
|
||||
lazy_static = "1.4"
|
||||
memchr = "2"
|
|
@ -1,4 +1,4 @@
|
|||
use crate::gen::codepoints::WHITESPACE;
|
||||
use crate::common::gen::codepoints::WHITESPACE;
|
||||
|
||||
pub fn left_trim(val: &mut Vec<u8>) {
|
||||
let mut len = 0;
|
|
@ -25,4 +25,3 @@ crossbeam = { version = "0.7", optional = true }
|
|||
esbuild-rs = { version = "0.12.18", optional = true }
|
||||
lazy_static = "1.4"
|
||||
memchr = "2"
|
||||
minify-html-common = { path = "../common" }
|
||||
|
|
|
@ -2,7 +2,7 @@ use std::collections::HashMap;
|
|||
use std::fmt::{Debug, Formatter};
|
||||
use std::str::from_utf8;
|
||||
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
|
||||
#[derive(Copy, Clone, Eq, PartialEq, Debug)]
|
||||
pub enum ElementClosingTag {
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../../common
|
|
@ -17,11 +17,11 @@ use std::char::from_u32;
|
|||
|
||||
use memchr::memchr;
|
||||
|
||||
use minify_html_common::gen::codepoints::{
|
||||
use crate::common::gen::codepoints::{
|
||||
Lookup, ALPHANUMERIC_OR_EQUALS, DIGIT, HEX_DIGIT, LOWER_HEX_ALPHA, UPPER_HEX_ALPHA,
|
||||
};
|
||||
use minify_html_common::gen::entities::{EntityType, ENTITY};
|
||||
use minify_html_common::pattern::TrieNodeMatch;
|
||||
use crate::common::gen::entities::{EntityType, ENTITY};
|
||||
use crate::common::pattern::TrieNodeMatch;
|
||||
|
||||
enum Decoded {
|
||||
Ignored,
|
||||
|
|
|
@ -2,11 +2,11 @@ use aho_corasick::{AhoCorasick, AhoCorasickBuilder, MatchKind};
|
|||
use lazy_static::lazy_static;
|
||||
use memchr::memchr;
|
||||
|
||||
use minify_html_common::gen::codepoints::ALPHANUMERIC_OR_EQUALS;
|
||||
use minify_html_common::gen::entities::{
|
||||
use crate::common::gen::codepoints::ALPHANUMERIC_OR_EQUALS;
|
||||
use crate::common::gen::entities::{
|
||||
EntityType, ENTITY, SHORTER_ENCODED_ENTITIES_DECODED, SHORTER_ENCODED_ENTITIES_ENCODED,
|
||||
};
|
||||
use minify_html_common::pattern::TrieNodeMatch;
|
||||
use crate::common::pattern::TrieNodeMatch;
|
||||
|
||||
lazy_static! {
|
||||
static ref SHORTER_ENCODED_ENTITIES_ENCODED_SEARCHER: AhoCorasick = AhoCorasickBuilder::new()
|
||||
|
|
|
@ -2,11 +2,12 @@ pub use crate::cfg::Cfg;
|
|||
use crate::minify::content::minify_content;
|
||||
use crate::parse::content::parse_content;
|
||||
use crate::parse::Code;
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use minify_html_common::spec::tag::EMPTY_SLICE;
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
use crate::common::spec::tag::EMPTY_SLICE;
|
||||
|
||||
mod ast;
|
||||
mod cfg;
|
||||
mod common;
|
||||
mod entity;
|
||||
mod minify;
|
||||
mod parse;
|
||||
|
|
|
@ -8,12 +8,12 @@ use {
|
|||
|
||||
use crate::entity::encode::encode_entities;
|
||||
use crate::Cfg;
|
||||
use minify_html_common::gen::attrs::ATTRS;
|
||||
use minify_html_common::gen::codepoints::DIGIT;
|
||||
use minify_html_common::pattern::Replacer;
|
||||
use minify_html_common::spec::script::JAVASCRIPT_MIME_TYPES;
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use minify_html_common::whitespace::{collapse_whitespace, left_trim, right_trim};
|
||||
use crate::common::gen::attrs::ATTRS;
|
||||
use crate::common::gen::codepoints::DIGIT;
|
||||
use crate::common::pattern::Replacer;
|
||||
use crate::common::spec::script::JAVASCRIPT_MIME_TYPES;
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
use crate::common::whitespace::{collapse_whitespace, left_trim, right_trim};
|
||||
|
||||
fn build_double_quoted_replacer() -> Replacer {
|
||||
let mut patterns = Vec::<Vec<u8>>::new();
|
||||
|
|
|
@ -10,12 +10,12 @@ use crate::minify::css::minify_css;
|
|||
use crate::minify::element::minify_element;
|
||||
use crate::minify::instruction::minify_instruction;
|
||||
use crate::minify::js::minify_js;
|
||||
use minify_html_common::gen::codepoints::TAG_NAME_CHAR;
|
||||
use minify_html_common::pattern::Replacer;
|
||||
use minify_html_common::spec::tag::whitespace::{
|
||||
use crate::common::gen::codepoints::TAG_NAME_CHAR;
|
||||
use crate::common::pattern::Replacer;
|
||||
use crate::common::spec::tag::whitespace::{
|
||||
get_whitespace_minification_for_tag, WhitespaceMinification,
|
||||
};
|
||||
use minify_html_common::whitespace::{
|
||||
use crate::common::whitespace::{
|
||||
collapse_whitespace, is_all_whitespace, left_trim, right_trim,
|
||||
};
|
||||
|
||||
|
|
|
@ -4,8 +4,8 @@ use crate::ast::{ElementClosingTag, NodeData};
|
|||
use crate::cfg::Cfg;
|
||||
use crate::minify::attr::{minify_attr, AttrMinified};
|
||||
use crate::minify::content::minify_content;
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use minify_html_common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node};
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node};
|
||||
|
||||
#[derive(Copy, Clone, Eq, PartialEq)]
|
||||
enum LastAttr {
|
||||
|
|
|
@ -10,10 +10,10 @@ use crate::parse::content::ContentType::*;
|
|||
use crate::parse::element::{parse_element, parse_tag, peek_tag_name};
|
||||
use crate::parse::instruction::parse_instruction;
|
||||
use crate::parse::Code;
|
||||
use minify_html_common::gen::codepoints::TAG_NAME_CHAR;
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use minify_html_common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node};
|
||||
use minify_html_common::spec::tag::void::VOID_TAGS;
|
||||
use crate::common::gen::codepoints::TAG_NAME_CHAR;
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node};
|
||||
use crate::common::spec::tag::void::VOID_TAGS;
|
||||
|
||||
#[derive(Copy, Clone, Eq, PartialEq)]
|
||||
enum ContentType {
|
||||
|
|
|
@ -8,13 +8,13 @@ use crate::parse::style::parse_style_content;
|
|||
use crate::parse::textarea::parse_textarea_content;
|
||||
use crate::parse::title::parse_title_content;
|
||||
use crate::parse::Code;
|
||||
use minify_html_common::gen::codepoints::{
|
||||
use crate::common::gen::codepoints::{
|
||||
ATTR_QUOTE, DOUBLE_QUOTE, NOT_UNQUOTED_ATTR_VAL_CHAR, SINGLE_QUOTE, TAG_NAME_CHAR, WHITESPACE,
|
||||
WHITESPACE_OR_SLASH, WHITESPACE_OR_SLASH_OR_EQUALS_OR_RIGHT_CHEVRON,
|
||||
};
|
||||
use minify_html_common::spec::script::JAVASCRIPT_MIME_TYPES;
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use minify_html_common::spec::tag::void::VOID_TAGS;
|
||||
use crate::common::spec::script::JAVASCRIPT_MIME_TYPES;
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
use crate::common::spec::tag::void::VOID_TAGS;
|
||||
use std::fmt::{Debug, Formatter};
|
||||
use std::str::from_utf8;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use minify_html_common::gen::codepoints::Lookup;
|
||||
use crate::common::gen::codepoints::Lookup;
|
||||
|
||||
pub mod bang;
|
||||
pub mod comment;
|
||||
|
|
|
@ -3,8 +3,8 @@ use std::collections::HashMap;
|
|||
use crate::ast::{ElementClosingTag, NodeData};
|
||||
use crate::parse::element::{parse_element, parse_tag, ParsedTag};
|
||||
use crate::parse::Code;
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use minify_html_common::spec::tag::EMPTY_SLICE;
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
use crate::common::spec::tag::EMPTY_SLICE;
|
||||
|
||||
#[test]
|
||||
fn test_parse_tag() {
|
||||
|
|
|
@ -25,4 +25,3 @@ crossbeam = { version = "0.7", optional = true }
|
|||
esbuild-rs = { version = "0.12.18", optional = true }
|
||||
lazy_static = "1.4"
|
||||
memchr = "2"
|
||||
minify-html-common = { path = "../common" }
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../../common
|
|
@ -3,9 +3,10 @@ use crate::err::debug_repr;
|
|||
pub use crate::err::{Error, ErrorType, FriendlyError};
|
||||
use crate::proc::Processor;
|
||||
use crate::unit::content::process_content;
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
|
||||
mod cfg;
|
||||
mod common;
|
||||
mod err;
|
||||
#[macro_use]
|
||||
mod proc;
|
||||
|
|
|
@ -16,11 +16,11 @@
|
|||
use std::char::from_u32;
|
||||
|
||||
use crate::proc::Processor;
|
||||
use minify_html_common::gen::codepoints::{
|
||||
use crate::common::gen::codepoints::{
|
||||
Lookup, ALPHANUMERIC_OR_EQUALS, DIGIT, HEX_DIGIT, LOWER_HEX_ALPHA, UPPER_HEX_ALPHA,
|
||||
};
|
||||
use minify_html_common::gen::entities::{EntityType, ENTITY};
|
||||
use minify_html_common::pattern::TrieNodeMatch;
|
||||
use crate::common::gen::entities::{EntityType, ENTITY};
|
||||
use crate::common::pattern::TrieNodeMatch;
|
||||
|
||||
enum Parsed {
|
||||
// This includes numeric entities that were invalid and decoded to 0xFFFD.
|
||||
|
|
|
@ -15,8 +15,8 @@ use crate::err::{debug_repr, Error, ErrorType, ProcessingResult};
|
|||
use crate::proc::range::ProcessorRange;
|
||||
use crate::proc::MatchAction::*;
|
||||
use crate::proc::MatchMode::*;
|
||||
use minify_html_common::gen::codepoints::Lookup;
|
||||
use minify_html_common::spec::tag::EMPTY_SLICE;
|
||||
use crate::common::gen::codepoints::Lookup;
|
||||
use crate::common::spec::tag::EMPTY_SLICE;
|
||||
|
||||
pub mod checkpoint;
|
||||
pub mod entity;
|
||||
|
|
|
@ -7,9 +7,9 @@ use crate::proc::Processor;
|
|||
use crate::unit::attr::value::{
|
||||
process_attr_value, skip_attr_value, DelimiterType, ProcessedAttrValue,
|
||||
};
|
||||
use minify_html_common::gen::attrs::ATTRS;
|
||||
use minify_html_common::gen::codepoints::{WHATWG_ATTR_NAME_CHAR, WHITESPACE};
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use crate::common::gen::attrs::ATTRS;
|
||||
use crate::common::gen::codepoints::{WHATWG_ATTR_NAME_CHAR, WHITESPACE};
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
|
||||
mod value;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ use crate::proc::range::ProcessorRange;
|
|||
use crate::proc::MatchAction::*;
|
||||
use crate::proc::MatchMode::*;
|
||||
use crate::proc::Processor;
|
||||
use minify_html_common::gen::codepoints::{
|
||||
use crate::common::gen::codepoints::{
|
||||
ATTR_QUOTE, DIGIT, DOUBLE_QUOTE, NOT_UNQUOTED_ATTR_VAL_CHAR, SINGLE_QUOTE, WHITESPACE,
|
||||
};
|
||||
|
||||
|
@ -20,7 +20,7 @@ lazy_static! {
|
|||
m.insert(b'\'', b"'");
|
||||
m.insert(b'"', b""");
|
||||
m.insert(b'>', b">");
|
||||
// Whitespace characters as defined by spec in minify_html_common::spec::codepoint::is_whitespace.
|
||||
// Whitespace characters as defined by spec in crate::common::spec::codepoint::is_whitespace.
|
||||
m.insert(b'\x09', b"	");
|
||||
m.insert(b'\x0a', b"
");
|
||||
m.insert(b'\x0c', b"");
|
||||
|
|
|
@ -10,10 +10,10 @@ use crate::unit::bang::process_bang;
|
|||
use crate::unit::comment::process_comment;
|
||||
use crate::unit::instruction::process_instruction;
|
||||
use crate::unit::tag::{process_tag, MaybeClosingTag};
|
||||
use minify_html_common::gen::codepoints::{TAG_NAME_CHAR, WHITESPACE};
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use minify_html_common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node};
|
||||
use minify_html_common::spec::tag::whitespace::{
|
||||
use crate::common::gen::codepoints::{TAG_NAME_CHAR, WHITESPACE};
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node};
|
||||
use crate::common::spec::tag::whitespace::{
|
||||
get_whitespace_minification_for_tag, WhitespaceMinification,
|
||||
};
|
||||
|
||||
|
|
|
@ -10,11 +10,11 @@ use crate::unit::content::process_content;
|
|||
use crate::unit::script::process_script;
|
||||
use crate::unit::style::process_style;
|
||||
use lazy_static::lazy_static;
|
||||
use minify_html_common::gen::attrs::{AttributeMinification, ATTRS};
|
||||
use minify_html_common::gen::codepoints::{TAG_NAME_CHAR, WHITESPACE};
|
||||
use minify_html_common::spec::tag::ns::Namespace;
|
||||
use minify_html_common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node};
|
||||
use minify_html_common::spec::tag::void::VOID_TAGS;
|
||||
use crate::common::gen::attrs::{AttributeMinification, ATTRS};
|
||||
use crate::common::gen::codepoints::{TAG_NAME_CHAR, WHITESPACE};
|
||||
use crate::common::spec::tag::ns::Namespace;
|
||||
use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node};
|
||||
use crate::common::spec::tag::void::VOID_TAGS;
|
||||
use std::collections::HashSet;
|
||||
|
||||
lazy_static! {
|
||||
|
|
Loading…
Reference in New Issue