|
- /** @license
- * Copyright 2016 - present The Material Motion Authors. All Rights Reserved.
- *
- * 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.
- */
-
- const {
- readFileSync,
- writeFileSync,
- } = require('fs');
-
- const licenseText = `/** @license
- * Copyright 2016 - present The Material Motion Authors. All Rights Reserved.
- *
- * 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.
- */
- "use strict";`;
-
- const observableSource = readFileSync('./dist/IndefiniteObservable.js').toString();
- const wrapWithObserverSource = readFileSync('./dist/wrapWithObserver.js').toString();
- const symbolObservable = readFileSync('./third_party/symbol-observable/index.js').toString();
-
- writeFileSync(
- './dist/indefinite-observable.js',
- licenseText + '\n' +[
- observableSource.replace(licenseText, ''),
- wrapWithObserverSource.replace(licenseText, ''),
- ].join('\n\n').replace(
- /const symbol_observable_\d = require\("symbol-observable"\);/,
- symbolObservable
- ).replace(
- /const symbol_observable_\d = require\("symbol-observable"\);/,
- ''
- ).replace(
- /const wrapWithObserver_\d = require\(".\/wrapWithObserver"\);/g,
- ''
- ).replace(
- // strip comments
- /\n^\s*\/\/.*$/mg,
- ''
- ).replace(
- /symbol_observable_\d\.default/g,
- '$$observable'
- ).replace(
- /wrapWithObserver/g,
- '_wrapWithObserver'
- ).replace(
- /_wrapWithObserver_\d\.default/g,
- '_wrapWithObserver'
- ).replace(
- /Object\.defineProperty\(exports, "__esModule", \{ value: true \}\);/g,
- ''
- ).replace(
- /exports\.default = \w+;/g,
- ''
- ).replace(
- /\n\n+/g,
- '\n\n'
-
- // Use 2 spaces instead of 4 in the TypeScript output to keep comments wrapped
- // to 80 chars. If we ever try to use spaces for alignment (independent of
- // indentation), this regex will need to be revisited.
- ).replace(
- / /g,
- ' '
- )
- );
|