123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- expansive.es - Configuration for exp-less
- Transform by less into css. Uses lessc
- */
- Expansive.load({
- services: {
- name: 'less',
- files: [ '**.less', '!**.css.less' ],
- stylesheets: [ 'css/all.css' ],
- dependencies: null,
- transforms: {
- mappings: {
- less: [ 'css', 'less' ],
- },
- init: function(transform) {
- let service = transform.service
- if (!(service.stylesheets is Array)) {
- service.stylesheets = [service.stylesheets]
- }
- for each (stylesheet in service.stylesheets) {
- if (expansive.directories.contents.join(stylesheet + '.less').exists) {
- if (!service.dependencies) {
- service.dependencies ||= {}
- service.dependencies[stylesheet + '.less'] = '**.less'
- }
- }
- blend(expansive.control.dependencies, service.dependencies)
- let collections = expansive.control.collections
- collections.styles ||= []
- collections.styles.push(stylesheet)
- }
- },
- resolve: function(path: Path, transform): Path? {
- if (path.glob(transform.service.files)) {
- return null
- }
- return path
- },
- render: function(contents, meta) {
- let less = Cmd.locate('lessc')
- if (less) {
- contents = Cmd.run(less + ' - ', {dir: meta.source.dirname}, contents)
- } else {
- trace('Warn', 'Cannot find lessc')
- }
- return contents
- }
- }
- }
- })
|