UNPKG

react-carousel-query

Version:

A infinite carousel component made with react that handles the pagination for you.

264 lines (202 loc) 11.8 kB
"use strict"; require("core-js/modules/es.symbol.description.js"); Object.defineProperty(exports, "__esModule", { value: true }); exports.buildDev = buildDev; exports.buildDevStandalone = buildDevStandalone; require("core-js/modules/es.promise.js"); var _nodeLogger = require("@storybook/node-logger"); var _prompts = _interopRequireDefault(require("prompts")); var _coreCommon = require("@storybook/core-common"); var _telemetry = require("@storybook/telemetry"); var _tsDedent = _interopRequireDefault(require("ts-dedent")); var _global = _interopRequireDefault(require("global")); var _path = _interopRequireDefault(require("path")); var _devServer = require("./dev-server"); var _cli = require("./cli"); var _releaseNotes = require("./utils/release-notes"); var _outputStats = require("./utils/output-stats"); var _outputStartupInformation = require("./utils/output-startup-information"); var _updateCheck = require("./utils/update-check"); var _serverAddress = require("./utils/server-address"); var _getPreviewBuilder = require("./utils/get-preview-builder"); var _getManagerBuilder = require("./utils/get-manager-builder"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } async function buildDevStandalone(options) { var packageJson = options.packageJson, versionUpdates = options.versionUpdates, releaseNotes = options.releaseNotes; var version = packageJson.version, _packageJson$name = packageJson.name, name = _packageJson$name === void 0 ? '' : _packageJson$name; // updateInfo and releaseNotesData are cached, so this is typically pretty fast var _await$Promise$all = await Promise.all([(0, _serverAddress.getServerPort)(options.port), versionUpdates ? (0, _updateCheck.updateCheck)(version) : Promise.resolve({ success: false, data: {}, time: Date.now() }), releaseNotes ? (0, _releaseNotes.getReleaseNotesData)(version, _coreCommon.cache) : Promise.resolve((0, _releaseNotes.getReleaseNotesFailedState)(version))]), _await$Promise$all2 = _slicedToArray(_await$Promise$all, 3), port = _await$Promise$all2[0], versionCheck = _await$Promise$all2[1], releaseNotesData = _await$Promise$all2[2]; if (!options.ci && !options.smokeTest && options.port != null && port !== options.port) { var _await$prompts = await (0, _prompts.default)({ type: 'confirm', initial: true, name: 'shouldChangePort', message: `Port ${options.port} is not available. Would you like to run Storybook on port ${port} instead?` }), shouldChangePort = _await$prompts.shouldChangePort; if (!shouldChangePort) process.exit(1); } /* eslint-disable no-param-reassign */ options.port = port; options.versionCheck = versionCheck; options.releaseNotesData = releaseNotesData; options.configType = 'DEVELOPMENT'; options.configDir = _path.default.resolve(options.configDir); options.outputDir = options.smokeTest ? (0, _coreCommon.resolvePathInStorybookCache)('public') : _path.default.resolve(options.outputDir || (0, _coreCommon.resolvePathInStorybookCache)('public')); options.serverChannelUrl = (0, _serverAddress.getServerChannelUrl)(port, options); /* eslint-enable no-param-reassign */ var previewBuilder = await (0, _getPreviewBuilder.getPreviewBuilder)(options.configDir); var managerBuilder = await (0, _getManagerBuilder.getManagerBuilder)(options.configDir); var presets = (0, _coreCommon.loadAllPresets)(_objectSpread({ corePresets: [require.resolve('./presets/common-preset'), ...managerBuilder.corePresets, ...previewBuilder.corePresets, require.resolve('./presets/babel-cache-preset')], overridePresets: previewBuilder.overridePresets }, options)); var features = await presets.apply('features'); _global.default.FEATURES = features; var fullOptions = _objectSpread(_objectSpread({}, options), {}, { presets: presets, features: features }); var _await$storybookDevSe = await (0, _devServer.storybookDevServer)(fullOptions), address = _await$storybookDevSe.address, networkAddress = _await$storybookDevSe.networkAddress, managerResult = _await$storybookDevSe.managerResult, previewResult = _await$storybookDevSe.previewResult; var previewTotalTime = previewResult && previewResult.totalTime; var managerTotalTime = managerResult && managerResult.totalTime; var previewStats = previewResult && previewResult.stats; var managerStats = managerResult && managerResult.stats; if (options.webpackStatsJson) { var target = options.webpackStatsJson === true ? options.outputDir : options.webpackStatsJson; await (0, _outputStats.outputStats)(target, previewStats, managerStats); } if (options.smokeTest) { // @ts-ignore var managerWarnings = managerStats && managerStats.toJson().warnings || []; if (managerWarnings.length > 0) _nodeLogger.logger.warn(`manager: ${JSON.stringify(managerWarnings, null, 2)}`); // I'm a little reticent to import webpack types in this file :shrug: // @ts-ignore var previewWarnings = previewStats && previewStats.toJson().warnings || []; if (previewWarnings.length > 0) _nodeLogger.logger.warn(`preview: ${JSON.stringify(previewWarnings, null, 2)}`); process.exit(managerWarnings.length > 0 || previewWarnings.length > 0 && !options.ignorePreview ? 1 : 0); return; } // Get package name and capitalize it e.g. @storybook/react -> React var packageName = name.split('@storybook/').length > 1 ? name.split('@storybook/')[1] : name; var frameworkName = packageName.charAt(0).toUpperCase() + packageName.slice(1); (0, _outputStartupInformation.outputStartupInformation)({ updateInfo: versionCheck, version: version, name: frameworkName, address: address, networkAddress: networkAddress, managerTotalTime: managerTotalTime, previewTotalTime: previewTotalTime }); } async function buildDev(loadOptions) { var cliOptions = await (0, _cli.getDevCli)(loadOptions.packageJson); var options = _objectSpread(_objectSpread(_objectSpread({}, cliOptions), loadOptions), {}, { configDir: loadOptions.configDir || cliOptions.configDir || './.storybook', configType: 'DEVELOPMENT', ignorePreview: !!cliOptions.previewUrl && !cliOptions.forceBuildPreview, docsMode: !!cliOptions.docs, cache: _coreCommon.cache }); try { await buildDevStandalone(options); } catch (error) { var _error$compilation; // this is a weird bugfix, somehow 'node-pre-gyp' is polluting the npmLog header _nodeLogger.instance.heading = ''; if (error instanceof Error) { if (error.error) { _nodeLogger.logger.error(error.error); } else if (error.stats && error.stats.compilation.errors) { error.stats.compilation.errors.forEach(function (e) { return _nodeLogger.logger.plain(e); }); } else { _nodeLogger.logger.error(error); } } else if ((_error$compilation = error.compilation) !== null && _error$compilation !== void 0 && _error$compilation.errors) { error.compilation.errors.forEach(function (e) { return _nodeLogger.logger.plain(e); }); } _nodeLogger.logger.line(); _nodeLogger.logger.warn(error.close ? (0, _tsDedent.default)` FATAL broken build!, will close the process, Fix the error below and restart storybook. ` : (0, _tsDedent.default)` Broken build, fix the error above. You may need to refresh the browser. `); _nodeLogger.logger.line(); var presets = (0, _coreCommon.loadAllPresets)(_objectSpread({ corePresets: [require.resolve('./presets/common-preset')], overridePresets: [] }, options)); var core = await presets.apply('core'); if (!(core !== null && core !== void 0 && core.disableTelemetry)) { var enableCrashReports; if (core.enableCrashReports !== undefined) { enableCrashReports = core.enableCrashReports; } else { var valueFromCache = await _coreCommon.cache.get('enableCrashreports'); if (valueFromCache !== undefined) { enableCrashReports = valueFromCache; } else { var valueFromPrompt = await promptCrashReports(options); if (valueFromPrompt !== undefined) { enableCrashReports = valueFromPrompt; } } } await (0, _telemetry.telemetry)('error-dev', { error: error }, { immediate: true, configDir: options.configDir, enableCrashReports: enableCrashReports }); } process.exit(1); } } var promptCrashReports = async function ({ packageJson: packageJson }) { if (process.env.CI) { return undefined; } var _await$prompts2 = await (0, _prompts.default)({ type: 'confirm', name: 'enableCrashReports', message: `Would you like to send crash reports to Storybook?`, initial: true }), enableCrashReports = _await$prompts2.enableCrashReports; await _coreCommon.cache.set('enableCrashreports', enableCrashReports); return enableCrashReports; };