asset.pipeline.processors.JsNodeInjectProcessor.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of asset-pipeline-core Show documentation
Show all versions of asset-pipeline-core Show documentation
JVM Asset Pipeline library for serving static web assets, bundling, minifying, and extensibility for transpiling.
The newest version!
/*
* Copyright 2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package asset.pipeline.processors
import asset.pipeline.AssetCompiler
import asset.pipeline.AssetHelper
import asset.pipeline.AssetFile
import asset.pipeline.AbstractProcessor
import asset.pipeline.AssetPipelineConfigHolder
import java.util.regex.Pattern
import static asset.pipeline.utils.net.Urls.isRelative
/**
* This Processor iterates over a js file looking for asset_path directive sand
* replaces their path with absolute paths based on the configured.
* In precompiler mode the URLs are also cache digested.
*
* @author David Estes
*/
class JsNodeInjectProcessor extends AbstractProcessor {
JsNodeInjectProcessor(final AssetCompiler precompiler) {
super(precompiler)
}
String process(final String inputText, final AssetFile assetFile) {
String nodeEnv = 'development'
if (AssetPipelineConfigHolder.config != null
&& AssetPipelineConfigHolder.config.nodeEnv != null) {
nodeEnv = AssetPipelineConfigHolder.config.nodeEnv
}
// if(!assetFile.baseFile) {
return "var process = process || {env: {NODE_ENV: \"$nodeEnv\"}};\n${inputText}"
// } else {
// return inputText
// }
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy