Generate RequireJS Optimizer configuration for Magento 2 website based on real-world usage.
config-gen is packaged as a single binary (currently only osx) to enable
easy usage, just check the releases
page and download the latest.
Generate RequireJS Optimizer configuration for Magento 2 website based on real-world usage.
config-gen is packaged as a single binary (currently only osx) to enable
easy usage, just check the releases
page and download the latest.
Generate RequireJS Optimizer configuration for Magento 2 website.
config-gen is packaged as a single binary (currently only osx) to enable
easy usage, just check the releases
page and download the latest.
| struct AppState { | |
| config: Arc<Mutext<Vec<String>>> | |
| } | |
| /// | |
| /// these handlers can be running on any number of threads | |
| /// | |
| fn handler(req: &HttpRequest<AppState>) -> Box<Future<Item = HttpResponse, Error = ()>> { | |
| // clone the Arc here so it can be safely moved into the closure |
| impl M2PresetOptions { | |
| pub fn get_opts(prog_config: ProgramConfig) -> Option<M2PresetOptions> { | |
| serde_yaml::from_value(prog_config.get_opts("m2")?).ok()? | |
| } | |
| } |
| /// | |
| /// A simple way to apply both a predicate | |
| /// and default value when dealing with an option. | |
| /// | |
| fn is_legal(age: Option<usize>) -> bool { | |
| age.map(|x| x >= 18).unwrap_or(false) | |
| } |
| version: '2' | |
| services: | |
| nginx: | |
| volumes: | |
| - .docker/certs:/etc/letsencrypt | |
| env_file: | |
| - ./.docker/local.env | |
| php: |
| <!-- app/code/Simmi/Theme/view/frontend/web/template/account.html --> | |
| <div data-bind="text: loadingText"></div> |
| <div class="global-underlay" | |
| data-bind=" | |
| css: {'global-underlay--active': state().underlayActive}, | |
| click: close | |
| " | |
| ></div> | |
| <div class="global-overlay" | |
| data-bind=" | |
| css: { | |
| 'global-overlay--active': state().overlayActive, |
| fn modify_url(caps: &Captures, host: &str, port: u16) -> Option<String> { | |
| let first_match = caps.iter().nth(0)?; | |
| let match_item = first_match?; | |
| if let Ok(mut url) = Url::parse(match_item.as_str()) { | |
| // The following 2 method calls will mutate | |
| // the url, but return *different* Errors if they fail | |
| // | |
| // Because I don't care about the actual error, only | |
| // if it succeeded or failed, you can convert a Result |
| pub fn replace_host<'a>(bytes: &'a str, host_to_replace: &'a str, target_host: &'a str, target_port: u16) -> Cow<'a, str> { | |
| let matcher = format!("https?://{}", host_to_replace); | |
| Regex::new(&matcher) | |
| .unwrap() | |
| .replace_all(bytes, | |
| |item: &Captures| | |
| modify_url(item, target_host, target_port).unwrap_or(String::from(""))) | |
| } | |
| fn modify_url(caps: &Captures, host: &str, port: u16) -> Option<String> { |