1 | /*
|
2 | * Copyright 2020 The Backstage Authors
|
3 | *
|
4 | * Licensed under the Apache License, Version 2.0 (the "License");
|
5 | * you may not use this file except in compliance with the License.
|
6 | * You may obtain a copy of the License at
|
7 | *
|
8 | * http://www.apache.org/licenses/LICENSE-2.0
|
9 | *
|
10 | * Unless required by applicable law or agreed to in writing, software
|
11 | * distributed under the License is distributed on an "AS IS" BASIS,
|
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13 | * See the License for the specific language governing permissions and
|
14 | * limitations under the License.
|
15 | */
|
16 |
|
17 | const path = require('path');
|
18 |
|
19 | module.exports = {
|
20 | process(src, filename) {
|
21 | const assetFilename = JSON.stringify(path.basename(filename));
|
22 |
|
23 | if (filename.match(/\.icon\.svg$/)) {
|
24 | return `const React = require('react');
|
25 | const SvgIcon = require('@material-ui/core/SvgIcon').default;
|
26 | module.exports = {
|
27 | __esModule: true,
|
28 | default: props => React.createElement(SvgIcon, props, {
|
29 | $$typeof: Symbol.for('react.element'),
|
30 | type: 'svg',
|
31 | ref: ref,
|
32 | key: null,
|
33 | props: Object.assign({}, props, {
|
34 | children: ${assetFilename}
|
35 | })
|
36 | })
|
37 | };`;
|
38 | }
|
39 |
|
40 | return `module.exports = ${assetFilename};`;
|
41 | },
|
42 | };
|