├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── build.sh ├── codec ├── codec.go ├── flac │ └── flac.go ├── gme │ ├── empty.go │ └── gme.go ├── mpa │ └── mpa.go ├── nsf │ ├── empty.go │ └── nsf.go ├── rar │ └── rar.go ├── song.go ├── vorbis │ └── vorbis.go └── wav │ └── wav.go ├── docker.sh ├── docs ├── CNAME ├── index.html └── styles.css ├── go.mod ├── go.sum ├── mac-app.sh ├── main.go ├── modd.conf ├── models └── model.go ├── node_modules ├── fixed-data-table │ ├── .npmignore │ ├── LICENSE │ ├── PATENTS │ ├── README.md │ ├── dist │ │ ├── fixed-data-table.css │ │ ├── fixed-data-table.js │ │ ├── fixed-data-table.min.css │ │ └── fixed-data-table.min.js │ ├── docs │ │ ├── ColumnAPI.md │ │ ├── ColumnGroupAPI.md │ │ └── TableAPI.md │ ├── internal │ │ ├── BrowserSupportCore.js │ │ ├── DOMMouseMoveTracker.js │ │ ├── EventListener.js │ │ ├── ExecutionEnvironment.js │ │ ├── FixedDataTable.react.js │ │ ├── FixedDataTableBufferedRows.react.js │ │ ├── FixedDataTableCell.react.js │ │ ├── FixedDataTableCellGroup.react.js │ │ ├── FixedDataTableColumn.react.js │ │ ├── FixedDataTableColumnGroup.react.js │ │ ├── FixedDataTableColumnResizeHandle.react.js │ │ ├── FixedDataTableHelper.js │ │ ├── FixedDataTableRoot.js │ │ ├── FixedDataTableRow.react.js │ │ ├── FixedDataTableRowBuffer.js │ │ ├── FixedDataTableScrollHelper.js │ │ ├── FixedDataTableWidthHelper.js │ │ ├── Heap.js │ │ ├── ImmutableObject.js │ │ ├── ImmutableValue.js │ │ ├── IntegerBufferSet.js │ │ ├── Keys.js │ │ ├── Locale.js │ │ ├── Object.assign.js │ │ ├── PrefixIntervalTree.js │ │ ├── React.js │ │ ├── ReactComponentWithPureRenderMixin.js │ │ ├── ReactWheelHandler.js │ │ ├── Scrollbar.react.js │ │ ├── UserAgent_DEPRECATED.js │ │ ├── camelize.js │ │ ├── cancelAnimationFramePolyfill.js │ │ ├── clamp.js │ │ ├── cloneWithProps.js │ │ ├── cssVar.js │ │ ├── cx.js │ │ ├── debounceCore.js │ │ ├── emptyFunction.js │ │ ├── getVendorPrefixedName.js │ │ ├── invariant.js │ │ ├── isEventSupported.js │ │ ├── isNode.js │ │ ├── joinClasses.js │ │ ├── keyMirror.js │ │ ├── keyOf.js │ │ ├── mergeHelpers.js │ │ ├── nativeRequestAnimationFrame.js │ │ ├── normalizeWheel.js │ │ ├── requestAnimationFramePolyfill.js │ │ ├── shallowEqual.js │ │ └── translateDOMPositionXY.js │ ├── main.js │ └── package.json ├── react-router │ ├── README.md │ ├── lib │ │ ├── Cancellation.js │ │ ├── History.js │ │ ├── Match.js │ │ ├── Navigation.js │ │ ├── PathUtils.js │ │ ├── PropTypes.js │ │ ├── Redirect.js │ │ ├── Route.js │ │ ├── ScrollHistory.js │ │ ├── State.js │ │ ├── TestUtils.js │ │ ├── Transition.js │ │ ├── actions │ │ │ └── LocationActions.js │ │ ├── behaviors │ │ │ ├── ImitateBrowserBehavior.js │ │ │ └── ScrollToTopBehavior.js │ │ ├── components │ │ │ ├── ActiveHandler.js │ │ │ ├── ContextWrapper.js │ │ │ ├── DefaultRoute.js │ │ │ ├── Link.js │ │ │ ├── NotFoundRoute.js │ │ │ ├── Redirect.js │ │ │ ├── Route.js │ │ │ └── RouteHandler.js │ │ ├── createRouter.js │ │ ├── createRoutesFromReactChildren.js │ │ ├── getWindowScrollPosition.js │ │ ├── index.js │ │ ├── isReactChildren.js │ │ ├── locations │ │ │ ├── HashLocation.js │ │ │ ├── HistoryLocation.js │ │ │ ├── RefreshLocation.js │ │ │ ├── StaticLocation.js │ │ │ └── TestLocation.js │ │ ├── runRouter.js │ │ └── supportsHistory.js │ ├── node_modules │ │ ├── object-assign │ │ │ ├── index.js │ │ │ ├── license │ │ │ ├── package.json │ │ │ └── readme.md │ │ └── qs │ │ │ ├── .jshintignore │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ ├── lib │ │ │ ├── index.js │ │ │ ├── parse.js │ │ │ ├── stringify.js │ │ │ └── utils.js │ │ │ ├── package.json │ │ │ └── test │ │ │ ├── parse.js │ │ │ └── stringify.js │ ├── package.json │ └── umd │ │ ├── ReactRouter.js │ │ └── ReactRouter.min.js ├── react │ ├── README.md │ ├── addons.js │ ├── dist │ │ ├── JSXTransformer.js │ │ ├── react-with-addons.js │ │ ├── react-with-addons.min.js │ │ ├── react.js │ │ └── react.min.js │ ├── lib │ │ ├── AutoFocusMixin.js │ │ ├── BeforeInputEventPlugin.js │ │ ├── CSSCore.js │ │ ├── CSSProperty.js │ │ ├── CSSPropertyOperations.js │ │ ├── CallbackQueue.js │ │ ├── ChangeEventPlugin.js │ │ ├── ClientReactRootIndex.js │ │ ├── DOMChildrenOperations.js │ │ ├── DOMProperty.js │ │ ├── DOMPropertyOperations.js │ │ ├── Danger.js │ │ ├── DefaultEventPluginOrder.js │ │ ├── EnterLeaveEventPlugin.js │ │ ├── EventConstants.js │ │ ├── EventListener.js │ │ ├── EventPluginHub.js │ │ ├── EventPluginRegistry.js │ │ ├── EventPluginUtils.js │ │ ├── EventPropagators.js │ │ ├── ExecutionEnvironment.js │ │ ├── FallbackCompositionState.js │ │ ├── HTMLDOMPropertyConfig.js │ │ ├── LinkedStateMixin.js │ │ ├── LinkedValueUtils.js │ │ ├── LocalEventTrapMixin.js │ │ ├── MobileSafariClickEventPlugin.js │ │ ├── Object.assign.js │ │ ├── PooledClass.js │ │ ├── React.js │ │ ├── ReactBrowserComponentMixin.js │ │ ├── ReactBrowserEventEmitter.js │ │ ├── ReactCSSTransitionGroup.js │ │ ├── ReactCSSTransitionGroupChild.js │ │ ├── ReactChildReconciler.js │ │ ├── ReactChildren.js │ │ ├── ReactClass.js │ │ ├── ReactComponent.js │ │ ├── ReactComponentBrowserEnvironment.js │ │ ├── ReactComponentEnvironment.js │ │ ├── ReactComponentWithPureRenderMixin.js │ │ ├── ReactCompositeComponent.js │ │ ├── ReactContext.js │ │ ├── ReactCurrentOwner.js │ │ ├── ReactDOM.js │ │ ├── ReactDOMButton.js │ │ ├── ReactDOMComponent.js │ │ ├── ReactDOMForm.js │ │ ├── ReactDOMIDOperations.js │ │ ├── ReactDOMIframe.js │ │ ├── ReactDOMImg.js │ │ ├── ReactDOMInput.js │ │ ├── ReactDOMOption.js │ │ ├── ReactDOMSelect.js │ │ ├── ReactDOMSelection.js │ │ ├── ReactDOMTextComponent.js │ │ ├── ReactDOMTextarea.js │ │ ├── ReactDefaultBatchingStrategy.js │ │ ├── ReactDefaultInjection.js │ │ ├── ReactDefaultPerf.js │ │ ├── ReactDefaultPerfAnalysis.js │ │ ├── ReactElement.js │ │ ├── ReactElementValidator.js │ │ ├── ReactEmptyComponent.js │ │ ├── ReactErrorUtils.js │ │ ├── ReactEventEmitterMixin.js │ │ ├── ReactEventListener.js │ │ ├── ReactFragment.js │ │ ├── ReactInjection.js │ │ ├── ReactInputSelection.js │ │ ├── ReactInstanceHandles.js │ │ ├── ReactInstanceMap.js │ │ ├── ReactLifeCycle.js │ │ ├── ReactLink.js │ │ ├── ReactMarkupChecksum.js │ │ ├── ReactMount.js │ │ ├── ReactMultiChild.js │ │ ├── ReactMultiChildUpdateTypes.js │ │ ├── ReactNativeComponent.js │ │ ├── ReactOwner.js │ │ ├── ReactPerf.js │ │ ├── ReactPropTransferer.js │ │ ├── ReactPropTypeLocationNames.js │ │ ├── ReactPropTypeLocations.js │ │ ├── ReactPropTypes.js │ │ ├── ReactPutListenerQueue.js │ │ ├── ReactReconcileTransaction.js │ │ ├── ReactReconciler.js │ │ ├── ReactRef.js │ │ ├── ReactRootIndex.js │ │ ├── ReactServerRendering.js │ │ ├── ReactServerRenderingTransaction.js │ │ ├── ReactStateSetters.js │ │ ├── ReactTestUtils.js │ │ ├── ReactTransitionChildMapping.js │ │ ├── ReactTransitionEvents.js │ │ ├── ReactTransitionGroup.js │ │ ├── ReactUpdateQueue.js │ │ ├── ReactUpdates.js │ │ ├── ReactWithAddons.js │ │ ├── SVGDOMPropertyConfig.js │ │ ├── SelectEventPlugin.js │ │ ├── ServerReactRootIndex.js │ │ ├── SimpleEventPlugin.js │ │ ├── SyntheticClipboardEvent.js │ │ ├── SyntheticCompositionEvent.js │ │ ├── SyntheticDragEvent.js │ │ ├── SyntheticEvent.js │ │ ├── SyntheticFocusEvent.js │ │ ├── SyntheticInputEvent.js │ │ ├── SyntheticKeyboardEvent.js │ │ ├── SyntheticMouseEvent.js │ │ ├── SyntheticTouchEvent.js │ │ ├── SyntheticUIEvent.js │ │ ├── SyntheticWheelEvent.js │ │ ├── Transaction.js │ │ ├── ViewportMetrics.js │ │ ├── accumulateInto.js │ │ ├── adler32.js │ │ ├── camelize.js │ │ ├── camelizeStyleName.js │ │ ├── cloneWithProps.js │ │ ├── containsNode.js │ │ ├── createArrayFromMixed.js │ │ ├── createFullPageComponent.js │ │ ├── createNodesFromMarkup.js │ │ ├── cx.js │ │ ├── dangerousStyleValue.js │ │ ├── emptyFunction.js │ │ ├── emptyObject.js │ │ ├── escapeTextContentForBrowser.js │ │ ├── findDOMNode.js │ │ ├── flattenChildren.js │ │ ├── focusNode.js │ │ ├── forEachAccumulated.js │ │ ├── getActiveElement.js │ │ ├── getEventCharCode.js │ │ ├── getEventKey.js │ │ ├── getEventModifierState.js │ │ ├── getEventTarget.js │ │ ├── getIteratorFn.js │ │ ├── getMarkupWrap.js │ │ ├── getNodeForCharacterOffset.js │ │ ├── getReactRootElementInContainer.js │ │ ├── getTextContentAccessor.js │ │ ├── getUnboundedScrollPosition.js │ │ ├── hyphenate.js │ │ ├── hyphenateStyleName.js │ │ ├── instantiateReactComponent.js │ │ ├── invariant.js │ │ ├── isEventSupported.js │ │ ├── isNode.js │ │ ├── isTextInputElement.js │ │ ├── isTextNode.js │ │ ├── joinClasses.js │ │ ├── keyMirror.js │ │ ├── keyOf.js │ │ ├── mapObject.js │ │ ├── memoizeStringOnly.js │ │ ├── onlyChild.js │ │ ├── performance.js │ │ ├── performanceNow.js │ │ ├── quoteAttributeValueForBrowser.js │ │ ├── setInnerHTML.js │ │ ├── setTextContent.js │ │ ├── shallowEqual.js │ │ ├── shouldUpdateReactComponent.js │ │ ├── toArray.js │ │ ├── traverseAllChildren.js │ │ ├── update.js │ │ └── warning.js │ ├── node_modules │ │ ├── .bin │ │ │ └── envify │ │ └── envify │ │ │ ├── .npmignore │ │ │ ├── README.md │ │ │ ├── bin │ │ │ └── envify │ │ │ ├── custom.js │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ ├── jstransform │ │ │ │ ├── .jshintrc │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── jestEnvironment.js │ │ │ │ ├── jestPreprocessor.js │ │ │ │ ├── node_modules │ │ │ │ │ ├── .bin │ │ │ │ │ │ ├── esparse │ │ │ │ │ │ └── esvalidate │ │ │ │ │ ├── base62 │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── Readme.md │ │ │ │ │ │ ├── base62.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test │ │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── esprima-fb │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── bin │ │ │ │ │ │ │ ├── esparse.js │ │ │ │ │ │ │ └── esvalidate.js │ │ │ │ │ │ ├── esprima.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── compat.js │ │ │ │ │ │ │ ├── reflect.js │ │ │ │ │ │ │ ├── run.js │ │ │ │ │ │ │ ├── runner.js │ │ │ │ │ │ │ └── test.js │ │ │ │ │ └── source-map │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── Makefile.dryice.js │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── build │ │ │ │ │ │ ├── assert-shim.js │ │ │ │ │ │ ├── mini-require.js │ │ │ │ │ │ ├── prefix-source-map.jsm │ │ │ │ │ │ ├── prefix-utils.jsm │ │ │ │ │ │ ├── suffix-browser.js │ │ │ │ │ │ ├── suffix-source-map.jsm │ │ │ │ │ │ ├── suffix-utils.jsm │ │ │ │ │ │ ├── test-prefix.js │ │ │ │ │ │ └── test-suffix.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── source-map.js │ │ │ │ │ │ └── source-map │ │ │ │ │ │ │ ├── array-set.js │ │ │ │ │ │ │ ├── base64-vlq.js │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ ├── binary-search.js │ │ │ │ │ │ │ ├── source-map-consumer.js │ │ │ │ │ │ │ ├── source-map-generator.js │ │ │ │ │ │ │ ├── source-node.js │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── amdefine │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── amdefine.js │ │ │ │ │ │ │ ├── intercept.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── run-tests.js │ │ │ │ │ │ └── source-map │ │ │ │ │ │ ├── test-api.js │ │ │ │ │ │ ├── test-array-set.js │ │ │ │ │ │ ├── test-base64-vlq.js │ │ │ │ │ │ ├── test-base64.js │ │ │ │ │ │ ├── test-binary-search.js │ │ │ │ │ │ ├── test-dog-fooding.js │ │ │ │ │ │ ├── test-source-map-consumer.js │ │ │ │ │ │ ├── test-source-map-generator.js │ │ │ │ │ │ ├── test-source-node.js │ │ │ │ │ │ └── util.js │ │ │ │ ├── package.json │ │ │ │ ├── polyfill │ │ │ │ │ └── Object.es6.js │ │ │ │ ├── src │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── jstransform-test.js │ │ │ │ │ │ └── jstransform-utils-test.js │ │ │ │ │ ├── docblock.js │ │ │ │ │ ├── jstransform.js │ │ │ │ │ └── utils.js │ │ │ │ └── visitors │ │ │ │ │ ├── __tests__ │ │ │ │ │ ├── es6-arrow-function-visitors-test.js │ │ │ │ │ ├── es6-call-spread-visitors-test.js │ │ │ │ │ ├── es6-class-visitors-test.js │ │ │ │ │ ├── es6-destructuring-visitors-test.js │ │ │ │ │ ├── es6-es7-object-integration-test.js │ │ │ │ │ ├── es6-object-concise-method-visitors-test.js │ │ │ │ │ ├── es6-object-short-notation-visitors-test.js │ │ │ │ │ ├── es6-rest-param-visitors-test.js │ │ │ │ │ ├── es6-template-visitors-test.js │ │ │ │ │ ├── es7-rest-property-helpers-test.js │ │ │ │ │ ├── es7-spread-property-visitors-test.js │ │ │ │ │ ├── gen │ │ │ │ │ │ ├── generate-type-syntax-test.js │ │ │ │ │ │ └── type-syntax-test.rec.js │ │ │ │ │ ├── reserved-words-test.js │ │ │ │ │ ├── type-alias-syntax-test.js │ │ │ │ │ ├── type-class-syntax-test.js │ │ │ │ │ ├── type-function-syntax-test.js │ │ │ │ │ ├── type-interface-syntax-test.js │ │ │ │ │ ├── type-object-method-syntax-test.js │ │ │ │ │ ├── type-pattern-syntax-test.js │ │ │ │ │ ├── type-syntax-test.js │ │ │ │ │ └── type-variable-declaration-syntax-test.js │ │ │ │ │ ├── es6-arrow-function-visitors.js │ │ │ │ │ ├── es6-call-spread-visitors.js │ │ │ │ │ ├── es6-class-visitors.js │ │ │ │ │ ├── es6-destructuring-visitors.js │ │ │ │ │ ├── es6-object-concise-method-visitors.js │ │ │ │ │ ├── es6-object-short-notation-visitors.js │ │ │ │ │ ├── es6-rest-param-visitors.js │ │ │ │ │ ├── es6-template-visitors.js │ │ │ │ │ ├── es7-rest-property-helpers.js │ │ │ │ │ ├── es7-spread-property-visitors.js │ │ │ │ │ ├── reserved-words-helper.js │ │ │ │ │ ├── reserved-words-visitors.js │ │ │ │ │ └── type-syntax.js │ │ │ └── through │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE.APACHE2 │ │ │ │ ├── LICENSE.MIT │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ ├── readme.markdown │ │ │ │ └── test │ │ │ │ ├── async.js │ │ │ │ ├── auto-destroy.js │ │ │ │ ├── buffering.js │ │ │ │ ├── end.js │ │ │ │ └── index.js │ │ │ ├── package.json │ │ │ └── visitors.js │ ├── package.json │ └── react.js ├── reactify │ ├── .jshintrc │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── index.js │ ├── node_modules │ │ ├── .bin │ │ │ └── jsx │ │ ├── react-tools │ │ │ ├── README.md │ │ │ ├── bin │ │ │ │ └── jsx │ │ │ ├── main.js │ │ │ ├── node_modules │ │ │ │ ├── .bin │ │ │ │ │ └── commonize │ │ │ │ ├── commoner │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── bin │ │ │ │ │ │ └── commonize │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── cache.js │ │ │ │ │ │ ├── commoner.js │ │ │ │ │ │ ├── context.js │ │ │ │ │ │ ├── grep.js │ │ │ │ │ │ ├── output.js │ │ │ │ │ │ ├── reader.js │ │ │ │ │ │ ├── relative.js │ │ │ │ │ │ ├── util.js │ │ │ │ │ │ └── watcher.js │ │ │ │ │ ├── main.js │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── .bin │ │ │ │ │ │ │ └── mkdirp │ │ │ │ │ │ ├── commander │ │ │ │ │ │ │ ├── Readme.md │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── glob │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ │ ├── glob.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ ├── inflight │ │ │ │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── inflight.js │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ └── wrappy │ │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ │ │ │ └── basic.js │ │ │ │ │ │ │ │ │ │ │ └── wrappy.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ │ │ ├── inherits │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── inherits.js │ │ │ │ │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ │ │ ├── minimatch │ │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── minimatch.js │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ │ ├── lru-cache │ │ │ │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ │ │ │ ├── CONTRIBUTORS │ │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ │ │ │ │ └── lru-cache.js │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ │ │ │ ├── basic.js │ │ │ │ │ │ │ │ │ │ │ │ ├── foreach.js │ │ │ │ │ │ │ │ │ │ │ │ └── memory-leak.js │ │ │ │ │ │ │ │ │ │ └── sigmund │ │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ ├── bench.js │ │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ │ ├── sigmund.js │ │ │ │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ │ │ └── basic.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ │ ├── basic.js │ │ │ │ │ │ │ │ │ │ ├── brace-expand.js │ │ │ │ │ │ │ │ │ │ ├── caching.js │ │ │ │ │ │ │ │ │ │ ├── defaults.js │ │ │ │ │ │ │ │ │ │ └── extglob-ending-with-state-char.js │ │ │ │ │ │ │ │ └── once │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ │ └── wrappy │ │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ │ ├── test │ │ │ │ │ │ │ │ │ │ └── basic.js │ │ │ │ │ │ │ │ │ │ └── wrappy.js │ │ │ │ │ │ │ │ │ ├── once.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ └── once.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ └── sync.js │ │ │ │ │ │ ├── graceful-fs │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── fs.js │ │ │ │ │ │ │ ├── graceful-fs.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── polyfills.js │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── max-open.js │ │ │ │ │ │ │ │ ├── open.js │ │ │ │ │ │ │ │ ├── readdir-sort.js │ │ │ │ │ │ │ │ └── write-then-read.js │ │ │ │ │ │ ├── iconv-lite │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── Changelog.md │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── encodings │ │ │ │ │ │ │ │ ├── dbcs-codec.js │ │ │ │ │ │ │ │ ├── dbcs-data.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── internal.js │ │ │ │ │ │ │ │ ├── sbcs-codec.js │ │ │ │ │ │ │ │ ├── sbcs-data-generated.js │ │ │ │ │ │ │ │ ├── sbcs-data.js │ │ │ │ │ │ │ │ ├── tables │ │ │ │ │ │ │ │ │ ├── big5-added.json │ │ │ │ │ │ │ │ │ ├── cp936.json │ │ │ │ │ │ │ │ │ ├── cp949.json │ │ │ │ │ │ │ │ │ ├── cp950.json │ │ │ │ │ │ │ │ │ ├── eucjp.json │ │ │ │ │ │ │ │ │ ├── gb18030-ranges.json │ │ │ │ │ │ │ │ │ ├── gbk-added.json │ │ │ │ │ │ │ │ │ └── shiftjis.json │ │ │ │ │ │ │ │ ├── utf16.js │ │ │ │ │ │ │ │ └── utf7.js │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ ├── bom-handling.js │ │ │ │ │ │ │ │ ├── extend-node.js │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ └── streams.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── install │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── docs │ │ │ │ │ │ │ │ ├── docco.css │ │ │ │ │ │ │ │ └── install.html │ │ │ │ │ │ │ ├── install.js │ │ │ │ │ │ │ ├── install.min.js │ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── mkdirp │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── bin │ │ │ │ │ │ │ │ ├── cmd.js │ │ │ │ │ │ │ │ └── usage.txt │ │ │ │ │ │ │ ├── examples │ │ │ │ │ │ │ │ └── pow.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ └── minimist │ │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── example │ │ │ │ │ │ │ │ │ └── parse.js │ │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ │ ├── readme.markdown │ │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ ├── dash.js │ │ │ │ │ │ │ │ │ ├── default_bool.js │ │ │ │ │ │ │ │ │ ├── dotted.js │ │ │ │ │ │ │ │ │ ├── long.js │ │ │ │ │ │ │ │ │ ├── parse.js │ │ │ │ │ │ │ │ │ ├── parse_modified.js │ │ │ │ │ │ │ │ │ ├── short.js │ │ │ │ │ │ │ │ │ └── whitespace.js │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── readme.markdown │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ ├── chmod.js │ │ │ │ │ │ │ │ ├── clobber.js │ │ │ │ │ │ │ │ ├── mkdirp.js │ │ │ │ │ │ │ │ ├── opts_fs.js │ │ │ │ │ │ │ │ ├── opts_fs_sync.js │ │ │ │ │ │ │ │ ├── perm.js │ │ │ │ │ │ │ │ ├── perm_sync.js │ │ │ │ │ │ │ │ ├── race.js │ │ │ │ │ │ │ │ ├── rel.js │ │ │ │ │ │ │ │ ├── return.js │ │ │ │ │ │ │ │ ├── return_sync.js │ │ │ │ │ │ │ │ ├── root.js │ │ │ │ │ │ │ │ ├── sync.js │ │ │ │ │ │ │ │ ├── umask.js │ │ │ │ │ │ │ │ └── umask_sync.js │ │ │ │ │ │ ├── private │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── private.js │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ └── run.js │ │ │ │ │ │ ├── q │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ ├── q.js │ │ │ │ │ │ │ └── queue.js │ │ │ │ │ │ └── recast │ │ │ │ │ │ │ ├── .editorconfig │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── example │ │ │ │ │ │ │ ├── add-braces │ │ │ │ │ │ │ ├── generic-identity │ │ │ │ │ │ │ ├── identity │ │ │ │ │ │ │ └── to-while │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── comments.js │ │ │ │ │ │ │ ├── fast-path.js │ │ │ │ │ │ │ ├── lines.js │ │ │ │ │ │ │ ├── mapping.js │ │ │ │ │ │ │ ├── options.js │ │ │ │ │ │ │ ├── parser.js │ │ │ │ │ │ │ ├── patcher.js │ │ │ │ │ │ │ ├── printer.js │ │ │ │ │ │ │ ├── types.js │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ ├── .bin │ │ │ │ │ │ │ │ ├── esparse │ │ │ │ │ │ │ │ └── esvalidate │ │ │ │ │ │ │ ├── ast-types │ │ │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── def │ │ │ │ │ │ │ │ │ ├── babel.js │ │ │ │ │ │ │ │ │ ├── core.js │ │ │ │ │ │ │ │ │ ├── e4x.js │ │ │ │ │ │ │ │ │ ├── es6.js │ │ │ │ │ │ │ │ │ ├── es7.js │ │ │ │ │ │ │ │ │ ├── esprima.js │ │ │ │ │ │ │ │ │ ├── fb-harmony.js │ │ │ │ │ │ │ │ │ └── mozilla.js │ │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ │ ├── equiv.js │ │ │ │ │ │ │ │ │ ├── node-path.js │ │ │ │ │ │ │ │ │ ├── path-visitor.js │ │ │ │ │ │ │ │ │ ├── path.js │ │ │ │ │ │ │ │ │ ├── scope.js │ │ │ │ │ │ │ │ │ ├── shared.js │ │ │ │ │ │ │ │ │ └── types.js │ │ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ ├── esprima-fb │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── bin │ │ │ │ │ │ │ │ │ ├── esparse.js │ │ │ │ │ │ │ │ │ └── esvalidate.js │ │ │ │ │ │ │ │ ├── esprima.js │ │ │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ │ │ └── test │ │ │ │ │ │ │ │ │ ├── compat.js │ │ │ │ │ │ │ │ │ ├── reflect.js │ │ │ │ │ │ │ │ │ ├── run.js │ │ │ │ │ │ │ │ │ ├── runner.js │ │ │ │ │ │ │ │ │ └── test.js │ │ │ │ │ │ │ └── source-map │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── build │ │ │ │ │ │ │ │ ├── assert-shim.js │ │ │ │ │ │ │ │ ├── mini-require.js │ │ │ │ │ │ │ │ ├── prefix-source-map.jsm │ │ │ │ │ │ │ │ ├── prefix-utils.jsm │ │ │ │ │ │ │ │ ├── suffix-browser.js │ │ │ │ │ │ │ │ ├── suffix-source-map.jsm │ │ │ │ │ │ │ │ ├── suffix-utils.jsm │ │ │ │ │ │ │ │ ├── test-prefix.js │ │ │ │ │ │ │ │ └── test-suffix.js │ │ │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ │ ├── source-map.js │ │ │ │ │ │ │ │ └── source-map │ │ │ │ │ │ │ │ │ ├── array-set.js │ │ │ │ │ │ │ │ │ ├── base64-vlq.js │ │ │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ │ │ ├── binary-search.js │ │ │ │ │ │ │ │ │ ├── mapping-list.js │ │ │ │ │ │ │ │ │ ├── quick-sort.js │ │ │ │ │ │ │ │ │ ├── source-map-consumer.js │ │ │ │ │ │ │ │ │ ├── source-map-generator.js │ │ │ │ │ │ │ │ │ ├── source-node.js │ │ │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ │ │ └── amdefine │ │ │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── amdefine.js │ │ │ │ │ │ │ │ │ ├── intercept.js │ │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── package.json │ │ │ │ │ └── test │ │ │ │ │ │ ├── debug.conf │ │ │ │ │ │ ├── release.conf │ │ │ │ │ │ ├── run.js │ │ │ │ │ │ └── source │ │ │ │ │ │ ├── assert.js │ │ │ │ │ │ ├── core.js │ │ │ │ │ │ ├── home.js │ │ │ │ │ │ ├── login.js │ │ │ │ │ │ ├── roots.json │ │ │ │ │ │ ├── schema.json │ │ │ │ │ │ ├── settings.js │ │ │ │ │ │ ├── tests │ │ │ │ │ │ ├── home.js │ │ │ │ │ │ ├── login.js │ │ │ │ │ │ └── settings.js │ │ │ │ │ │ ├── third-party.js │ │ │ │ │ │ └── widget │ │ │ │ │ │ ├── .bogus.js │ │ │ │ │ │ ├── bogus.js~ │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ ├── follow.js │ │ │ │ │ │ ├── gallery.js │ │ │ │ │ │ └── share.js │ │ │ │ └── jstransform │ │ │ │ │ ├── .jshintrc │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── jestEnvironment.js │ │ │ │ │ ├── jestPreprocessor.js │ │ │ │ │ ├── node_modules │ │ │ │ │ ├── .bin │ │ │ │ │ │ ├── esparse │ │ │ │ │ │ └── esvalidate │ │ │ │ │ ├── base62 │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── Readme.md │ │ │ │ │ │ ├── base62.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test │ │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── esprima-fb │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── bin │ │ │ │ │ │ │ ├── esparse.js │ │ │ │ │ │ │ └── esvalidate.js │ │ │ │ │ │ ├── esprima.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test │ │ │ │ │ │ │ ├── compat.js │ │ │ │ │ │ │ ├── reflect.js │ │ │ │ │ │ │ ├── run.js │ │ │ │ │ │ │ ├── runner.js │ │ │ │ │ │ │ └── test.js │ │ │ │ │ └── source-map │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── Makefile.dryice.js │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── build │ │ │ │ │ │ ├── assert-shim.js │ │ │ │ │ │ ├── mini-require.js │ │ │ │ │ │ ├── prefix-source-map.jsm │ │ │ │ │ │ ├── prefix-utils.jsm │ │ │ │ │ │ ├── suffix-browser.js │ │ │ │ │ │ ├── suffix-source-map.jsm │ │ │ │ │ │ ├── suffix-utils.jsm │ │ │ │ │ │ ├── test-prefix.js │ │ │ │ │ │ └── test-suffix.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── source-map.js │ │ │ │ │ │ └── source-map │ │ │ │ │ │ │ ├── array-set.js │ │ │ │ │ │ │ ├── base64-vlq.js │ │ │ │ │ │ │ ├── base64.js │ │ │ │ │ │ │ ├── binary-search.js │ │ │ │ │ │ │ ├── source-map-consumer.js │ │ │ │ │ │ │ ├── source-map-generator.js │ │ │ │ │ │ │ ├── source-node.js │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ ├── node_modules │ │ │ │ │ │ └── amdefine │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── amdefine.js │ │ │ │ │ │ │ ├── intercept.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── test │ │ │ │ │ │ ├── run-tests.js │ │ │ │ │ │ └── source-map │ │ │ │ │ │ ├── test-api.js │ │ │ │ │ │ ├── test-array-set.js │ │ │ │ │ │ ├── test-base64-vlq.js │ │ │ │ │ │ ├── test-base64.js │ │ │ │ │ │ ├── test-binary-search.js │ │ │ │ │ │ ├── test-dog-fooding.js │ │ │ │ │ │ ├── test-source-map-consumer.js │ │ │ │ │ │ ├── test-source-map-generator.js │ │ │ │ │ │ ├── test-source-node.js │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── polyfill │ │ │ │ │ └── Object.es6.js │ │ │ │ │ ├── src │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── jstransform-test.js │ │ │ │ │ │ └── jstransform-utils-test.js │ │ │ │ │ ├── docblock.js │ │ │ │ │ ├── jstransform.js │ │ │ │ │ └── utils.js │ │ │ │ │ └── visitors │ │ │ │ │ ├── __tests__ │ │ │ │ │ ├── es6-arrow-function-visitors-test.js │ │ │ │ │ ├── es6-call-spread-visitors-test.js │ │ │ │ │ ├── es6-class-visitors-test.js │ │ │ │ │ ├── es6-destructuring-visitors-test.js │ │ │ │ │ ├── es6-es7-object-integration-test.js │ │ │ │ │ ├── es6-object-concise-method-visitors-test.js │ │ │ │ │ ├── es6-object-short-notation-visitors-test.js │ │ │ │ │ ├── es6-rest-param-visitors-test.js │ │ │ │ │ ├── es6-template-visitors-test.js │ │ │ │ │ ├── es7-rest-property-helpers-test.js │ │ │ │ │ ├── es7-spread-property-visitors-test.js │ │ │ │ │ ├── gen │ │ │ │ │ │ ├── generate-type-syntax-test.js │ │ │ │ │ │ └── type-syntax-test.rec.js │ │ │ │ │ ├── reserved-words-test.js │ │ │ │ │ ├── type-alias-syntax-test.js │ │ │ │ │ ├── type-class-syntax-test.js │ │ │ │ │ ├── type-function-syntax-test.js │ │ │ │ │ ├── type-interface-syntax-test.js │ │ │ │ │ ├── type-object-method-syntax-test.js │ │ │ │ │ ├── type-pattern-syntax-test.js │ │ │ │ │ ├── type-syntax-test.js │ │ │ │ │ └── type-variable-declaration-syntax-test.js │ │ │ │ │ ├── es6-arrow-function-visitors.js │ │ │ │ │ ├── es6-call-spread-visitors.js │ │ │ │ │ ├── es6-class-visitors.js │ │ │ │ │ ├── es6-destructuring-visitors.js │ │ │ │ │ ├── es6-object-concise-method-visitors.js │ │ │ │ │ ├── es6-object-short-notation-visitors.js │ │ │ │ │ ├── es6-rest-param-visitors.js │ │ │ │ │ ├── es6-template-visitors.js │ │ │ │ │ ├── es7-rest-property-helpers.js │ │ │ │ │ ├── es7-spread-property-visitors.js │ │ │ │ │ ├── reserved-words-helper.js │ │ │ │ │ ├── reserved-words-visitors.js │ │ │ │ │ └── type-syntax.js │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── addons │ │ │ │ │ ├── ReactComponentWithPureRenderMixin.js │ │ │ │ │ ├── ReactFragment.js │ │ │ │ │ ├── ReactRAFBatchingStrategy.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── ReactFragment-test.js │ │ │ │ │ │ └── update-test.js │ │ │ │ │ ├── link │ │ │ │ │ │ ├── LinkedStateMixin.js │ │ │ │ │ │ ├── ReactLink.js │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ │ ├── LinkedStateMixin-test.js │ │ │ │ │ │ │ └── ReactLinkPropTypes-test.js │ │ │ │ │ ├── transitions │ │ │ │ │ │ ├── ReactCSSTransitionGroup.js │ │ │ │ │ │ ├── ReactCSSTransitionGroupChild.js │ │ │ │ │ │ ├── ReactTransitionChildMapping.js │ │ │ │ │ │ ├── ReactTransitionEvents.js │ │ │ │ │ │ ├── ReactTransitionGroup.js │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ │ ├── ReactCSSTransitionGroup-test.js │ │ │ │ │ │ │ ├── ReactTransitionChildMapping-test.js │ │ │ │ │ │ │ └── ReactTransitionGroup-test.js │ │ │ │ │ └── update.js │ │ │ │ ├── browser │ │ │ │ │ ├── ClientReactRootIndex.js │ │ │ │ │ ├── ReactBrowserEventEmitter.js │ │ │ │ │ ├── ReactDOM.js │ │ │ │ │ ├── ReactPutListenerQueue.js │ │ │ │ │ ├── ReactReconcileTransaction.js │ │ │ │ │ ├── ReactWithAddons.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── ReactBrowserEventEmitter-test.js │ │ │ │ │ │ ├── ReactDOM-test.js │ │ │ │ │ │ ├── ReactWebWorker-test.js │ │ │ │ │ │ └── findDOMNode-test.js │ │ │ │ │ ├── eventPlugins │ │ │ │ │ │ ├── AnalyticsEventPluginFactory.js │ │ │ │ │ │ ├── BeforeInputEventPlugin.js │ │ │ │ │ │ ├── ChangeEventPlugin.js │ │ │ │ │ │ ├── DefaultEventPluginOrder.js │ │ │ │ │ │ ├── EnterLeaveEventPlugin.js │ │ │ │ │ │ ├── FallbackCompositionState.js │ │ │ │ │ │ ├── MobileSafariClickEventPlugin.js │ │ │ │ │ │ ├── ResponderEventPlugin.js │ │ │ │ │ │ ├── SelectEventPlugin.js │ │ │ │ │ │ ├── SimpleEventPlugin.js │ │ │ │ │ │ ├── TapEventPlugin.js │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ │ ├── AnalyticsEventPlugin-test.js │ │ │ │ │ │ │ ├── EnterLeaveEventPlugin-test.js │ │ │ │ │ │ │ ├── FallbackCompositionState-test.js │ │ │ │ │ │ │ └── ResponderEventPlugin-test.js │ │ │ │ │ ├── findDOMNode.js │ │ │ │ │ ├── server │ │ │ │ │ │ ├── ReactMarkupChecksum.js │ │ │ │ │ │ ├── ReactServerRendering.js │ │ │ │ │ │ ├── ReactServerRenderingTransaction.js │ │ │ │ │ │ ├── ServerReactRootIndex.js │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ │ └── ReactServerRendering-test.js │ │ │ │ │ ├── syntheticEvents │ │ │ │ │ │ ├── SyntheticClipboardEvent.js │ │ │ │ │ │ ├── SyntheticCompositionEvent.js │ │ │ │ │ │ ├── SyntheticDragEvent.js │ │ │ │ │ │ ├── SyntheticEvent.js │ │ │ │ │ │ ├── SyntheticFocusEvent.js │ │ │ │ │ │ ├── SyntheticInputEvent.js │ │ │ │ │ │ ├── SyntheticKeyboardEvent.js │ │ │ │ │ │ ├── SyntheticMouseEvent.js │ │ │ │ │ │ ├── SyntheticTouchEvent.js │ │ │ │ │ │ ├── SyntheticUIEvent.js │ │ │ │ │ │ ├── SyntheticWheelEvent.js │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ │ ├── SyntheticEvent-test.js │ │ │ │ │ │ │ └── SyntheticWheelEvent-test.js │ │ │ │ │ └── ui │ │ │ │ │ │ ├── React.js │ │ │ │ │ │ ├── ReactBrowserComponentMixin.js │ │ │ │ │ │ ├── ReactComponentBrowserEnvironment.js │ │ │ │ │ │ ├── ReactDOMComponent.js │ │ │ │ │ │ ├── ReactDOMIDOperations.js │ │ │ │ │ │ ├── ReactDOMSelection.js │ │ │ │ │ │ ├── ReactDOMTextComponent.js │ │ │ │ │ │ ├── ReactDefaultInjection.js │ │ │ │ │ │ ├── ReactEventListener.js │ │ │ │ │ │ ├── ReactInjection.js │ │ │ │ │ │ ├── ReactInputSelection.js │ │ │ │ │ │ ├── ReactMount.js │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── ReactDOMComponent-test.js │ │ │ │ │ │ ├── ReactDOMIDOperations-test.js │ │ │ │ │ │ ├── ReactDOMTextComponent-test.js │ │ │ │ │ │ ├── ReactEventListener-test.js │ │ │ │ │ │ ├── ReactMount-test.js │ │ │ │ │ │ ├── ReactMountDestruction-test.js │ │ │ │ │ │ └── ReactRenderDocument-test.js │ │ │ │ │ │ ├── dom │ │ │ │ │ │ ├── CSSProperty.js │ │ │ │ │ │ ├── CSSPropertyOperations.js │ │ │ │ │ │ ├── DOMChildrenOperations.js │ │ │ │ │ │ ├── DOMProperty.js │ │ │ │ │ │ ├── DOMPropertyOperations.js │ │ │ │ │ │ ├── Danger.js │ │ │ │ │ │ ├── HTMLDOMPropertyConfig.js │ │ │ │ │ │ ├── SVGDOMPropertyConfig.js │ │ │ │ │ │ ├── ViewportMetrics.js │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ ├── CSSProperty-test.js │ │ │ │ │ │ │ ├── CSSPropertyOperations-test.js │ │ │ │ │ │ │ ├── DOMPropertyOperations-test.js │ │ │ │ │ │ │ ├── Danger-test.js │ │ │ │ │ │ │ └── getNodeForCharacterOffset-test.js │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ ├── AutoFocusMixin.js │ │ │ │ │ │ │ ├── LinkedValueUtils.js │ │ │ │ │ │ │ ├── LocalEventTrapMixin.js │ │ │ │ │ │ │ ├── ReactDOMButton.js │ │ │ │ │ │ │ ├── ReactDOMForm.js │ │ │ │ │ │ │ ├── ReactDOMIframe.js │ │ │ │ │ │ │ ├── ReactDOMImg.js │ │ │ │ │ │ │ ├── ReactDOMInput.js │ │ │ │ │ │ │ ├── ReactDOMOption.js │ │ │ │ │ │ │ ├── ReactDOMSelect.js │ │ │ │ │ │ │ ├── ReactDOMTextarea.js │ │ │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ │ │ ├── LocalEventTrapMixin-test.js │ │ │ │ │ │ │ │ ├── ReactDOMButton-test.js │ │ │ │ │ │ │ │ ├── ReactDOMIframe-test.js │ │ │ │ │ │ │ │ ├── ReactDOMInput-test.js │ │ │ │ │ │ │ │ ├── ReactDOMSelect-test.js │ │ │ │ │ │ │ │ └── ReactDOMTextarea-test.js │ │ │ │ │ │ │ └── createFullPageComponent.js │ │ │ │ │ │ ├── dangerousStyleValue.js │ │ │ │ │ │ ├── getEventCharCode.js │ │ │ │ │ │ ├── getEventKey.js │ │ │ │ │ │ ├── getEventModifierState.js │ │ │ │ │ │ ├── getEventTarget.js │ │ │ │ │ │ ├── getNodeForCharacterOffset.js │ │ │ │ │ │ ├── getTextContentAccessor.js │ │ │ │ │ │ ├── isEventSupported.js │ │ │ │ │ │ ├── setInnerHTML.js │ │ │ │ │ │ └── setTextContent.js │ │ │ │ │ │ └── getReactRootElementInContainer.js │ │ │ │ ├── classic │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ └── ReactContextValidator-test.js │ │ │ │ │ ├── class │ │ │ │ │ │ ├── ReactClass.js │ │ │ │ │ │ ├── ReactDoNotBindDeprecated.js │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ │ ├── ReactBind-test.js │ │ │ │ │ │ │ ├── ReactClass-test.js │ │ │ │ │ │ │ └── ReactClassMixin-test.js │ │ │ │ │ ├── element │ │ │ │ │ │ ├── ReactElement.js │ │ │ │ │ │ ├── ReactElementValidator.js │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ │ ├── ReactElement-test.js │ │ │ │ │ │ │ ├── ReactElementClone-test.js │ │ │ │ │ │ │ └── ReactElementValidator-test.js │ │ │ │ │ └── types │ │ │ │ │ │ ├── ReactPropTypeLocationNames.js │ │ │ │ │ │ ├── ReactPropTypeLocations.js │ │ │ │ │ │ ├── ReactPropTypes.js │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ └── ReactPropTypes-test.js │ │ │ │ ├── core │ │ │ │ │ ├── ReactChildReconciler.js │ │ │ │ │ ├── ReactComponentEnvironment.js │ │ │ │ │ ├── ReactCompositeComponent.js │ │ │ │ │ ├── ReactContext.js │ │ │ │ │ ├── ReactCurrentOwner.js │ │ │ │ │ ├── ReactDefaultBatchingStrategy.js │ │ │ │ │ ├── ReactEmptyComponent.js │ │ │ │ │ ├── ReactEventEmitterMixin.js │ │ │ │ │ ├── ReactInstanceHandles.js │ │ │ │ │ ├── ReactInstanceMap.js │ │ │ │ │ ├── ReactLifeCycle.js │ │ │ │ │ ├── ReactMultiChild.js │ │ │ │ │ ├── ReactMultiChildUpdateTypes.js │ │ │ │ │ ├── ReactNativeComponent.js │ │ │ │ │ ├── ReactOwner.js │ │ │ │ │ ├── ReactPropTransferer.js │ │ │ │ │ ├── ReactReconciler.js │ │ │ │ │ ├── ReactRef.js │ │ │ │ │ ├── ReactRootIndex.js │ │ │ │ │ ├── ReactStateSetters.js │ │ │ │ │ ├── ReactUpdateQueue.js │ │ │ │ │ ├── ReactUpdates.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── ReactComponent-test.js │ │ │ │ │ │ ├── ReactComponentLifeCycle-test.js │ │ │ │ │ │ ├── ReactCompositeComponent-test.js │ │ │ │ │ │ ├── ReactCompositeComponentDOMMinimalism-test.js │ │ │ │ │ │ ├── ReactCompositeComponentError-test.js │ │ │ │ │ │ ├── ReactCompositeComponentNestedState-test.js │ │ │ │ │ │ ├── ReactCompositeComponentState-test.js │ │ │ │ │ │ ├── ReactEmptyComponent-test.js │ │ │ │ │ │ ├── ReactIdentity-test.js │ │ │ │ │ │ ├── ReactInstanceHandles-test.js │ │ │ │ │ │ ├── ReactMockedComponent-test.js │ │ │ │ │ │ ├── ReactMultiChild-test.js │ │ │ │ │ │ ├── ReactMultiChildReconcile-test.js │ │ │ │ │ │ ├── ReactMultiChildText-test.js │ │ │ │ │ │ ├── ReactStateSetters-test.js │ │ │ │ │ │ ├── ReactUpdates-test.js │ │ │ │ │ │ ├── refs-destruction-test.js │ │ │ │ │ │ └── refs-test.js │ │ │ │ │ ├── instantiateReactComponent.js │ │ │ │ │ └── shouldUpdateReactComponent.js │ │ │ │ ├── event │ │ │ │ │ ├── EventConstants.js │ │ │ │ │ ├── EventPluginHub.js │ │ │ │ │ ├── EventPluginRegistry.js │ │ │ │ │ ├── EventPluginUtils.js │ │ │ │ │ ├── EventPropagators.js │ │ │ │ │ └── __tests__ │ │ │ │ │ │ ├── EventPluginHub-test.js │ │ │ │ │ │ └── EventPluginRegistry-test.js │ │ │ │ ├── modern │ │ │ │ │ ├── class │ │ │ │ │ │ ├── React.d.ts │ │ │ │ │ │ ├── ReactComponent.js │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ │ ├── ReactClassEquivalence-test.js │ │ │ │ │ │ │ ├── ReactCoffeeScriptClass-test.coffee │ │ │ │ │ │ │ ├── ReactES6Class-test.js │ │ │ │ │ │ │ └── ReactTypeScriptClass-test.ts │ │ │ │ │ ├── element │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ │ ├── ReactJSXElement-test.js │ │ │ │ │ │ │ └── ReactJSXElementValidator-test.js │ │ │ │ │ └── types │ │ │ │ │ │ └── __tests__ │ │ │ │ │ │ ├── ReactFlowPropTypes-test.js │ │ │ │ │ │ └── ReactTypeScriptPropTypes-test.js │ │ │ │ ├── package.json │ │ │ │ ├── stubs │ │ │ │ │ └── Object.assign.js │ │ │ │ ├── test │ │ │ │ │ ├── MetaMatchers.js │ │ │ │ │ ├── ReactDefaultPerf.js │ │ │ │ │ ├── ReactDefaultPerfAnalysis.js │ │ │ │ │ ├── ReactPerf.js │ │ │ │ │ ├── ReactTestUtils.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── MetaMatchers-test.js │ │ │ │ │ │ ├── ReactTestUtils-test.js │ │ │ │ │ │ └── reactComponentExpect-test.js │ │ │ │ │ ├── all.js │ │ │ │ │ ├── createHierarchyRenderer.js │ │ │ │ │ ├── getTestDocument.js │ │ │ │ │ ├── mock-modules.js │ │ │ │ │ ├── mock-timers.js │ │ │ │ │ ├── mocks.js │ │ │ │ │ ├── phantomjs-shims.js │ │ │ │ │ ├── reactComponentExpect.js │ │ │ │ │ └── worker.js │ │ │ │ ├── utils │ │ │ │ │ ├── CallbackQueue.js │ │ │ │ │ ├── OrderedMap.js │ │ │ │ │ ├── PooledClass.js │ │ │ │ │ ├── ReactChildren.js │ │ │ │ │ ├── Transaction.js │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── OrderedMap-test.js │ │ │ │ │ │ ├── PooledClass-test.js │ │ │ │ │ │ ├── ReactChildren-test.js │ │ │ │ │ │ ├── Transaction-test.js │ │ │ │ │ │ ├── accumulateInto-test.js │ │ │ │ │ │ ├── cloneWithProps-test.js │ │ │ │ │ │ ├── escapeTextContentForBrowser-test.js │ │ │ │ │ │ ├── joinClasses-test.js │ │ │ │ │ │ ├── memoizeStringOnly-test.js │ │ │ │ │ │ ├── onlyChild-test.js │ │ │ │ │ │ ├── quoteAttributeValueForBrowser-test.js │ │ │ │ │ │ ├── sliceChildren-test.js │ │ │ │ │ │ └── traverseAllChildren-test.js │ │ │ │ │ ├── accumulate.js │ │ │ │ │ ├── accumulateInto.js │ │ │ │ │ ├── adler32.js │ │ │ │ │ ├── cloneWithProps.js │ │ │ │ │ ├── deprecated.js │ │ │ │ │ ├── escapeTextContentForBrowser.js │ │ │ │ │ ├── flattenChildren.js │ │ │ │ │ ├── forEachAccumulated.js │ │ │ │ │ ├── getIteratorFn.js │ │ │ │ │ ├── isTextInputElement.js │ │ │ │ │ ├── joinClasses.js │ │ │ │ │ ├── memoizeStringOnly.js │ │ │ │ │ ├── onlyChild.js │ │ │ │ │ ├── quoteAttributeValueForBrowser.js │ │ │ │ │ ├── shallowEqual.js │ │ │ │ │ ├── sliceChildren.js │ │ │ │ │ └── traverseAllChildren.js │ │ │ │ └── vendor │ │ │ │ │ ├── README.md │ │ │ │ │ ├── core │ │ │ │ │ ├── CSSCore.js │ │ │ │ │ ├── ExecutionEnvironment.js │ │ │ │ │ ├── TouchEventUtils.js │ │ │ │ │ ├── camelize.js │ │ │ │ │ ├── camelizeStyleName.js │ │ │ │ │ ├── createArrayFromMixed.js │ │ │ │ │ ├── createNodesFromMarkup.js │ │ │ │ │ ├── dom │ │ │ │ │ │ ├── containsNode.js │ │ │ │ │ │ ├── focusNode.js │ │ │ │ │ │ ├── getActiveElement.js │ │ │ │ │ │ ├── getUnboundedScrollPosition.js │ │ │ │ │ │ ├── isNode.js │ │ │ │ │ │ └── isTextNode.js │ │ │ │ │ ├── emptyFunction.js │ │ │ │ │ ├── emptyObject.js │ │ │ │ │ ├── getMarkupWrap.js │ │ │ │ │ ├── hyphenate.js │ │ │ │ │ ├── hyphenateStyleName.js │ │ │ │ │ ├── invariant.js │ │ │ │ │ ├── mapObject.js │ │ │ │ │ ├── monitorCodeUse.js │ │ │ │ │ ├── nativeRequestAnimationFrame.js │ │ │ │ │ ├── requestAnimationFrame.js │ │ │ │ │ ├── toArray.js │ │ │ │ │ └── warning.js │ │ │ │ │ ├── key-mirror │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ └── keyMirror-test.js │ │ │ │ │ ├── keyMirror.js │ │ │ │ │ └── keyOf.js │ │ │ │ │ ├── performance │ │ │ │ │ ├── performance.js │ │ │ │ │ └── performanceNow.js │ │ │ │ │ └── stubs │ │ │ │ │ ├── EventListener.js │ │ │ │ │ ├── ReactErrorUtils.js │ │ │ │ │ └── cx.js │ │ │ └── vendor │ │ │ │ ├── fbtransform │ │ │ │ ├── syntax.js │ │ │ │ ├── transforms │ │ │ │ │ ├── __tests__ │ │ │ │ │ │ ├── jsx-test.js │ │ │ │ │ │ ├── react-displayName-test.js │ │ │ │ │ │ └── react-test.js │ │ │ │ │ ├── jsx.js │ │ │ │ │ ├── react.js │ │ │ │ │ └── reactDisplayName.js │ │ │ │ └── visitors.js │ │ │ │ └── inline-source-map.js │ │ └── through │ │ │ ├── .travis.yml │ │ │ ├── LICENSE.APACHE2 │ │ │ ├── LICENSE.MIT │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ ├── readme.markdown │ │ │ └── test │ │ │ ├── async.js │ │ │ ├── auto-destroy.js │ │ │ ├── buffering.js │ │ │ ├── end.js │ │ │ └── index.js │ ├── package.json │ └── test │ │ ├── fixtures │ │ ├── invalid.js │ │ ├── main.es6-custom.jsx │ │ ├── main.es6-target-es5.jsx │ │ ├── main.es6.jsx │ │ ├── main.js │ │ ├── main.jsnox │ │ ├── main.jsx │ │ ├── main.strip-types-es6.jsx │ │ ├── main.strip-types.js │ │ ├── simple.js │ │ └── utf8.js │ │ └── reactify.js ├── reflux │ ├── .editorconfig │ ├── .jshintrc │ ├── .npmignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── Gruntfile.js │ ├── LICENSE.md │ ├── README.md │ ├── bower.json │ ├── karma.conf.js │ ├── node_modules │ │ ├── eventemitter3 │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── index.js │ │ │ └── package.json │ │ └── reflux-core │ │ │ ├── .editorconfig │ │ │ ├── .eslintrc │ │ │ ├── .jshintrc │ │ │ ├── .npmignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── lib │ │ │ ├── ActionMethods.js │ │ │ ├── Keep.js │ │ │ ├── ListenerMethods.js │ │ │ ├── PublisherMethods.js │ │ │ ├── StoreMethods.js │ │ │ ├── bindMethods.js │ │ │ ├── createAction.js │ │ │ ├── createStore.js │ │ │ ├── index.js │ │ │ ├── joins.js │ │ │ ├── mixer.js │ │ │ └── utils.js │ │ │ └── package.json │ ├── package.json │ └── src │ │ ├── ListenerMixin.js │ │ ├── connect.js │ │ ├── connectFilter.js │ │ ├── index.js │ │ ├── listenTo.js │ │ └── listenToMany.js └── underscore │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── underscore-min.js │ ├── underscore-min.map │ └── underscore.js ├── output ├── direct.go ├── output.go ├── port.go └── pulse.go ├── protocol ├── file │ └── file.go ├── protocol.go └── stream │ └── stream.go ├── server ├── audio.go ├── control.go ├── seek.go ├── server.go ├── static │ ├── css │ │ ├── fixed-data-table.css │ │ ├── material.min.css │ │ └── moggio.css │ ├── fonts │ │ ├── MaterialIcons-Regular.woff │ │ ├── Roboto-Bold.woff │ │ ├── Roboto-Light.woff │ │ ├── Roboto-Medium.woff │ │ └── Roboto-Regular.woff │ ├── index.html │ ├── js │ │ ├── fetch.js │ │ ├── material.min.js │ │ └── moggio.js │ └── src │ │ ├── group.js │ │ ├── list.js │ │ ├── mdl.js │ │ ├── moggio.js │ │ ├── nav.js │ │ ├── playlist.js │ │ └── protocol.js ├── web.go └── websocket.go └── shell.nix /.gitignore: -------------------------------------------------------------------------------- 1 | moggio 2 | moggio.state 3 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang 2 | 3 | RUN apt-get clean && apt-get update && apt-get install -y \ 4 | g++ \ 5 | libpulse-dev \ 6 | --no-install-recommends \ 7 | && rm -rf /var/lib/apt/lists/* 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2014 Matt Jibson 4 | 5 | Permission to use, copy, modify, and distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # moggio 2 | 3 | An audio player written in Go. 4 | 5 | # goals 6 | 7 | - [x] JSON API. Playlists easily managed with a web browser, and global OS keyboard shortcuts can access functions needed from the media keys (next, pause, play). 8 | - [ ] Support for the codecs: 9 | - [x] wav 10 | - [x] mp3 11 | - [x] spc (Super Nintendo) 12 | - [x] nsf, nsfe (Nintendo) 13 | - [x] ogg vorbis 14 | - [x] flac 15 | - [ ] aac 16 | - [ ] Support for the protocols: 17 | - [x] google music 18 | - [x] dropbox 19 | - [x] google drive 20 | - [x] shoutcast 21 | - [x] soundcloud 22 | - [x] local hard drive 23 | - [ ] youtube 24 | - [x] Support for archive files (.zip, .rar, .nsf). 25 | - [ ] Pure Go except for sound driver interfaces. 26 | - [ ] Port SPC library to Go 27 | - [x] Runs on Windows, Linux, Mac OSX. 28 | - [ ] Mobile apps for Android and iOS that can play themselves and act as a remote. 29 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | if [ -z "$1" ]; then 6 | echo "Must specify version" 7 | exit 8 | fi 9 | 10 | docker build -t mjibson/moggio . 11 | 12 | DIR=/go/src/github.com/mjibson/moggio 13 | docker run --rm -v "$(pwd)":$DIR -w $DIR mjibson/moggio sh docker.sh $1 14 | -------------------------------------------------------------------------------- /codec/gme/empty.go: -------------------------------------------------------------------------------- 1 | package gme 2 | 3 | // This file is here to satisfy Go's requirement that there is at least one 4 | // buildable file in a package since the other file only builds with cgo. 5 | -------------------------------------------------------------------------------- /codec/nsf/empty.go: -------------------------------------------------------------------------------- 1 | package nsf 2 | 3 | // This file is here to satisfy Go's requirement that there is at least one 4 | // buildable file in a package since the other file only builds with cgo. 5 | -------------------------------------------------------------------------------- /codec/song.go: -------------------------------------------------------------------------------- 1 | package codec 2 | 3 | import "time" 4 | 5 | type Song interface { 6 | // Info returns information about a song. 7 | Info() (SongInfo, error) 8 | // Init is called before the first call to Play(). It should prepare resources 9 | // needed for Play(). 10 | Init() (sampleRate, channels int, err error) 11 | // Play returns the next n samples. Return < n to indicate end of song or 0 12 | // to indicate EOF, neither of which should return an error. If < n samples 13 | // are returned, Play will not be invoked again. 14 | Play(n int) ([]float32, error) 15 | // Close releases resources used by the current file. 16 | Close() 17 | } 18 | 19 | type SongInfo struct { 20 | Time time.Duration 21 | Artist string 22 | Title string 23 | Album string 24 | Track float64 25 | ImageURL string `json:",omitempty"` 26 | 27 | // SongTitle, if set, is the currently playing song title. Needed for 28 | // streaming. 29 | SongTitle string 30 | } 31 | -------------------------------------------------------------------------------- /docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | ver=$1 6 | 7 | build() 8 | { 9 | export GOOS=$1 10 | export GOARCH=$2 11 | EXT="" 12 | if [ $GOOS = "windows" ]; then 13 | EXT=".exe" 14 | fi 15 | echo $GOOS $GOARCH $EXT 16 | go build -o moggio-$GOOS-$GOARCH$EXT -ldflags "-X github.com/mjibson/moggio/server.MoggioVersion=$ver" 17 | } 18 | 19 | go version 20 | build windows amd64 21 | build linux amd64 22 | -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | mogg.io -------------------------------------------------------------------------------- /mac-app.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | APPNAME=moggio 6 | DIR="$APPNAME.app/Contents/MacOS" 7 | OUTPUT="$DIR/$APPNAME" 8 | PA=libportaudio.2.dylib 9 | PALIB=/usr/local/opt/portaudio/lib/$PA 10 | 11 | rm -rf $APPNAME.app 12 | mkdir -p $DIR 13 | go build -o $OUTPUT -ldflags "-linkmode=external" 14 | chmod +x $OUTPUT 15 | cp $PALIB $DIR/$PA 16 | install_name_tool -change $PALIB @executable_path/$PA $OUTPUT 17 | 18 | cat > $DIR/../Info.plist << EOF 19 | 20 | 21 | 22 | 23 | CFBundleExecutable 24 | moggio 25 | CFBundleIdentifier 26 | io.moggio.Moggio 27 | CFBundleName 28 | moggio 29 | CFBundlePackageType 30 | APPL 31 | CFBundleSignature 32 | ???? 33 | 34 | 35 | EOF 36 | 37 | rm -f moggio.zip 38 | zip moggio -r moggio.app 39 | -------------------------------------------------------------------------------- /modd.conf: -------------------------------------------------------------------------------- 1 | **/*.go { 2 | prep: go install 3 | daemon: moggio -dev 4 | } 5 | { 6 | daemon: watchify --verbose -t [ reactify --es6 ] server/static/src/nav.js -o server/static/js/moggio.js 7 | } 8 | -------------------------------------------------------------------------------- /models/model.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | type Source struct { 4 | Protocol string 5 | Name string 6 | Blob []byte 7 | } 8 | 9 | type Delete struct { 10 | Protocol string 11 | Name string 12 | } 13 | -------------------------------------------------------------------------------- /node_modules/fixed-data-table/.npmignore: -------------------------------------------------------------------------------- 1 | build_helpers 2 | site 3 | src 4 | __site__ 5 | __site_prerender__ 6 | .editorconfig 7 | .babelrc 8 | webpack.config.js 9 | CONTRIBUTING.md 10 | -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/FixedDataTableRoot.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule FixedDataTableRoot 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var FixedDataTable = require('./FixedDataTable.react'); 15 | var FixedDataTableColumn = require('./FixedDataTableColumn.react'); 16 | var FixedDataTableColumnGroup = require('./FixedDataTableColumnGroup.react'); 17 | 18 | var FixedDataTableRoot = { 19 | Column: FixedDataTableColumn, 20 | ColumnGroup: FixedDataTableColumnGroup, 21 | Table: FixedDataTable }; 22 | 23 | FixedDataTableRoot.version = '0.3.0'; 24 | 25 | module.exports = FixedDataTableRoot; -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/Keys.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule Keys 10 | */ 11 | 12 | "use strict"; 13 | 14 | module.exports = { 15 | BACKSPACE: 8, 16 | TAB: 9, 17 | RETURN: 13, 18 | ALT: 18, 19 | ESC: 27, 20 | SPACE: 32, 21 | PAGE_UP: 33, 22 | PAGE_DOWN: 34, 23 | END: 35, 24 | HOME: 36, 25 | LEFT: 37, 26 | UP: 38, 27 | RIGHT: 39, 28 | DOWN: 40, 29 | DELETE: 46, 30 | COMMA: 188, 31 | PERIOD: 190, 32 | A: 65, 33 | Z: 90, 34 | ZERO: 48, 35 | NUMPAD_0: 96, 36 | NUMPAD_9: 105 37 | }; -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/Locale.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule Locale 10 | */ 11 | 12 | "use strict"; 13 | 14 | // Hard code this for now. 15 | var Locale = { 16 | isRTL: function isRTL() { 17 | return false; 18 | }, 19 | getDirection: function getDirection() { 20 | return "LTR"; 21 | } 22 | }; 23 | 24 | module.exports = Locale; -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/React.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule React 10 | */ 11 | 12 | 'use strict'; 13 | 14 | module.exports = require('react'); -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/ReactComponentWithPureRenderMixin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactComponentWithPureRenderMixin 10 | */ 11 | 12 | 'use strict'; 13 | 14 | module.exports = require('react/lib/ReactComponentWithPureRenderMixin'); -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/camelize.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule camelize 10 | * @typechecks 11 | */ 12 | 13 | "use strict"; 14 | 15 | var _hyphenPattern = /-(.)/g; 16 | 17 | /** 18 | * Camelcases a hyphenated string, for example: 19 | * 20 | * > camelize('background-color') 21 | * < "backgroundColor" 22 | * 23 | * @param {string} string 24 | * @return {string} 25 | */ 26 | function camelize(string) { 27 | return string.replace(_hyphenPattern, function (_, character) { 28 | return character.toUpperCase(); 29 | }); 30 | } 31 | 32 | module.exports = camelize; -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/cancelAnimationFramePolyfill.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule cancelAnimationFramePolyfill 10 | */ 11 | 12 | /** 13 | * Here is the native and polyfill version of cancelAnimationFrame. 14 | * Please don't use it directly and use cancelAnimationFrame module instead. 15 | */ 16 | "use strict"; 17 | 18 | var cancelAnimationFrame = global.cancelAnimationFrame || global.webkitCancelAnimationFrame || global.mozCancelAnimationFrame || global.oCancelAnimationFrame || global.msCancelAnimationFrame || global.clearTimeout; 19 | 20 | module.exports = cancelAnimationFrame; -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/clamp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule clamp 10 | * @typechecks 11 | */ 12 | 13 | /** 14 | * @param {number} min 15 | * @param {number} value 16 | * @param {number} max 17 | * @return {number} 18 | */ 19 | "use strict"; 20 | 21 | function clamp(min, value, max) { 22 | if (value < min) { 23 | return min; 24 | } 25 | if (value > max) { 26 | return max; 27 | } 28 | return value; 29 | } 30 | 31 | module.exports = clamp; -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/cloneWithProps.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule cloneWithProps 10 | */ 11 | 12 | 'use strict'; 13 | 14 | module.exports = require('react/lib/cloneWithProps'); -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/cssVar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule cssVar 10 | * @typechecks 11 | */ 12 | 13 | 'use strict'; 14 | 15 | var CSS_VARS = { 16 | 'scrollbar-face-active-color': '#7d7d7d', 17 | 'scrollbar-face-color': '#c2c2c2', 18 | 'scrollbar-face-margin': '4px', 19 | 'scrollbar-face-radius': '6px', 20 | 'scrollbar-size': '15px', 21 | 'scrollbar-size-large': '17px', 22 | 'scrollbar-track-color': 'rgba(255, 255, 255, 0.8)' }; 23 | 24 | /** 25 | * @param {string} name 26 | */ 27 | function cssVar(name) { 28 | if (CSS_VARS.hasOwnProperty(name)) { 29 | return CSS_VARS[name]; 30 | } 31 | 32 | throw new Error('cssVar' + '("' + name + '"): Unexpected class transformation.'); 33 | } 34 | 35 | cssVar.CSS_VARS = CSS_VARS; 36 | 37 | module.exports = cssVar; -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/isNode.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule isNode 10 | * @typechecks 11 | */ 12 | 13 | /** 14 | * @param {*} object The object to check. 15 | * @return {boolean} Whether or not the object is a DOM node. 16 | */ 17 | 'use strict'; 18 | 19 | function isNode(object) { 20 | return !!(object && (typeof Node === 'function' ? object instanceof Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); 21 | } 22 | 23 | module.exports = isNode; -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/joinClasses.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule joinClasses 10 | * @typechecks static-only 11 | */ 12 | 13 | 'use strict'; 14 | 15 | /** 16 | * Combines multiple className strings into one. 17 | * http://jsperf.com/joinclasses-args-vs-array 18 | * 19 | * @param {...?string} classes 20 | * @return {string} 21 | */ 22 | function joinClasses(className /*, ... */) { 23 | if (!className) { 24 | className = ''; 25 | } 26 | var nextClass; 27 | var argLength = arguments.length; 28 | if (argLength > 1) { 29 | for (var ii = 1; ii < argLength; ii++) { 30 | nextClass = arguments[ii]; 31 | if (nextClass) { 32 | className = (className ? className + ' ' : '') + nextClass; 33 | } 34 | } 35 | } 36 | return className; 37 | } 38 | 39 | module.exports = joinClasses; -------------------------------------------------------------------------------- /node_modules/fixed-data-table/internal/nativeRequestAnimationFrame.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule nativeRequestAnimationFrame 10 | */ 11 | 12 | "use strict"; 13 | 14 | var nativeRequestAnimationFrame = global.requestAnimationFrame || global.webkitRequestAnimationFrame || global.mozRequestAnimationFrame || global.oRequestAnimationFrame || global.msRequestAnimationFrame; 15 | 16 | module.exports = nativeRequestAnimationFrame; -------------------------------------------------------------------------------- /node_modules/fixed-data-table/main.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./internal/FixedDataTableRoot'); 2 | -------------------------------------------------------------------------------- /node_modules/react-router/lib/Cancellation.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Represents a cancellation caused by navigating away 3 | * before the previous transition has fully resolved. 4 | */ 5 | "use strict"; 6 | 7 | function Cancellation() {} 8 | 9 | module.exports = Cancellation; -------------------------------------------------------------------------------- /node_modules/react-router/lib/History.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var invariant = require('react/lib/invariant'); 4 | var canUseDOM = require('react/lib/ExecutionEnvironment').canUseDOM; 5 | 6 | var History = { 7 | 8 | /** 9 | * The current number of entries in the history. 10 | * 11 | * Note: This property is read-only. 12 | */ 13 | length: 1, 14 | 15 | /** 16 | * Sends the browser back one entry in the history. 17 | */ 18 | back: function back() { 19 | invariant(canUseDOM, 'Cannot use History.back without a DOM'); 20 | 21 | // Do this first so that History.length will 22 | // be accurate in location change listeners. 23 | History.length -= 1; 24 | 25 | window.history.back(); 26 | } 27 | 28 | }; 29 | 30 | module.exports = History; -------------------------------------------------------------------------------- /node_modules/react-router/lib/PropTypes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var assign = require('react/lib/Object.assign'); 4 | var ReactPropTypes = require('react').PropTypes; 5 | var Route = require('./Route'); 6 | 7 | var PropTypes = assign({}, ReactPropTypes, { 8 | 9 | /** 10 | * Indicates that a prop should be falsy. 11 | */ 12 | falsy: function falsy(props, propName, componentName) { 13 | if (props[propName]) { 14 | return new Error('<' + componentName + '> should not have a "' + propName + '" prop'); 15 | } 16 | }, 17 | 18 | /** 19 | * Indicates that a prop should be a Route object. 20 | */ 21 | route: ReactPropTypes.instanceOf(Route), 22 | 23 | /** 24 | * Indicates that a prop should be a Router object. 25 | */ 26 | //router: ReactPropTypes.instanceOf(Router) // TODO 27 | router: ReactPropTypes.func 28 | 29 | }); 30 | 31 | module.exports = PropTypes; -------------------------------------------------------------------------------- /node_modules/react-router/lib/Redirect.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Encapsulates a redirect to the given route. 3 | */ 4 | "use strict"; 5 | 6 | function Redirect(to, params, query) { 7 | this.to = to; 8 | this.params = params; 9 | this.query = query; 10 | } 11 | 12 | module.exports = Redirect; -------------------------------------------------------------------------------- /node_modules/react-router/lib/actions/LocationActions.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Actions that modify the URL. 3 | */ 4 | 'use strict'; 5 | 6 | var LocationActions = { 7 | 8 | /** 9 | * Indicates a new location is being pushed to the history stack. 10 | */ 11 | PUSH: 'push', 12 | 13 | /** 14 | * Indicates the current location should be replaced. 15 | */ 16 | REPLACE: 'replace', 17 | 18 | /** 19 | * Indicates the most recent entry should be removed from the history stack. 20 | */ 21 | POP: 'pop' 22 | 23 | }; 24 | 25 | module.exports = LocationActions; -------------------------------------------------------------------------------- /node_modules/react-router/lib/behaviors/ImitateBrowserBehavior.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var LocationActions = require('../actions/LocationActions'); 4 | 5 | /** 6 | * A scroll behavior that attempts to imitate the default behavior 7 | * of modern browsers. 8 | */ 9 | var ImitateBrowserBehavior = { 10 | 11 | updateScrollPosition: function updateScrollPosition(position, actionType) { 12 | switch (actionType) { 13 | case LocationActions.PUSH: 14 | case LocationActions.REPLACE: 15 | window.scrollTo(0, 0); 16 | break; 17 | case LocationActions.POP: 18 | if (position) { 19 | window.scrollTo(position.x, position.y); 20 | } else { 21 | window.scrollTo(0, 0); 22 | } 23 | break; 24 | } 25 | } 26 | 27 | }; 28 | 29 | module.exports = ImitateBrowserBehavior; -------------------------------------------------------------------------------- /node_modules/react-router/lib/behaviors/ScrollToTopBehavior.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A scroll behavior that always scrolls to the top of the page 3 | * after a transition. 4 | */ 5 | "use strict"; 6 | 7 | var ScrollToTopBehavior = { 8 | 9 | updateScrollPosition: function updateScrollPosition() { 10 | window.scrollTo(0, 0); 11 | } 12 | 13 | }; 14 | 15 | module.exports = ScrollToTopBehavior; -------------------------------------------------------------------------------- /node_modules/react-router/lib/getWindowScrollPosition.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var invariant = require('react/lib/invariant'); 4 | var canUseDOM = require('react/lib/ExecutionEnvironment').canUseDOM; 5 | 6 | /** 7 | * Returns the current scroll position of the window as { x, y }. 8 | */ 9 | function getWindowScrollPosition() { 10 | invariant(canUseDOM, 'Cannot get current scroll position without a DOM'); 11 | 12 | return { 13 | x: window.pageXOffset || document.documentElement.scrollLeft, 14 | y: window.pageYOffset || document.documentElement.scrollTop 15 | }; 16 | } 17 | 18 | module.exports = getWindowScrollPosition; -------------------------------------------------------------------------------- /node_modules/react-router/lib/isReactChildren.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var React = require('react'); 4 | 5 | function isValidChild(object) { 6 | return object == null || React.isValidElement(object); 7 | } 8 | 9 | function isReactChildren(object) { 10 | return isValidChild(object) || Array.isArray(object) && object.every(isValidChild); 11 | } 12 | 13 | module.exports = isReactChildren; -------------------------------------------------------------------------------- /node_modules/react-router/lib/locations/RefreshLocation.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var HistoryLocation = require('./HistoryLocation'); 4 | var History = require('../History'); 5 | 6 | /** 7 | * A Location that uses full page refreshes. This is used as 8 | * the fallback for HistoryLocation in browsers that do not 9 | * support the HTML5 history API. 10 | */ 11 | var RefreshLocation = { 12 | 13 | push: function push(path) { 14 | window.location = path; 15 | }, 16 | 17 | replace: function replace(path) { 18 | window.location.replace(path); 19 | }, 20 | 21 | pop: History.back, 22 | 23 | getCurrentPath: HistoryLocation.getCurrentPath, 24 | 25 | toString: function toString() { 26 | return ''; 27 | } 28 | 29 | }; 30 | 31 | module.exports = RefreshLocation; -------------------------------------------------------------------------------- /node_modules/react-router/lib/supportsHistory.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function supportsHistory() { 4 | /*! taken from modernizr 5 | * https://github.com/Modernizr/Modernizr/blob/master/LICENSE 6 | * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js 7 | * changed to avoid false negatives for Windows Phones: https://github.com/rackt/react-router/issues/586 8 | */ 9 | var ua = navigator.userAgent; 10 | if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) { 11 | return false; 12 | } 13 | return window.history && 'pushState' in window.history; 14 | } 15 | 16 | module.exports = supportsHistory; -------------------------------------------------------------------------------- /node_modules/react-router/node_modules/object-assign/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function ToObject(val) { 4 | if (val == null) { 5 | throw new TypeError('Object.assign cannot be called with null or undefined'); 6 | } 7 | 8 | return Object(val); 9 | } 10 | 11 | module.exports = Object.assign || function (target, source) { 12 | var from; 13 | var keys; 14 | var to = ToObject(target); 15 | 16 | for (var s = 1; s < arguments.length; s++) { 17 | from = arguments[s]; 18 | keys = Object.keys(Object(from)); 19 | 20 | for (var i = 0; i < keys.length; i++) { 21 | to[keys[i]] = from[keys[i]]; 22 | } 23 | } 24 | 25 | return to; 26 | }; 27 | -------------------------------------------------------------------------------- /node_modules/react-router/node_modules/qs/.jshintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/react-router/node_modules/qs/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "node": true, 3 | 4 | "curly": true, 5 | "latedef": true, 6 | "quotmark": true, 7 | "undef": true, 8 | "unused": true, 9 | "trailing": true 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/react-router/node_modules/qs/.npmignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | npm-debug.log 4 | dump.rdb 5 | node_modules 6 | results.tap 7 | results.xml 8 | npm-shrinkwrap.json 9 | config.json 10 | .DS_Store 11 | */.DS_Store 12 | */*/.DS_Store 13 | ._* 14 | */._* 15 | */*/._* 16 | coverage.* 17 | lib-cov 18 | complexity.md 19 | -------------------------------------------------------------------------------- /node_modules/react-router/node_modules/qs/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - 0.10 5 | - 0.12 6 | - iojs 7 | -------------------------------------------------------------------------------- /node_modules/react-router/node_modules/qs/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Please view our [hapijs contributing guide](https://github.com/hapijs/hapi/blob/master/CONTRIBUTING.md). 2 | -------------------------------------------------------------------------------- /node_modules/react-router/node_modules/qs/Makefile: -------------------------------------------------------------------------------- 1 | test: 2 | @node node_modules/lab/bin/lab -a code -L 3 | test-cov: 4 | @node node_modules/lab/bin/lab -a code -t 100 -L 5 | test-cov-html: 6 | @node node_modules/lab/bin/lab -a code -L -r html -o coverage.html 7 | 8 | .PHONY: test test-cov test-cov-html 9 | -------------------------------------------------------------------------------- /node_modules/react-router/node_modules/qs/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/'); 2 | -------------------------------------------------------------------------------- /node_modules/react-router/node_modules/qs/lib/index.js: -------------------------------------------------------------------------------- 1 | // Load modules 2 | 3 | var Stringify = require('./stringify'); 4 | var Parse = require('./parse'); 5 | 6 | 7 | // Declare internals 8 | 9 | var internals = {}; 10 | 11 | 12 | module.exports = { 13 | stringify: Stringify, 14 | parse: Parse 15 | }; 16 | -------------------------------------------------------------------------------- /node_modules/react/README.md: -------------------------------------------------------------------------------- 1 | # react 2 | 3 | An npm package to get you immediate access to [React](https://facebook.github.io/react/), 4 | without also requiring the JSX transformer. This is especially useful for cases where you 5 | want to [`browserify`](https://github.com/substack/node-browserify) your module using 6 | `React`. 7 | 8 | **Note:** by default, React will be in development mode. The development version includes extra warnings about common mistakes, whereas the production version includes extra performance optimizations and strips all error messages. 9 | 10 | To use React in production mode, set the environment variable `NODE_ENV` to `production`. A minifier that performs dead-code elimination such as [UglifyJS](https://github.com/mishoo/UglifyJS2) is recommended to completely remove the extra code present in development mode. 11 | 12 | ## Example Usage 13 | 14 | ```js 15 | var React = require('react'); 16 | 17 | // You can also access ReactWithAddons. 18 | var React = require('react/addons'); 19 | ``` 20 | 21 | -------------------------------------------------------------------------------- /node_modules/react/addons.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/ReactWithAddons'); 2 | -------------------------------------------------------------------------------- /node_modules/react/lib/AutoFocusMixin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule AutoFocusMixin 10 | * @typechecks static-only 11 | */ 12 | 13 | 'use strict'; 14 | 15 | var focusNode = require("./focusNode"); 16 | 17 | var AutoFocusMixin = { 18 | componentDidMount: function() { 19 | if (this.props.autoFocus) { 20 | focusNode(this.getDOMNode()); 21 | } 22 | } 23 | }; 24 | 25 | module.exports = AutoFocusMixin; 26 | -------------------------------------------------------------------------------- /node_modules/react/lib/ClientReactRootIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ClientReactRootIndex 10 | * @typechecks 11 | */ 12 | 13 | 'use strict'; 14 | 15 | var nextReactRootIndex = 0; 16 | 17 | var ClientReactRootIndex = { 18 | createReactRootIndex: function() { 19 | return nextReactRootIndex++; 20 | } 21 | }; 22 | 23 | module.exports = ClientReactRootIndex; 24 | -------------------------------------------------------------------------------- /node_modules/react/lib/ReactBrowserComponentMixin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactBrowserComponentMixin 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var findDOMNode = require("./findDOMNode"); 15 | 16 | var ReactBrowserComponentMixin = { 17 | /** 18 | * Returns the DOM node rendered by this component. 19 | * 20 | * @return {DOMElement} The root node of this component. 21 | * @final 22 | * @protected 23 | */ 24 | getDOMNode: function() { 25 | return findDOMNode(this); 26 | } 27 | }; 28 | 29 | module.exports = ReactBrowserComponentMixin; 30 | -------------------------------------------------------------------------------- /node_modules/react/lib/ReactCurrentOwner.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactCurrentOwner 10 | */ 11 | 12 | 'use strict'; 13 | 14 | /** 15 | * Keeps track of the current owner. 16 | * 17 | * The current owner is the component who should own any components that are 18 | * currently being constructed. 19 | * 20 | * The depth indicate how many composite components are above this render level. 21 | */ 22 | var ReactCurrentOwner = { 23 | 24 | /** 25 | * @internal 26 | * @type {ReactComponent} 27 | */ 28 | current: null 29 | 30 | }; 31 | 32 | module.exports = ReactCurrentOwner; 33 | -------------------------------------------------------------------------------- /node_modules/react/lib/ReactErrorUtils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactErrorUtils 10 | * @typechecks 11 | */ 12 | 13 | "use strict"; 14 | 15 | var ReactErrorUtils = { 16 | /** 17 | * Creates a guarded version of a function. This is supposed to make debugging 18 | * of event handlers easier. To aid debugging with the browser's debugger, 19 | * this currently simply returns the original function. 20 | * 21 | * @param {function} func Function to be executed 22 | * @param {string} name The name of the guard 23 | * @return {function} 24 | */ 25 | guard: function(func, name) { 26 | return func; 27 | } 28 | }; 29 | 30 | module.exports = ReactErrorUtils; 31 | -------------------------------------------------------------------------------- /node_modules/react/lib/ReactMultiChildUpdateTypes.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactMultiChildUpdateTypes 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var keyMirror = require("./keyMirror"); 15 | 16 | /** 17 | * When a component's children are updated, a series of update configuration 18 | * objects are created in order to batch and serialize the required changes. 19 | * 20 | * Enumerates all the possible types of update configurations. 21 | * 22 | * @internal 23 | */ 24 | var ReactMultiChildUpdateTypes = keyMirror({ 25 | INSERT_MARKUP: null, 26 | MOVE_EXISTING: null, 27 | REMOVE_NODE: null, 28 | TEXT_CONTENT: null 29 | }); 30 | 31 | module.exports = ReactMultiChildUpdateTypes; 32 | -------------------------------------------------------------------------------- /node_modules/react/lib/ReactPropTypeLocationNames.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactPropTypeLocationNames 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var ReactPropTypeLocationNames = {}; 15 | 16 | if ("production" !== process.env.NODE_ENV) { 17 | ReactPropTypeLocationNames = { 18 | prop: 'prop', 19 | context: 'context', 20 | childContext: 'child context' 21 | }; 22 | } 23 | 24 | module.exports = ReactPropTypeLocationNames; 25 | -------------------------------------------------------------------------------- /node_modules/react/lib/ReactPropTypeLocations.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactPropTypeLocations 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var keyMirror = require("./keyMirror"); 15 | 16 | var ReactPropTypeLocations = keyMirror({ 17 | prop: null, 18 | context: null, 19 | childContext: null 20 | }); 21 | 22 | module.exports = ReactPropTypeLocations; 23 | -------------------------------------------------------------------------------- /node_modules/react/lib/ReactRootIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactRootIndex 10 | * @typechecks 11 | */ 12 | 13 | 'use strict'; 14 | 15 | var ReactRootIndexInjection = { 16 | /** 17 | * @param {function} _createReactRootIndex 18 | */ 19 | injectCreateReactRootIndex: function(_createReactRootIndex) { 20 | ReactRootIndex.createReactRootIndex = _createReactRootIndex; 21 | } 22 | }; 23 | 24 | var ReactRootIndex = { 25 | createReactRootIndex: null, 26 | injection: ReactRootIndexInjection 27 | }; 28 | 29 | module.exports = ReactRootIndex; 30 | -------------------------------------------------------------------------------- /node_modules/react/lib/ServerReactRootIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ServerReactRootIndex 10 | * @typechecks 11 | */ 12 | 13 | 'use strict'; 14 | 15 | /** 16 | * Size of the reactRoot ID space. We generate random numbers for React root 17 | * IDs and if there's a collision the events and DOM update system will 18 | * get confused. In the future we need a way to generate GUIDs but for 19 | * now this will work on a smaller scale. 20 | */ 21 | var GLOBAL_MOUNT_POINT_MAX = Math.pow(2, 53); 22 | 23 | var ServerReactRootIndex = { 24 | createReactRootIndex: function() { 25 | return Math.ceil(Math.random() * GLOBAL_MOUNT_POINT_MAX); 26 | } 27 | }; 28 | 29 | module.exports = ServerReactRootIndex; 30 | -------------------------------------------------------------------------------- /node_modules/react/lib/ViewportMetrics.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ViewportMetrics 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var ViewportMetrics = { 15 | 16 | currentScrollLeft: 0, 17 | 18 | currentScrollTop: 0, 19 | 20 | refreshScrollValues: function(scrollPosition) { 21 | ViewportMetrics.currentScrollLeft = scrollPosition.x; 22 | ViewportMetrics.currentScrollTop = scrollPosition.y; 23 | } 24 | 25 | }; 26 | 27 | module.exports = ViewportMetrics; 28 | -------------------------------------------------------------------------------- /node_modules/react/lib/adler32.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule adler32 10 | */ 11 | 12 | /* jslint bitwise:true */ 13 | 14 | 'use strict'; 15 | 16 | var MOD = 65521; 17 | 18 | // This is a clean-room implementation of adler32 designed for detecting 19 | // if markup is not what we expect it to be. It does not need to be 20 | // cryptographically strong, only reasonably good at detecting if markup 21 | // generated on the server is different than that on the client. 22 | function adler32(data) { 23 | var a = 1; 24 | var b = 0; 25 | for (var i = 0; i < data.length; i++) { 26 | a = (a + data.charCodeAt(i)) % MOD; 27 | b = (b + a) % MOD; 28 | } 29 | return a | (b << 16); 30 | } 31 | 32 | module.exports = adler32; 33 | -------------------------------------------------------------------------------- /node_modules/react/lib/camelize.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule camelize 10 | * @typechecks 11 | */ 12 | 13 | var _hyphenPattern = /-(.)/g; 14 | 15 | /** 16 | * Camelcases a hyphenated string, for example: 17 | * 18 | * > camelize('background-color') 19 | * < "backgroundColor" 20 | * 21 | * @param {string} string 22 | * @return {string} 23 | */ 24 | function camelize(string) { 25 | return string.replace(_hyphenPattern, function(_, character) { 26 | return character.toUpperCase(); 27 | }); 28 | } 29 | 30 | module.exports = camelize; 31 | -------------------------------------------------------------------------------- /node_modules/react/lib/emptyObject.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule emptyObject 10 | */ 11 | 12 | "use strict"; 13 | 14 | var emptyObject = {}; 15 | 16 | if ("production" !== process.env.NODE_ENV) { 17 | Object.freeze(emptyObject); 18 | } 19 | 20 | module.exports = emptyObject; 21 | -------------------------------------------------------------------------------- /node_modules/react/lib/escapeTextContentForBrowser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule escapeTextContentForBrowser 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var ESCAPE_LOOKUP = { 15 | '&': '&', 16 | '>': '>', 17 | '<': '<', 18 | '"': '"', 19 | '\'': ''' 20 | }; 21 | 22 | var ESCAPE_REGEX = /[&><"']/g; 23 | 24 | function escaper(match) { 25 | return ESCAPE_LOOKUP[match]; 26 | } 27 | 28 | /** 29 | * Escapes text to prevent scripting attacks. 30 | * 31 | * @param {*} text Text value to escape. 32 | * @return {string} An escaped string. 33 | */ 34 | function escapeTextContentForBrowser(text) { 35 | return ('' + text).replace(ESCAPE_REGEX, escaper); 36 | } 37 | 38 | module.exports = escapeTextContentForBrowser; 39 | -------------------------------------------------------------------------------- /node_modules/react/lib/focusNode.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2014-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule focusNode 10 | */ 11 | 12 | "use strict"; 13 | 14 | /** 15 | * @param {DOMElement} node input/textarea to focus 16 | */ 17 | function focusNode(node) { 18 | // IE8 can throw "Can't move focus to the control because it is invisible, 19 | // not enabled, or of a type that does not accept the focus." for all kinds of 20 | // reasons that are too expensive and fragile to test. 21 | try { 22 | node.focus(); 23 | } catch(e) { 24 | } 25 | } 26 | 27 | module.exports = focusNode; 28 | -------------------------------------------------------------------------------- /node_modules/react/lib/forEachAccumulated.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule forEachAccumulated 10 | */ 11 | 12 | 'use strict'; 13 | 14 | /** 15 | * @param {array} an "accumulation" of items which is either an Array or 16 | * a single item. Useful when paired with the `accumulate` module. This is a 17 | * simple utility that allows us to reason about a collection of items, but 18 | * handling the case when there is exactly one item (and we do not need to 19 | * allocate an array). 20 | */ 21 | var forEachAccumulated = function(arr, cb, scope) { 22 | if (Array.isArray(arr)) { 23 | arr.forEach(cb, scope); 24 | } else if (arr) { 25 | cb.call(scope, arr); 26 | } 27 | }; 28 | 29 | module.exports = forEachAccumulated; 30 | -------------------------------------------------------------------------------- /node_modules/react/lib/getActiveElement.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule getActiveElement 10 | * @typechecks 11 | */ 12 | 13 | /** 14 | * Same as document.activeElement but wraps in a try-catch block. In IE it is 15 | * not safe to call document.activeElement if there is nothing focused. 16 | * 17 | * The activeElement will be null only if the document body is not yet defined. 18 | */ 19 | function getActiveElement() /*?DOMElement*/ { 20 | try { 21 | return document.activeElement || document.body; 22 | } catch (e) { 23 | return document.body; 24 | } 25 | } 26 | 27 | module.exports = getActiveElement; 28 | -------------------------------------------------------------------------------- /node_modules/react/lib/getEventTarget.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule getEventTarget 10 | * @typechecks static-only 11 | */ 12 | 13 | 'use strict'; 14 | 15 | /** 16 | * Gets the target node from a native browser event by accounting for 17 | * inconsistencies in browser DOM APIs. 18 | * 19 | * @param {object} nativeEvent Native browser event. 20 | * @return {DOMEventTarget} Target node. 21 | */ 22 | function getEventTarget(nativeEvent) { 23 | var target = nativeEvent.target || nativeEvent.srcElement || window; 24 | // Safari may fire events on text nodes (Node.TEXT_NODE is 3). 25 | // @see http://www.quirksmode.org/js/events_properties.html 26 | return target.nodeType === 3 ? target.parentNode : target; 27 | } 28 | 29 | module.exports = getEventTarget; 30 | -------------------------------------------------------------------------------- /node_modules/react/lib/getReactRootElementInContainer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule getReactRootElementInContainer 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var DOC_NODE_TYPE = 9; 15 | 16 | /** 17 | * @param {DOMElement|DOMDocument} container DOM element that may contain 18 | * a React component 19 | * @return {?*} DOM element that may have the reactRoot ID, or null. 20 | */ 21 | function getReactRootElementInContainer(container) { 22 | if (!container) { 23 | return null; 24 | } 25 | 26 | if (container.nodeType === DOC_NODE_TYPE) { 27 | return container.documentElement; 28 | } else { 29 | return container.firstChild; 30 | } 31 | } 32 | 33 | module.exports = getReactRootElementInContainer; 34 | -------------------------------------------------------------------------------- /node_modules/react/lib/hyphenate.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule hyphenate 10 | * @typechecks 11 | */ 12 | 13 | var _uppercasePattern = /([A-Z])/g; 14 | 15 | /** 16 | * Hyphenates a camelcased string, for example: 17 | * 18 | * > hyphenate('backgroundColor') 19 | * < "background-color" 20 | * 21 | * For CSS style names, use `hyphenateStyleName` instead which works properly 22 | * with all vendor prefixes, including `ms`. 23 | * 24 | * @param {string} string 25 | * @return {string} 26 | */ 27 | function hyphenate(string) { 28 | return string.replace(_uppercasePattern, '-$1').toLowerCase(); 29 | } 30 | 31 | module.exports = hyphenate; 32 | -------------------------------------------------------------------------------- /node_modules/react/lib/isNode.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule isNode 10 | * @typechecks 11 | */ 12 | 13 | /** 14 | * @param {*} object The object to check. 15 | * @return {boolean} Whether or not the object is a DOM node. 16 | */ 17 | function isNode(object) { 18 | return !!(object && ( 19 | ((typeof Node === 'function' ? object instanceof Node : typeof object === 'object' && 20 | typeof object.nodeType === 'number' && 21 | typeof object.nodeName === 'string')) 22 | )); 23 | } 24 | 25 | module.exports = isNode; 26 | -------------------------------------------------------------------------------- /node_modules/react/lib/isTextNode.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule isTextNode 10 | * @typechecks 11 | */ 12 | 13 | var isNode = require("./isNode"); 14 | 15 | /** 16 | * @param {*} object The object to check. 17 | * @return {boolean} Whether or not the object is a DOM text node. 18 | */ 19 | function isTextNode(object) { 20 | return isNode(object) && object.nodeType == 3; 21 | } 22 | 23 | module.exports = isTextNode; 24 | -------------------------------------------------------------------------------- /node_modules/react/lib/joinClasses.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule joinClasses 10 | * @typechecks static-only 11 | */ 12 | 13 | 'use strict'; 14 | 15 | /** 16 | * Combines multiple className strings into one. 17 | * http://jsperf.com/joinclasses-args-vs-array 18 | * 19 | * @param {...?string} classes 20 | * @return {string} 21 | */ 22 | function joinClasses(className/*, ... */) { 23 | if (!className) { 24 | className = ''; 25 | } 26 | var nextClass; 27 | var argLength = arguments.length; 28 | if (argLength > 1) { 29 | for (var ii = 1; ii < argLength; ii++) { 30 | nextClass = arguments[ii]; 31 | if (nextClass) { 32 | className = (className ? className + ' ' : '') + nextClass; 33 | } 34 | } 35 | } 36 | return className; 37 | } 38 | 39 | module.exports = joinClasses; 40 | -------------------------------------------------------------------------------- /node_modules/react/lib/memoizeStringOnly.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule memoizeStringOnly 10 | * @typechecks static-only 11 | */ 12 | 13 | 'use strict'; 14 | 15 | /** 16 | * Memoizes the return value of a function that accepts one string argument. 17 | * 18 | * @param {function} callback 19 | * @return {function} 20 | */ 21 | function memoizeStringOnly(callback) { 22 | var cache = {}; 23 | return function(string) { 24 | if (!cache.hasOwnProperty(string)) { 25 | cache[string] = callback.call(this, string); 26 | } 27 | return cache[string]; 28 | }; 29 | } 30 | 31 | module.exports = memoizeStringOnly; 32 | -------------------------------------------------------------------------------- /node_modules/react/lib/performance.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule performance 10 | * @typechecks 11 | */ 12 | 13 | "use strict"; 14 | 15 | var ExecutionEnvironment = require("./ExecutionEnvironment"); 16 | 17 | var performance; 18 | 19 | if (ExecutionEnvironment.canUseDOM) { 20 | performance = 21 | window.performance || 22 | window.msPerformance || 23 | window.webkitPerformance; 24 | } 25 | 26 | module.exports = performance || {}; 27 | -------------------------------------------------------------------------------- /node_modules/react/lib/performanceNow.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule performanceNow 10 | * @typechecks 11 | */ 12 | 13 | var performance = require("./performance"); 14 | 15 | /** 16 | * Detect if we can use `window.performance.now()` and gracefully fallback to 17 | * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now 18 | * because of Facebook's testing infrastructure. 19 | */ 20 | if (!performance || !performance.now) { 21 | performance = Date; 22 | } 23 | 24 | var performanceNow = performance.now.bind(performance); 25 | 26 | module.exports = performanceNow; 27 | -------------------------------------------------------------------------------- /node_modules/react/lib/quoteAttributeValueForBrowser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule quoteAttributeValueForBrowser 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var escapeTextContentForBrowser = require("./escapeTextContentForBrowser"); 15 | 16 | /** 17 | * Escapes attribute value to prevent scripting attacks. 18 | * 19 | * @param {*} value Value to escape. 20 | * @return {string} An escaped string. 21 | */ 22 | function quoteAttributeValueForBrowser(value) { 23 | return '"' + escapeTextContentForBrowser(value) + '"'; 24 | } 25 | 26 | module.exports = quoteAttributeValueForBrowser; 27 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/.bin/envify: -------------------------------------------------------------------------------- 1 | ../envify/bin/envify -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/.npmignore: -------------------------------------------------------------------------------- 1 | test.js 2 | .travis.yml 3 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/bin/envify: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var envify = require('../') 4 | , fs = require('fs') 5 | 6 | if (process.argv[2]) { 7 | fs.createReadStream(process.argv[2], { encoding: 'utf8' }) 8 | .pipe(envify(process.argv[2])) 9 | .pipe(process.stdout) 10 | } else { 11 | process.stdin.resume() 12 | process.stdin 13 | .pipe(envify(__filename)) 14 | .pipe(process.stdout) 15 | } 16 | 17 | 18 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/custom.js: -------------------------------------------------------------------------------- 1 | var through = require('through') 2 | , jstransform = require('jstransform') 3 | , createVisitors = require('./visitors') 4 | 5 | var processEnvPattern = /\bprocess\.env\b/ 6 | 7 | module.exports = function(rootEnv) { 8 | rootEnv = rootEnv || process.env || {} 9 | 10 | return function envify(file, argv) { 11 | if (/\.json$/.test(file)) return through() 12 | 13 | var buffer = [] 14 | argv = argv || {} 15 | 16 | return through(write, flush) 17 | 18 | function write(data) { 19 | buffer.push(data) 20 | } 21 | 22 | function flush() { 23 | var source = buffer.join('') 24 | 25 | if (processEnvPattern.test(source)) { 26 | try { 27 | var visitors = createVisitors([argv, rootEnv]) 28 | source = jstransform.transform(visitors, source).code 29 | } catch(err) { 30 | return this.emit('error', err) 31 | } 32 | } 33 | 34 | this.queue(source) 35 | this.queue(null) 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./custom')(process.env) 2 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "devel": false, 5 | "eqnull": false, 6 | "esnext": true, 7 | "expr": true, 8 | "funcscope": true, 9 | "globals": { 10 | "afterEach": true, 11 | "beforeEach": true, 12 | "describe": true, 13 | "expect": true, 14 | "it": true, 15 | "jest": true 16 | }, 17 | "globalstrict": false, 18 | "laxbreak": true, 19 | "loopfunc": false, 20 | "newcap": true, 21 | "node": true, 22 | "noempty": true, 23 | "nonstandard": false, 24 | "onecase": false, 25 | "trailing": true, 26 | "undef": true, 27 | "unused": "vars" 28 | } 29 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_STORE 2 | node_modules 3 | *.swp 4 | *~ 5 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | # Because of package.json dependency versions that start with '^', it's not 5 | # possible to `npm install` using the version of npm packaged with node 0.8 6 | # As a result, travis *always* fails for 0.8 now -- and thus it's not possible 7 | # to test jstransform on 0.8 with Travis CI :( 8 | # - "0.8" 9 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/jestEnvironment.js: -------------------------------------------------------------------------------- 1 | require.requireActual('./polyfill/Object.es6.js'); 2 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/jestPreprocessor.js: -------------------------------------------------------------------------------- 1 | var jstransform = require('./src/jstransform'); 2 | var arrowFuncVisitors = require('./visitors/es6-arrow-function-visitors'); 3 | var restParamVisitors = require('./visitors/es6-rest-param-visitors'); 4 | var es7SpreadPropertyVisitors = require('./visitors/es7-spread-property-visitors'); 5 | 6 | exports.process = function(sourceText, sourcePath) { 7 | return jstransform.transform( 8 | arrowFuncVisitors.visitorList 9 | .concat(restParamVisitors.visitorList) 10 | .concat(es7SpreadPropertyVisitors.visitorList), 11 | sourceText 12 | ).code; 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/.bin/esparse: -------------------------------------------------------------------------------- 1 | ../esprima-fb/bin/esparse.js -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/.bin/esvalidate: -------------------------------------------------------------------------------- 1 | ../esprima-fb/bin/esvalidate.js -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/Readme.md: -------------------------------------------------------------------------------- 1 | # Base62.js 2 | [![build status](https://secure.travis-ci.org/andrew/base62.js.png)](http://travis-ci.org/andrew/base62.js) 3 | 4 | A javascript Base62 encode/decoder for node.js 5 | 6 | ## Install 7 | 8 | npm install base62 9 | 10 | ## Usage 11 | 12 | Base62 = require('base62') 13 | Base62.encode(999) // 'g7' 14 | Base62.decode('g7') // 999 15 | 16 | ## Development 17 | 18 | Source hosted at [GitHub](http://github.com/andrew/base62.js). 19 | Report Issues/Feature requests on [GitHub Issues](http://github.com/andrew/split/base62.js). 20 | 21 | ### Note on Patches/Pull Requests 22 | 23 | * Fork the project. 24 | * Make your feature addition or bug fix. 25 | * Add tests for it. This is important so I don't break it in a future version unintentionally. 26 | * Send me a pull request. Bonus points for topic branches. 27 | 28 | ## Copyright 29 | 30 | Copyright (c) 2012 Andrew Nesbitt. See [LICENSE](https://github.com/andrew/base62.js/blob/master/LICENSE) for details. 31 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/base62.js: -------------------------------------------------------------------------------- 1 | var Base62 = (function (my) { 2 | my.chars = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] 3 | 4 | my.encode = function(i){ 5 | if (i === 0) {return '0'} 6 | var s = '' 7 | while (i > 0) { 8 | s = this.chars[i % 62] + s 9 | i = Math.floor(i/62) 10 | } 11 | return s 12 | }; 13 | my.decode = function(a,b,c,d){ 14 | for ( 15 | b = c = ( 16 | a === (/\W|_|^$/.test(a += "") || a) 17 | ) - 1; 18 | d = a.charCodeAt(c++); 19 | ) 20 | b = b * 62 + d - [, 48, 29, 87][d >> 5]; 21 | return b 22 | }; 23 | 24 | return my; 25 | }({})); 26 | 27 | module.exports = Base62 -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/test/test.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert') 2 | var Base62 = require('../base62') 3 | 4 | describe("encode", function() { 5 | it("should encode a number to a Base62 string", function() { 6 | assert.equal(Base62.encode(999), 'g7') 7 | }); 8 | }); 9 | 10 | describe("decode", function() { 11 | it("should decode a number from a Base62 string", function() { 12 | assert.equal(Base62.decode('g7'), 999) 13 | }); 14 | }); -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/.npmignore: -------------------------------------------------------------------------------- 1 | dist/* 2 | node_modules/* 3 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - "0.10" -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/prefix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | /////////////////////////////////////////////////////////////////////////////// 16 | 17 | 18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; 19 | 20 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 21 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/prefix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); 17 | 18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; 19 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/suffix-browser.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.sourceMap = { 5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, 6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, 7 | SourceNode: require('source-map/source-node').SourceNode 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/suffix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; 5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; 6 | this.SourceNode = require('source-map/source-node').SourceNode; 7 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/suffix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | function runSourceMapTests(modName, do_throw) { 8 | let mod = require(modName); 9 | let assert = require('test/source-map/assert'); 10 | let util = require('test/source-map/util'); 11 | 12 | assert.init(do_throw); 13 | 14 | for (let k in mod) { 15 | if (/^test/.test(k)) { 16 | mod[k](assert, util); 17 | } 18 | } 19 | 20 | } 21 | this.runSourceMapTests = runSourceMapTests; 22 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/test-prefix.js: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING! 3 | * 4 | * Do not edit this file directly, it is built from the sources at 5 | * https://github.com/mozilla/source-map/ 6 | */ 7 | 8 | Components.utils.import('resource://test/Utils.jsm'); 9 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/test-suffix.js: -------------------------------------------------------------------------------- 1 | function run_test() { 2 | runSourceMapTests('{THIS_MODULE}', do_throw); 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2009-2011 Mozilla Foundation and contributors 3 | * Licensed under the New BSD license. See LICENSE.txt or: 4 | * http://opensource.org/licenses/BSD-3-Clause 5 | */ 6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; 7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; 8 | exports.SourceNode = require('./source-map/source-node').SourceNode; 9 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-api.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2012 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | if (typeof define !== 'function') { 8 | var define = require('amdefine')(module, require); 9 | } 10 | define(function (require, exports, module) { 11 | 12 | var sourceMap; 13 | try { 14 | sourceMap = require('../../lib/source-map'); 15 | } catch (e) { 16 | sourceMap = {}; 17 | Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); 18 | } 19 | 20 | exports['test that the api is properly exposed in the top level'] = function (assert, util) { 21 | assert.equal(typeof sourceMap.SourceMapGenerator, "function"); 22 | assert.equal(typeof sourceMap.SourceMapConsumer, "function"); 23 | assert.equal(typeof sourceMap.SourceNode, "function"); 24 | }; 25 | 26 | }); 27 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-base64-vlq.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | if (typeof define !== 'function') { 8 | var define = require('amdefine')(module, require); 9 | } 10 | define(function (require, exports, module) { 11 | 12 | var base64VLQ = require('../../lib/source-map/base64-vlq'); 13 | 14 | exports['test normal encoding and decoding'] = function (assert, util) { 15 | var result; 16 | for (var i = -255; i < 256; i++) { 17 | result = base64VLQ.decode(base64VLQ.encode(i)); 18 | assert.ok(result); 19 | assert.equal(result.value, i); 20 | assert.equal(result.rest, ""); 21 | } 22 | }; 23 | 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/through/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 5 | - "0.10" 6 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/through/LICENSE.APACHE2: -------------------------------------------------------------------------------- 1 | Apache License, Version 2.0 2 | 3 | Copyright (c) 2011 Dominic Tarr 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/through/test/async.js: -------------------------------------------------------------------------------- 1 | var from = require('from') 2 | var through = require('../') 3 | 4 | var tape = require('tape') 5 | 6 | tape('simple async example', function (t) { 7 | 8 | var n = 0, expected = [1,2,3,4,5], actual = [] 9 | from(expected) 10 | .pipe(through(function(data) { 11 | this.pause() 12 | n ++ 13 | setTimeout(function(){ 14 | console.log('pushing data', data) 15 | this.push(data) 16 | this.resume() 17 | }.bind(this), 300) 18 | })).pipe(through(function(data) { 19 | console.log('pushing data second time', data); 20 | this.push(data) 21 | })).on('data', function (d) { 22 | actual.push(d) 23 | }).on('end', function() { 24 | t.deepEqual(actual, expected) 25 | t.end() 26 | }) 27 | 28 | }) 29 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/through/test/auto-destroy.js: -------------------------------------------------------------------------------- 1 | var test = require('tape') 2 | var through = require('../') 3 | 4 | // must emit end before close. 5 | 6 | test('end before close', function (assert) { 7 | var ts = through() 8 | ts.autoDestroy = false 9 | var ended = false, closed = false 10 | 11 | ts.on('end', function () { 12 | assert.ok(!closed) 13 | ended = true 14 | }) 15 | ts.on('close', function () { 16 | assert.ok(ended) 17 | closed = true 18 | }) 19 | 20 | ts.write(1) 21 | ts.write(2) 22 | ts.write(3) 23 | ts.end() 24 | assert.ok(ended) 25 | assert.notOk(closed) 26 | ts.destroy() 27 | assert.ok(closed) 28 | assert.end() 29 | }) 30 | 31 | -------------------------------------------------------------------------------- /node_modules/react/node_modules/envify/node_modules/through/test/end.js: -------------------------------------------------------------------------------- 1 | var test = require('tape') 2 | var through = require('../') 3 | 4 | // must emit end before close. 5 | 6 | test('end before close', function (assert) { 7 | var ts = through() 8 | var ended = false, closed = false 9 | 10 | ts.on('end', function () { 11 | assert.ok(!closed) 12 | ended = true 13 | }) 14 | ts.on('close', function () { 15 | assert.ok(ended) 16 | closed = true 17 | }) 18 | 19 | ts.write(1) 20 | ts.write(2) 21 | ts.write(3) 22 | ts.end() 23 | assert.ok(ended) 24 | assert.ok(closed) 25 | assert.end() 26 | }) 27 | 28 | test('end only once', function (t) { 29 | 30 | var ts = through() 31 | var ended = false, closed = false 32 | 33 | ts.on('end', function () { 34 | t.equal(ended, false) 35 | ended = true 36 | }) 37 | 38 | ts.queue(null) 39 | ts.queue(null) 40 | ts.queue(null) 41 | 42 | ts.resume() 43 | 44 | t.end() 45 | }) 46 | -------------------------------------------------------------------------------- /node_modules/react/react.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/React'); 2 | -------------------------------------------------------------------------------- /node_modules/reactify/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "undef": true, 3 | "unused": "vars", 4 | "asi": true, 5 | "expr": true, 6 | "globalstrict": true, 7 | "globals": { 8 | "window": false, 9 | "Buffer": false, 10 | "require": false, 11 | "process": false, 12 | "module": false, 13 | "exports": false, 14 | "console": false, 15 | "document": false, 16 | "setTimeout": false 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /node_modules/reactify/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | node_modules/ 3 | docs/build 4 | docs/noisy 5 | -------------------------------------------------------------------------------- /node_modules/reactify/Makefile: -------------------------------------------------------------------------------- 1 | BIN := ./node_modules/.bin 2 | 3 | install link: 4 | @npm $@ 5 | 6 | lint: 7 | @$(BIN)/jshint index.js 8 | 9 | test:: 10 | @$(BIN)/mocha -b -R spec ./test/*.js 11 | 12 | release-patch: test 13 | @$(call release,patch) 14 | 15 | release-minor: test 16 | @$(call release,minor) 17 | 18 | release-major: test 19 | @$(call release,major) 20 | 21 | publish: 22 | git push --tags origin HEAD:master 23 | npm publish 24 | 25 | define release 26 | npm version $(1) 27 | endef 28 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/.bin/jsx: -------------------------------------------------------------------------------- 1 | ../react-tools/bin/jsx -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/.bin/commonize: -------------------------------------------------------------------------------- 1 | ../commoner/bin/commonize -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test/output 3 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.11" 4 | - "0.10" 5 | - "0.8" 6 | before_install: 7 | - npm install -g npm@2.1.10 8 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/bin/commonize: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require("commoner").resolve(function(id) { 4 | var context = this; 5 | 6 | return context.getProvidedP().then(function(idToPath) { 7 | // If a module declares its own identifier using @providesModule 8 | // then that identifier will be a key in the idToPath object. 9 | if (idToPath.hasOwnProperty(id)) 10 | return context.readFileP(idToPath[id]); 11 | }); 12 | 13 | }, function(id) { 14 | // Otherwise assume the identifier maps directly to a filesystem path. 15 | return this.readModuleP(id); 16 | 17 | }).process(function(id, source) { 18 | // As a simple example of a processing step, make sure the file ends 19 | // with exactly one newline character. 20 | return source.replace(/\s+$/m, "\n"); 21 | }); 22 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/main.js: -------------------------------------------------------------------------------- 1 | var path = require("path"); 2 | var Commoner = require("./lib/commoner").Commoner; 3 | exports.Commoner = Commoner; 4 | 5 | function defCallback(name) { 6 | exports[name] = function() { 7 | var commoner = new Commoner; 8 | commoner[name].apply(commoner, arguments); 9 | commoner.cliBuildP(); 10 | return commoner; 11 | }; 12 | } 13 | 14 | defCallback("version"); 15 | defCallback("resolve"); 16 | defCallback("process"); 17 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/.bin/mkdirp: -------------------------------------------------------------------------------- 1 | ../mkdirp/bin/cmd.js -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/inflight/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env" : { 3 | "node" : true 4 | }, 5 | "rules" : { 6 | "semi": [2, "never"], 7 | "strict": 0, 8 | "quotes": [1, "single", "avoid-escape"], 9 | "no-use-before-define": 0, 10 | "curly": 0, 11 | "no-underscore-dangle": 0, 12 | "no-lonely-if": 1, 13 | "no-unused-vars": [2, {"vars" : "all", "args" : "after-used"}], 14 | "no-mixed-requires": 0, 15 | "space-infix-ops": 0 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/inflight/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md: -------------------------------------------------------------------------------- 1 | # wrappy 2 | 3 | Callback wrapping utility 4 | 5 | ## USAGE 6 | 7 | ```javascript 8 | var wrappy = require("wrappy") 9 | 10 | // var wrapper = wrappy(wrapperFunction) 11 | 12 | // make sure a cb is called only once 13 | // See also: http://npm.im/once for this specific use case 14 | var once = wrappy(function (cb) { 15 | var called = false 16 | return function () { 17 | if (called) return 18 | called = true 19 | return cb.apply(this, arguments) 20 | } 21 | }) 22 | 23 | function printBoo () { 24 | console.log('boo') 25 | } 26 | // has some rando property 27 | printBoo.iAmBooPrinter = true 28 | 29 | var onlyPrintOnce = once(printBoo) 30 | 31 | onlyPrintOnce() // prints 'boo' 32 | onlyPrintOnce() // does nothing 33 | 34 | // random property is retained! 35 | assert.equal(onlyPrintOnce.iAmBooPrinter, true) 36 | ``` 37 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | module.exports = require('util').inherits 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/inherits/test.js: -------------------------------------------------------------------------------- 1 | var inherits = require('./inherits.js') 2 | var assert = require('assert') 3 | 4 | function test(c) { 5 | assert(c.constructor === Child) 6 | assert(c.constructor.super_ === Parent) 7 | assert(Object.getPrototypeOf(c) === Child.prototype) 8 | assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype) 9 | assert(c instanceof Child) 10 | assert(c instanceof Parent) 11 | } 12 | 13 | function Child() { 14 | Parent.call(this) 15 | test(this) 16 | } 17 | 18 | function Parent() {} 19 | 20 | inherits(Child, Parent) 21 | 22 | var c = new Child 23 | test(c) 24 | 25 | console.log('ok') 26 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 4 | - 0.11 5 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '0.8' 4 | - '0.10' 5 | - '0.12' 6 | - 'iojs' 7 | before_install: 8 | - npm install -g npm@latest 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # Authors, sorted by whether or not they are me 2 | Isaac Z. Schlueter 3 | Brian Cottingham 4 | Carlos Brito Lage 5 | Jesse Dailey 6 | Kevin O'Hara 7 | Marco Rogers 8 | Mark Cavage 9 | Marko Mikulicic 10 | Nathan Rajlich 11 | Satheesh Natesan 12 | Trent Mick 13 | ashleybrener 14 | n4kz 15 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/node_modules/sigmund/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/node_modules/sigmund/test/basic.js: -------------------------------------------------------------------------------- 1 | var test = require('tap').test 2 | var sigmund = require('../sigmund.js') 3 | 4 | 5 | // occasionally there are duplicates 6 | // that's an acceptable edge-case. JSON.stringify and util.inspect 7 | // have some collision potential as well, though less, and collision 8 | // detection is expensive. 9 | var hash = '{abc/def/g{0h1i2{jkl' 10 | var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]} 11 | var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']} 12 | 13 | var obj3 = JSON.parse(JSON.stringify(obj1)) 14 | obj3.c = /def/ 15 | obj3.g[2].cycle = obj3 16 | var cycleHash = '{abc/def/g{0h1i2{jklcycle' 17 | 18 | test('basic', function (t) { 19 | t.equal(sigmund(obj1), hash) 20 | t.equal(sigmund(obj2), hash) 21 | t.equal(sigmund(obj3), cycleHash) 22 | t.end() 23 | }) 24 | 25 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/test/brace-expand.js: -------------------------------------------------------------------------------- 1 | var tap = require("tap") 2 | , minimatch = require("../") 3 | 4 | tap.test("brace expansion", function (t) { 5 | // [ pattern, [expanded] ] 6 | ; [ [ "a{b,c{d,e},{f,g}h}x{y,z}" 7 | , [ "abxy" 8 | , "abxz" 9 | , "acdxy" 10 | , "acdxz" 11 | , "acexy" 12 | , "acexz" 13 | , "afhxy" 14 | , "afhxz" 15 | , "aghxy" 16 | , "aghxz" ] ] 17 | , [ "a{1..5}b" 18 | , [ "a1b" 19 | , "a2b" 20 | , "a3b" 21 | , "a4b" 22 | , "a5b" ] ] 23 | , [ "a{b}c", ["a{b}c"] ] 24 | , [ "a{00..05}b" 25 | , ["a00b" 26 | ,"a01b" 27 | ,"a02b" 28 | ,"a03b" 29 | ,"a04b" 30 | ,"a05b" ] ] 31 | ].forEach(function (tc) { 32 | var p = tc[0] 33 | , expect = tc[1] 34 | t.equivalent(minimatch.braceExpand(p), expect, p) 35 | }) 36 | console.error("ending") 37 | t.end() 38 | }) 39 | 40 | 41 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/test/caching.js: -------------------------------------------------------------------------------- 1 | var Minimatch = require("../minimatch.js").Minimatch 2 | var tap = require("tap") 3 | tap.test("cache test", function (t) { 4 | var mm1 = new Minimatch("a?b") 5 | var mm2 = new Minimatch("a?b") 6 | t.equal(mm1, mm2, "should get the same object") 7 | // the lru should drop it after 100 entries 8 | for (var i = 0; i < 100; i ++) { 9 | new Minimatch("a"+i) 10 | } 11 | mm2 = new Minimatch("a?b") 12 | t.notEqual(mm1, mm2, "cache should have dropped") 13 | t.end() 14 | }) 15 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js: -------------------------------------------------------------------------------- 1 | var test = require('tap').test 2 | var minimatch = require('../') 3 | 4 | test('extglob ending with statechar', function(t) { 5 | t.notOk(minimatch('ax', 'a?(b*)')) 6 | t.ok(minimatch('ax', '?(a*|b)')) 7 | t.end() 8 | }) 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/once/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/once/node_modules/wrappy/README.md: -------------------------------------------------------------------------------- 1 | # wrappy 2 | 3 | Callback wrapping utility 4 | 5 | ## USAGE 6 | 7 | ```javascript 8 | var wrappy = require("wrappy") 9 | 10 | // var wrapper = wrappy(wrapperFunction) 11 | 12 | // make sure a cb is called only once 13 | // See also: http://npm.im/once for this specific use case 14 | var once = wrappy(function (cb) { 15 | var called = false 16 | return function () { 17 | if (called) return 18 | called = true 19 | return cb.apply(this, arguments) 20 | } 21 | }) 22 | 23 | function printBoo () { 24 | console.log('boo') 25 | } 26 | // has some rando property 27 | printBoo.iAmBooPrinter = true 28 | 29 | var onlyPrintOnce = once(printBoo) 30 | 31 | onlyPrintOnce() // prints 'boo' 32 | onlyPrintOnce() // does nothing 33 | 34 | // random property is retained! 35 | assert.equal(onlyPrintOnce.iAmBooPrinter, true) 36 | ``` 37 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/once/once.js: -------------------------------------------------------------------------------- 1 | var wrappy = require('wrappy') 2 | module.exports = wrappy(once) 3 | 4 | once.proto = once(function () { 5 | Object.defineProperty(Function.prototype, 'once', { 6 | value: function () { 7 | return once(this) 8 | }, 9 | configurable: true 10 | }) 11 | }) 12 | 13 | function once (fn) { 14 | var f = function () { 15 | if (f.called) return f.value 16 | f.called = true 17 | return f.value = fn.apply(this, arguments) 18 | } 19 | f.called = false 20 | return f 21 | } 22 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/glob/node_modules/once/test/once.js: -------------------------------------------------------------------------------- 1 | var test = require('tap').test 2 | var once = require('../once.js') 3 | 4 | test('once', function (t) { 5 | var f = 0 6 | function fn (g) { 7 | t.equal(f, 0) 8 | f ++ 9 | return f + g + this 10 | } 11 | fn.ownProperty = {} 12 | var foo = once(fn) 13 | t.equal(fn.ownProperty, foo.ownProperty) 14 | t.notOk(foo.called) 15 | for (var i = 0; i < 1E3; i++) { 16 | t.same(f, i === 0 ? 0 : 1) 17 | var g = foo.call(1, 1) 18 | t.ok(foo.called) 19 | t.same(g, 3) 20 | t.same(f, 1) 21 | } 22 | t.end() 23 | }) 24 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/graceful-fs/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/graceful-fs/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter and Contributors 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR 15 | IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/graceful-fs/fs.js: -------------------------------------------------------------------------------- 1 | // eeeeeevvvvviiiiiiillllll 2 | // more evil than monkey-patching the native builtin? 3 | // Not sure. 4 | 5 | var mod = require("module") 6 | var pre = '(function (exports, require, module, __filename, __dirname) { ' 7 | var post = '});' 8 | var src = pre + process.binding('natives').fs + post 9 | var vm = require('vm') 10 | var fn = vm.runInThisContext(src) 11 | fn(exports, require, module, __filename, __dirname) 12 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/graceful-fs/test/open.js: -------------------------------------------------------------------------------- 1 | var test = require('tap').test 2 | var fs = require('../graceful-fs.js') 3 | 4 | test('graceful fs is monkeypatched fs', function (t) { 5 | t.equal(fs, require('../fs.js')) 6 | t.end() 7 | }) 8 | 9 | test('open an existing file works', function (t) { 10 | var fd = fs.openSync(__filename, 'r') 11 | fs.closeSync(fd) 12 | fs.open(__filename, 'r', function (er, fd) { 13 | if (er) throw er 14 | fs.close(fd, function (er) { 15 | if (er) throw er 16 | t.pass('works') 17 | t.end() 18 | }) 19 | }) 20 | }) 21 | 22 | test('open a non-existing file throws', function (t) { 23 | var er 24 | try { 25 | var fd = fs.openSync('this file does not exist', 'r') 26 | } catch (x) { 27 | er = x 28 | } 29 | t.ok(er, 'should throw') 30 | t.notOk(fd, 'should not get an fd') 31 | t.equal(er.code, 'ENOENT') 32 | 33 | fs.open('neither does this file', 'r', function (er, fd) { 34 | t.ok(er, 'should throw') 35 | t.notOk(fd, 'should not get an fd') 36 | t.equal(er.code, 'ENOENT') 37 | t.end() 38 | }) 39 | }) 40 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/graceful-fs/test/readdir-sort.js: -------------------------------------------------------------------------------- 1 | var test = require("tap").test 2 | var fs = require("../fs.js") 3 | 4 | var readdir = fs.readdir 5 | fs.readdir = function(path, cb) { 6 | process.nextTick(function() { 7 | cb(null, ["b", "z", "a"]) 8 | }) 9 | } 10 | 11 | var g = require("../") 12 | 13 | test("readdir reorder", function (t) { 14 | g.readdir("whatevers", function (er, files) { 15 | if (er) 16 | throw er 17 | t.same(files, [ "a", "b", "z" ]) 18 | t.end() 19 | }) 20 | }) 21 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/iconv-lite/.npmignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *sublime-* 3 | generation 4 | test 5 | wiki 6 | coverage 7 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/iconv-lite/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.11" 6 | - "0.12" 7 | - "iojs" 8 | 9 | before_install: 10 | - "test $TRAVIS_NODE_VERSION != '0.8' || npm install -g npm@1.2.8000" 11 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/iconv-lite/encodings/index.js: -------------------------------------------------------------------------------- 1 | "use strict" 2 | 3 | // Update this array if you add/rename/remove files in this directory. 4 | // We support Browserify by skipping automatic module discovery and requiring modules directly. 5 | var modules = [ 6 | require("./internal"), 7 | require("./utf16"), 8 | require("./utf7"), 9 | require("./sbcs-codec"), 10 | require("./sbcs-data"), 11 | require("./sbcs-data-generated"), 12 | require("./dbcs-codec"), 13 | require("./dbcs-data"), 14 | ]; 15 | 16 | // Put all encoding/alias/codec definitions to single object and export it. 17 | for (var i = 0; i < modules.length; i++) { 18 | var module = modules[i]; 19 | for (var enc in module) 20 | if (Object.prototype.hasOwnProperty.call(module, enc)) 21 | exports[enc] = module[enc]; 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/install/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /test 3 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/install/install.min.js: -------------------------------------------------------------------------------- 1 | (function(e,t){function o(t){if(r.call(n,t)){var i=n[t];return r.call(i,"exports")||i.call(e,function(e){return o(a(e,t))},i.exports={},i),i.exports}throw new Error('module "'+t+'" not installed')}function a(e,t){if(e.charAt(0)==="."){e="/"+t+"/../"+e;while(e!=(t=e.replace(u,"/")))e=t;e=e.replace(/^\//,"")}return e}function f(){var n=i.next,r;n&&!l&&p(r=n.module)&&(l=i=n,e.setTimeout(c,0),r.call(e,o),l=t)}function c(){l=t,f()}function p(e){var t,i,s,o,u=!0;if(!e.seen&&!r.call(e,"exports")){t=e.unmet;if(!t){i=e+"",t=e.unmet={},h.lastIndex=0;while(s=h.exec(i))t[a(s[1],e.id)]=!0}e.seen=!0;for(o in t)if(r.call(t,o)){if(!r.call(n,o)||!p(n[o])){u=!1;break}delete t[o]}e.seen=!1}return u}if(e.install)return;var n={},r=n.hasOwnProperty,i={},s=i;e.install=function(e,t){typeof e=="string"&&t?r.call(n,e)||(n[t.id=e]=t,f()):e&&typeof e.call=="function"&&(s=s.next={module:e},i.next===s&&f())};var u=/\/(\.?|[^\/]+\/\.\.)\//,l,h=/\brequire\(['"]([^'"]+)['"]\)/g})(Function("return this")()); -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | - "0.12" 6 | - "iojs" 7 | before_install: 8 | - npm install -g npm@~1.4.6 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/bin/cmd.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mkdirp = require('../'); 4 | var minimist = require('minimist'); 5 | var fs = require('fs'); 6 | 7 | var argv = minimist(process.argv.slice(2), { 8 | alias: { m: 'mode', h: 'help' }, 9 | string: [ 'mode' ] 10 | }); 11 | if (argv.help) { 12 | fs.createReadStream(__dirname + '/usage.txt').pipe(process.stdout); 13 | return; 14 | } 15 | 16 | var paths = argv._.slice(); 17 | var mode = argv.mode ? parseInt(argv.mode, 8) : undefined; 18 | 19 | (function next () { 20 | if (paths.length === 0) return; 21 | var p = paths.shift(); 22 | 23 | if (mode === undefined) mkdirp(p, cb) 24 | else mkdirp(p, mode, cb) 25 | 26 | function cb (err) { 27 | if (err) { 28 | console.error(err.message); 29 | process.exit(1); 30 | } 31 | else next(); 32 | } 33 | })(); 34 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/bin/usage.txt: -------------------------------------------------------------------------------- 1 | usage: mkdirp [DIR1,DIR2..] {OPTIONS} 2 | 3 | Create each supplied directory including any necessary parent directories that 4 | don't yet exist. 5 | 6 | If the directory already exists, do nothing. 7 | 8 | OPTIONS are: 9 | 10 | -m, --mode If a directory needs to be created, set the mode as an octal 11 | permission string. 12 | 13 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/examples/pow.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('mkdirp'); 2 | 3 | mkdirp('/tmp/foo/bar/baz', function (err) { 4 | if (err) console.error(err) 5 | else console.log('pow!') 6 | }); 7 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/node_modules/minimist/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/node_modules/minimist/example/parse.js: -------------------------------------------------------------------------------- 1 | var argv = require('../')(process.argv.slice(2)); 2 | console.dir(argv); 3 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/node_modules/minimist/test/dash.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('-', function (t) { 5 | t.plan(5); 6 | t.deepEqual(parse([ '-n', '-' ]), { n: '-', _: [] }); 7 | t.deepEqual(parse([ '-' ]), { _: [ '-' ] }); 8 | t.deepEqual(parse([ '-f-' ]), { f: '-', _: [] }); 9 | t.deepEqual( 10 | parse([ '-b', '-' ], { boolean: 'b' }), 11 | { b: true, _: [ '-' ] } 12 | ); 13 | t.deepEqual( 14 | parse([ '-s', '-' ], { string: 's' }), 15 | { s: '-', _: [] } 16 | ); 17 | }); 18 | 19 | test('-a -- b', function (t) { 20 | t.plan(3); 21 | t.deepEqual(parse([ '-a', '--', 'b' ]), { a: true, _: [ 'b' ] }); 22 | t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); 23 | t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/node_modules/minimist/test/default_bool.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('boolean default true', function (t) { 5 | var argv = parse([], { 6 | boolean: 'sometrue', 7 | default: { sometrue: true } 8 | }); 9 | t.equal(argv.sometrue, true); 10 | t.end(); 11 | }); 12 | 13 | test('boolean default false', function (t) { 14 | var argv = parse([], { 15 | boolean: 'somefalse', 16 | default: { somefalse: false } 17 | }); 18 | t.equal(argv.somefalse, false); 19 | t.end(); 20 | }); 21 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/node_modules/minimist/test/dotted.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('dotted alias', function (t) { 5 | var argv = parse(['--a.b', '22'], {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 6 | t.equal(argv.a.b, 22); 7 | t.equal(argv.aa.bb, 22); 8 | t.end(); 9 | }); 10 | 11 | test('dotted default', function (t) { 12 | var argv = parse('', {default: {'a.b': 11}, alias: {'a.b': 'aa.bb'}}); 13 | t.equal(argv.a.b, 11); 14 | t.equal(argv.aa.bb, 11); 15 | t.end(); 16 | }); 17 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/node_modules/minimist/test/long.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var parse = require('../'); 3 | 4 | test('long opts', function (t) { 5 | t.deepEqual( 6 | parse([ '--bool' ]), 7 | { bool : true, _ : [] }, 8 | 'long boolean' 9 | ); 10 | t.deepEqual( 11 | parse([ '--pow', 'xixxle' ]), 12 | { pow : 'xixxle', _ : [] }, 13 | 'long capture sp' 14 | ); 15 | t.deepEqual( 16 | parse([ '--pow=xixxle' ]), 17 | { pow : 'xixxle', _ : [] }, 18 | 'long capture eq' 19 | ); 20 | t.deepEqual( 21 | parse([ '--host', 'localhost', '--port', '555' ]), 22 | { host : 'localhost', port : 555, _ : [] }, 23 | 'long captures sp' 24 | ); 25 | t.deepEqual( 26 | parse([ '--host=localhost', '--port=555' ]), 27 | { host : 'localhost', port : 555, _ : [] }, 28 | 'long captures eq' 29 | ); 30 | t.end(); 31 | }); 32 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('parse with modifier functions' , function (t) { 5 | t.plan(1); 6 | 7 | var argv = parse([ '-b', '123' ], { boolean: 'b' }); 8 | t.deepEqual(argv, { b: true, _: ['123'] }); 9 | }); 10 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/node_modules/minimist/test/whitespace.js: -------------------------------------------------------------------------------- 1 | var parse = require('../'); 2 | var test = require('tape'); 3 | 4 | test('whitespace should be whitespace' , function (t) { 5 | t.plan(1); 6 | var x = parse([ '-x', '\t' ]).x; 7 | t.equal(x, '\t'); 8 | }); 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/clobber.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../').mkdirp; 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | var _0755 = parseInt('0755', 8); 6 | 7 | var ps = [ '', 'tmp' ]; 8 | 9 | for (var i = 0; i < 25; i++) { 10 | var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | ps.push(dir); 12 | } 13 | 14 | var file = ps.join('/'); 15 | 16 | // a file in the way 17 | var itw = ps.slice(0, 3).join('/'); 18 | 19 | 20 | test('clobber-pre', function (t) { 21 | console.error("about to write to "+itw) 22 | fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); 23 | 24 | fs.stat(itw, function (er, stat) { 25 | t.ifError(er) 26 | t.ok(stat && stat.isFile(), 'should be file') 27 | t.end() 28 | }) 29 | }) 30 | 31 | test('clobber', function (t) { 32 | t.plan(2); 33 | mkdirp(file, _0755, function (err) { 34 | t.ok(err); 35 | t.equal(err.code, 'ENOTDIR'); 36 | t.end(); 37 | }); 38 | }); 39 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/mkdirp.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var exists = fs.exists || path.exists; 5 | var test = require('tap').test; 6 | var _0777 = parseInt('0777', 8); 7 | var _0755 = parseInt('0755', 8); 8 | 9 | test('woo', function (t) { 10 | t.plan(5); 11 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 13 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 14 | 15 | var file = '/tmp/' + [x,y,z].join('/'); 16 | 17 | mkdirp(file, _0755, function (err) { 18 | t.ifError(err); 19 | exists(file, function (ex) { 20 | t.ok(ex, 'file created'); 21 | fs.stat(file, function (err, stat) { 22 | t.ifError(err); 23 | t.equal(stat.mode & _0777, _0755); 24 | t.ok(stat.isDirectory(), 'target not a directory'); 25 | }) 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/opts_fs.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var test = require('tap').test; 4 | var mockfs = require('mock-fs'); 5 | var _0777 = parseInt('0777', 8); 6 | var _0755 = parseInt('0755', 8); 7 | 8 | test('opts.fs', function (t) { 9 | t.plan(5); 10 | 11 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 13 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 14 | 15 | var file = '/beep/boop/' + [x,y,z].join('/'); 16 | var xfs = mockfs.fs(); 17 | 18 | mkdirp(file, { fs: xfs, mode: _0755 }, function (err) { 19 | t.ifError(err); 20 | xfs.exists(file, function (ex) { 21 | t.ok(ex, 'created file'); 22 | xfs.stat(file, function (err, stat) { 23 | t.ifError(err); 24 | t.equal(stat.mode & _0777, _0755); 25 | t.ok(stat.isDirectory(), 'target not a directory'); 26 | }); 27 | }); 28 | }); 29 | }); 30 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/opts_fs_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var test = require('tap').test; 4 | var mockfs = require('mock-fs'); 5 | var _0777 = parseInt('0777', 8); 6 | var _0755 = parseInt('0755', 8); 7 | 8 | test('opts.fs sync', function (t) { 9 | t.plan(4); 10 | 11 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 13 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 14 | 15 | var file = '/beep/boop/' + [x,y,z].join('/'); 16 | var xfs = mockfs.fs(); 17 | 18 | mkdirp.sync(file, { fs: xfs, mode: _0755 }); 19 | xfs.exists(file, function (ex) { 20 | t.ok(ex, 'created file'); 21 | xfs.stat(file, function (err, stat) { 22 | t.ifError(err); 23 | t.equal(stat.mode & _0777, _0755); 24 | t.ok(stat.isDirectory(), 'target not a directory'); 25 | }); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/perm.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var exists = fs.exists || path.exists; 5 | var test = require('tap').test; 6 | var _0777 = parseInt('0777', 8); 7 | var _0755 = parseInt('0755', 8); 8 | 9 | test('async perm', function (t) { 10 | t.plan(5); 11 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); 12 | 13 | mkdirp(file, _0755, function (err) { 14 | t.ifError(err); 15 | exists(file, function (ex) { 16 | t.ok(ex, 'file created'); 17 | fs.stat(file, function (err, stat) { 18 | t.ifError(err); 19 | t.equal(stat.mode & _0777, _0755); 20 | t.ok(stat.isDirectory(), 'target not a directory'); 21 | }) 22 | }) 23 | }); 24 | }); 25 | 26 | test('async root perm', function (t) { 27 | mkdirp('/tmp', _0755, function (err) { 28 | if (err) t.fail(err); 29 | t.end(); 30 | }); 31 | t.end(); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/return.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(4); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | mkdirp(file, function (err, made) { 18 | t.ifError(err); 19 | t.equal(made, '/tmp/' + x); 20 | mkdirp(file, function (err, made) { 21 | t.ifError(err); 22 | t.equal(made, null); 23 | }); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/return_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | 6 | test('return value', function (t) { 7 | t.plan(2); 8 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 9 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 10 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 11 | 12 | var file = '/tmp/' + [x,y,z].join('/'); 13 | 14 | // should return the first dir created. 15 | // By this point, it would be profoundly surprising if /tmp didn't 16 | // already exist, since every other test makes things in there. 17 | // Note that this will throw on failure, which will fail the test. 18 | var made = mkdirp.sync(file); 19 | t.equal(made, '/tmp/' + x); 20 | 21 | // making the same file again should have no effect. 22 | made = mkdirp.sync(file); 23 | t.equal(made, null); 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/root.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var test = require('tap').test; 5 | var _0755 = parseInt('0755', 8); 6 | 7 | test('root', function (t) { 8 | // '/' on unix, 'c:/' on windows. 9 | var file = path.resolve('/'); 10 | 11 | mkdirp(file, _0755, function (err) { 12 | if (err) throw err 13 | fs.stat(file, function (er, stat) { 14 | if (er) throw er 15 | t.ok(stat.isDirectory(), 'target is a directory'); 16 | t.end(); 17 | }) 18 | }); 19 | }); 20 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var exists = fs.exists || path.exists; 5 | var test = require('tap').test; 6 | var _0777 = parseInt('0777', 8); 7 | var _0755 = parseInt('0755', 8); 8 | 9 | test('sync', function (t) { 10 | t.plan(4); 11 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 13 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 14 | 15 | var file = '/tmp/' + [x,y,z].join('/'); 16 | 17 | try { 18 | mkdirp.sync(file, _0755); 19 | } catch (err) { 20 | t.fail(err); 21 | return t.end(); 22 | } 23 | 24 | exists(file, function (ex) { 25 | t.ok(ex, 'file created'); 26 | fs.stat(file, function (err, stat) { 27 | t.ifError(err); 28 | t.equal(stat.mode & _0777, _0755); 29 | t.ok(stat.isDirectory(), 'target not a directory'); 30 | }); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/umask.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var exists = fs.exists || path.exists; 5 | var test = require('tap').test; 6 | var _0777 = parseInt('0777', 8); 7 | var _0755 = parseInt('0755', 8); 8 | 9 | test('implicit mode from umask', function (t) { 10 | t.plan(5); 11 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 13 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 14 | 15 | var file = '/tmp/' + [x,y,z].join('/'); 16 | 17 | mkdirp(file, function (err) { 18 | t.ifError(err); 19 | exists(file, function (ex) { 20 | t.ok(ex, 'file created'); 21 | fs.stat(file, function (err, stat) { 22 | t.ifError(err); 23 | t.equal(stat.mode & _0777, _0777 & (~process.umask())); 24 | t.ok(stat.isDirectory(), 'target not a directory'); 25 | }); 26 | }) 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/mkdirp/test/umask_sync.js: -------------------------------------------------------------------------------- 1 | var mkdirp = require('../'); 2 | var path = require('path'); 3 | var fs = require('fs'); 4 | var exists = fs.exists || path.exists; 5 | var test = require('tap').test; 6 | var _0777 = parseInt('0777', 8); 7 | var _0755 = parseInt('0755', 8); 8 | 9 | test('umask sync modes', function (t) { 10 | t.plan(4); 11 | var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 12 | var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 13 | var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); 14 | 15 | var file = '/tmp/' + [x,y,z].join('/'); 16 | 17 | try { 18 | mkdirp.sync(file); 19 | } catch (err) { 20 | t.fail(err); 21 | return t.end(); 22 | } 23 | 24 | exists(file, function (ex) { 25 | t.ok(ex, 'file created'); 26 | fs.stat(file, function (err, stat) { 27 | t.ifError(err); 28 | t.equal(stat.mode & _0777, (_0777 & (~process.umask()))); 29 | t.ok(stat.isDirectory(), 'target not a directory'); 30 | }); 31 | }); 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/private/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.11" 4 | - "0.10" 5 | - "0.8" 6 | - "0.6" 7 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/.editorconfig: -------------------------------------------------------------------------------- 1 | [*.js] 2 | indent_style = space 3 | indent_size = 4 -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /test 3 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "iojs" 4 | - "0.12" 5 | - "0.11" 6 | - "0.10" 7 | - "0.8" 8 | 9 | # Allow Travis tests to run in containers. 10 | sudo: false 11 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/example/generic-identity: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | // This script should reprint the contents of the given file without 4 | // reusing the original source, but with identical AST structure. 5 | 6 | var recast = require("recast"); 7 | 8 | recast.run(function(ast, callback) { 9 | recast.visit(ast, { 10 | visitNode: function(path) { 11 | this.traverse(path); 12 | path.node.original = null; 13 | } 14 | }); 15 | 16 | callback(ast); 17 | }); 18 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/example/identity: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | // This script should echo the contents of the given file without 4 | // modification. 5 | 6 | require("recast").run(function(ast, callback) { 7 | callback(ast); 8 | }); 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/lib/types.js: -------------------------------------------------------------------------------- 1 | // This module was originally created so that Recast could add its own 2 | // custom types to the AST type system (in particular, the File type), but 3 | // those types are now incorporated into ast-types, so this module doesn't 4 | // have much to do anymore. Still, it might prove useful in the future. 5 | module.exports = require("ast-types"); 6 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/.bin/esparse: -------------------------------------------------------------------------------- 1 | ../esprima-fb/bin/esparse.js -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/.bin/esvalidate: -------------------------------------------------------------------------------- 1 | ../esprima-fb/bin/esvalidate.js -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/ast-types/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /test 3 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/ast-types/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.12" 4 | - "0.11" 5 | - "0.10" 6 | - "0.8" 7 | - "0.6" 8 | 9 | before_install: 10 | npm install -g npm@'>=1.4.3' 11 | 12 | matrix: 13 | allow_failures: 14 | - node_js: "0.6" -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/source-map/build/prefix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | /////////////////////////////////////////////////////////////////////////////// 16 | 17 | 18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; 19 | 20 | Components.utils.import("resource://gre/modules/devtools/Console.jsm"); 21 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 22 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/source-map/build/prefix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); 17 | 18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; 19 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/source-map/build/suffix-browser.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.sourceMap = { 5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, 6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, 7 | SourceNode: require('source-map/source-node').SourceNode 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/source-map/build/suffix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; 5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; 6 | this.SourceNode = require('source-map/source-node').SourceNode; 7 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/source-map/build/suffix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | function runSourceMapTests(modName, do_throw) { 8 | let mod = require(modName); 9 | let assert = require('test/source-map/assert'); 10 | let util = require('test/source-map/util'); 11 | 12 | assert.init(do_throw); 13 | 14 | for (let k in mod) { 15 | if (/^test/.test(k)) { 16 | mod[k](assert, util); 17 | } 18 | } 19 | 20 | } 21 | this.runSourceMapTests = runSourceMapTests; 22 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/source-map/build/test-prefix.js: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING! 3 | * 4 | * Do not edit this file directly, it is built from the sources at 5 | * https://github.com/mozilla/source-map/ 6 | */ 7 | 8 | Components.utils.import('resource://test/Utils.jsm'); 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/source-map/build/test-suffix.js: -------------------------------------------------------------------------------- 1 | function run_test() { 2 | runSourceMapTests('{THIS_MODULE}', do_throw); 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/node_modules/recast/node_modules/source-map/lib/source-map.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2009-2011 Mozilla Foundation and contributors 3 | * Licensed under the New BSD license. See LICENSE.txt or: 4 | * http://opensource.org/licenses/BSD-3-Clause 5 | */ 6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; 7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; 8 | exports.SourceNode = require('./source-map/source-node').SourceNode; 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/debug.conf: -------------------------------------------------------------------------------- 1 | { 2 | "debug": true 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/release.conf: -------------------------------------------------------------------------------- 1 | { 2 | "debug": false 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/assert.js: -------------------------------------------------------------------------------- 1 | function assert(test, msg) { 2 | if (!test) { 3 | throw new Error(msg); 4 | } 5 | } 6 | 7 | module.exports = assert.ok = assert; 8 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/core.js: -------------------------------------------------------------------------------- 1 | exports.name = "core"; 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/home.js: -------------------------------------------------------------------------------- 1 | require("assert"); 2 | require("./assert"); 3 | require("./tests/../assert"); 4 | 5 | exports.name = "home"; 6 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/login.js: -------------------------------------------------------------------------------- 1 | exports.name = "login"; 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/roots.json: -------------------------------------------------------------------------------- 1 | ["core", "third-party", "home", "login", "settings"] 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "core": { 3 | "third-party": { 4 | "login": { 5 | "tests/login": {} 6 | }, 7 | "home": { 8 | "tests/home": {} 9 | }, 10 | "settings": { 11 | "tests/settings": {} 12 | } 13 | } 14 | }, 15 | "widget/common": { 16 | "widget/follow": {}, 17 | "widget/gallery": {}, 18 | "widget/share": {} 19 | }, 20 | "WidgetShare": {} 21 | } 22 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/settings.js: -------------------------------------------------------------------------------- 1 | exports.name = "settings"; 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/tests/home.js: -------------------------------------------------------------------------------- 1 | exports.name = "tests/home"; 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/tests/login.js: -------------------------------------------------------------------------------- 1 | exports.name = "tests/login"; 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/tests/settings.js: -------------------------------------------------------------------------------- 1 | exports.name = "tests/settings"; 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/third-party.js: -------------------------------------------------------------------------------- 1 | exports.name = "third-party"; 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/widget/.bogus.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This is a temporary file such as VIM is wont to create. 3 | * @providesModule WidgetShare 4 | */ 5 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/widget/bogus.js~: -------------------------------------------------------------------------------- 1 | /** 2 | * This is a temporary file such as Emacs is wont to create. 3 | * @providesModule WidgetShare 4 | */ 5 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/widget/common.js: -------------------------------------------------------------------------------- 1 | exports.name = "widget/common"; 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/widget/follow.js: -------------------------------------------------------------------------------- 1 | // All these ways of requiring WidgetShare should get normalized to the 2 | // same relative identifier: "../WidgetShare". 3 | require("./share"); 4 | require("../widget/share"); 5 | require("WidgetShare"); 6 | require("../WidgetShare"); 7 | 8 | // These identifiers will both become "./gallery". 9 | require("../widget/gallery"); 10 | require("./gallery"); 11 | 12 | // These both become "../assert". 13 | require("assert"); 14 | require("../assert"); 15 | 16 | // These circular references should both become "./follow". 17 | require("./follow"); 18 | require("../widget/follow"); 19 | 20 | exports.name = "widget/follow"; 21 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/widget/gallery.js: -------------------------------------------------------------------------------- 1 | require("../widget/share"); 2 | require("./share"); 3 | require("WidgetShare"); 4 | 5 | exports.name = "widget/gallery"; 6 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/commoner/test/source/widget/share.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @providesModule WidgetShare 3 | */ 4 | 5 | // @providesModule ignore this 6 | exports.name = "widget/share"; 7 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "devel": false, 5 | "eqnull": false, 6 | "esnext": true, 7 | "expr": true, 8 | "funcscope": true, 9 | "globals": { 10 | "afterEach": true, 11 | "beforeEach": true, 12 | "describe": true, 13 | "expect": true, 14 | "it": true, 15 | "jest": true 16 | }, 17 | "globalstrict": false, 18 | "laxbreak": true, 19 | "loopfunc": false, 20 | "newcap": true, 21 | "node": true, 22 | "noempty": true, 23 | "nonstandard": false, 24 | "onecase": false, 25 | "trailing": true, 26 | "undef": true, 27 | "unused": "vars" 28 | } 29 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_STORE 2 | node_modules 3 | *.swp 4 | *~ 5 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | # Because of package.json dependency versions that start with '^', it's not 5 | # possible to `npm install` using the version of npm packaged with node 0.8 6 | # As a result, travis *always* fails for 0.8 now -- and thus it's not possible 7 | # to test jstransform on 0.8 with Travis CI :( 8 | # - "0.8" 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/jestEnvironment.js: -------------------------------------------------------------------------------- 1 | require.requireActual('./polyfill/Object.es6.js'); 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/jestPreprocessor.js: -------------------------------------------------------------------------------- 1 | var jstransform = require('./src/jstransform'); 2 | var arrowFuncVisitors = require('./visitors/es6-arrow-function-visitors'); 3 | var restParamVisitors = require('./visitors/es6-rest-param-visitors'); 4 | var es7SpreadPropertyVisitors = require('./visitors/es7-spread-property-visitors'); 5 | 6 | exports.process = function(sourceText, sourcePath) { 7 | return jstransform.transform( 8 | arrowFuncVisitors.visitorList 9 | .concat(restParamVisitors.visitorList) 10 | .concat(es7SpreadPropertyVisitors.visitorList), 11 | sourceText 12 | ).code; 13 | }; 14 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/.bin/esparse: -------------------------------------------------------------------------------- 1 | ../esprima-fb/bin/esparse.js -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/.bin/esvalidate: -------------------------------------------------------------------------------- 1 | ../esprima-fb/bin/esvalidate.js -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/base62/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/base62/Readme.md: -------------------------------------------------------------------------------- 1 | # Base62.js 2 | [![build status](https://secure.travis-ci.org/andrew/base62.js.png)](http://travis-ci.org/andrew/base62.js) 3 | 4 | A javascript Base62 encode/decoder for node.js 5 | 6 | ## Install 7 | 8 | npm install base62 9 | 10 | ## Usage 11 | 12 | Base62 = require('base62') 13 | Base62.encode(999) // 'g7' 14 | Base62.decode('g7') // 999 15 | 16 | ## Development 17 | 18 | Source hosted at [GitHub](http://github.com/andrew/base62.js). 19 | Report Issues/Feature requests on [GitHub Issues](http://github.com/andrew/split/base62.js). 20 | 21 | ### Note on Patches/Pull Requests 22 | 23 | * Fork the project. 24 | * Make your feature addition or bug fix. 25 | * Add tests for it. This is important so I don't break it in a future version unintentionally. 26 | * Send me a pull request. Bonus points for topic branches. 27 | 28 | ## Copyright 29 | 30 | Copyright (c) 2012 Andrew Nesbitt. See [LICENSE](https://github.com/andrew/base62.js/blob/master/LICENSE) for details. 31 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/base62/base62.js: -------------------------------------------------------------------------------- 1 | var Base62 = (function (my) { 2 | my.chars = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] 3 | 4 | my.encode = function(i){ 5 | if (i === 0) {return '0'} 6 | var s = '' 7 | while (i > 0) { 8 | s = this.chars[i % 62] + s 9 | i = Math.floor(i/62) 10 | } 11 | return s 12 | }; 13 | my.decode = function(a,b,c,d){ 14 | for ( 15 | b = c = ( 16 | a === (/\W|_|^$/.test(a += "") || a) 17 | ) - 1; 18 | d = a.charCodeAt(c++); 19 | ) 20 | b = b * 62 + d - [, 48, 29, 87][d >> 5]; 21 | return b 22 | }; 23 | 24 | return my; 25 | }({})); 26 | 27 | module.exports = Base62 -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/base62/test/test.js: -------------------------------------------------------------------------------- 1 | var assert = require('assert') 2 | var Base62 = require('../base62') 3 | 4 | describe("encode", function() { 5 | it("should encode a number to a Base62 string", function() { 6 | assert.equal(Base62.encode(999), 'g7') 7 | }); 8 | }); 9 | 10 | describe("decode", function() { 11 | it("should decode a number from a Base62 string", function() { 12 | assert.equal(Base62.decode('g7'), 999) 13 | }); 14 | }); -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/.npmignore: -------------------------------------------------------------------------------- 1 | dist/* 2 | node_modules/* 3 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - "0.10" -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/build/prefix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | /////////////////////////////////////////////////////////////////////////////// 16 | 17 | 18 | this.EXPORTED_SYMBOLS = [ "SourceMapConsumer", "SourceMapGenerator", "SourceNode" ]; 19 | 20 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 21 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/build/prefix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | 8 | /* 9 | * WARNING! 10 | * 11 | * Do not edit this file directly, it is built from the sources at 12 | * https://github.com/mozilla/source-map/ 13 | */ 14 | 15 | Components.utils.import('resource://gre/modules/devtools/Require.jsm'); 16 | Components.utils.import('resource://gre/modules/devtools/SourceMap.jsm'); 17 | 18 | this.EXPORTED_SYMBOLS = [ "define", "runSourceMapTests" ]; 19 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/build/suffix-browser.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.sourceMap = { 5 | SourceMapConsumer: require('source-map/source-map-consumer').SourceMapConsumer, 6 | SourceMapGenerator: require('source-map/source-map-generator').SourceMapGenerator, 7 | SourceNode: require('source-map/source-node').SourceNode 8 | }; 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/build/suffix-source-map.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /////////////////////////////////////////////////////////////////////////////// 3 | 4 | this.SourceMapConsumer = require('source-map/source-map-consumer').SourceMapConsumer; 5 | this.SourceMapGenerator = require('source-map/source-map-generator').SourceMapGenerator; 6 | this.SourceNode = require('source-map/source-node').SourceNode; 7 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/build/suffix-utils.jsm: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | function runSourceMapTests(modName, do_throw) { 8 | let mod = require(modName); 9 | let assert = require('test/source-map/assert'); 10 | let util = require('test/source-map/util'); 11 | 12 | assert.init(do_throw); 13 | 14 | for (let k in mod) { 15 | if (/^test/.test(k)) { 16 | mod[k](assert, util); 17 | } 18 | } 19 | 20 | } 21 | this.runSourceMapTests = runSourceMapTests; 22 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/build/test-prefix.js: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING! 3 | * 4 | * Do not edit this file directly, it is built from the sources at 5 | * https://github.com/mozilla/source-map/ 6 | */ 7 | 8 | Components.utils.import('resource://test/Utils.jsm'); 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/build/test-suffix.js: -------------------------------------------------------------------------------- 1 | function run_test() { 2 | runSourceMapTests('{THIS_MODULE}', do_throw); 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/lib/source-map.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2009-2011 Mozilla Foundation and contributors 3 | * Licensed under the New BSD license. See LICENSE.txt or: 4 | * http://opensource.org/licenses/BSD-3-Clause 5 | */ 6 | exports.SourceMapGenerator = require('./source-map/source-map-generator').SourceMapGenerator; 7 | exports.SourceMapConsumer = require('./source-map/source-map-consumer').SourceMapConsumer; 8 | exports.SourceNode = require('./source-map/source-node').SourceNode; 9 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/test/source-map/test-api.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2012 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | if (typeof define !== 'function') { 8 | var define = require('amdefine')(module, require); 9 | } 10 | define(function (require, exports, module) { 11 | 12 | var sourceMap; 13 | try { 14 | sourceMap = require('../../lib/source-map'); 15 | } catch (e) { 16 | sourceMap = {}; 17 | Components.utils.import('resource:///modules/devtools/SourceMap.jsm', sourceMap); 18 | } 19 | 20 | exports['test that the api is properly exposed in the top level'] = function (assert, util) { 21 | assert.equal(typeof sourceMap.SourceMapGenerator, "function"); 22 | assert.equal(typeof sourceMap.SourceMapConsumer, "function"); 23 | assert.equal(typeof sourceMap.SourceNode, "function"); 24 | }; 25 | 26 | }); 27 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/node_modules/jstransform/node_modules/source-map/test/source-map/test-base64-vlq.js: -------------------------------------------------------------------------------- 1 | /* -*- Mode: js; js-indent-level: 2; -*- */ 2 | /* 3 | * Copyright 2011 Mozilla Foundation and contributors 4 | * Licensed under the New BSD license. See LICENSE or: 5 | * http://opensource.org/licenses/BSD-3-Clause 6 | */ 7 | if (typeof define !== 'function') { 8 | var define = require('amdefine')(module, require); 9 | } 10 | define(function (require, exports, module) { 11 | 12 | var base64VLQ = require('../../lib/source-map/base64-vlq'); 13 | 14 | exports['test normal encoding and decoding'] = function (assert, util) { 15 | var result; 16 | for (var i = -255; i < 256; i++) { 17 | result = base64VLQ.decode(base64VLQ.encode(i)); 18 | assert.ok(result); 19 | assert.equal(result.value, i); 20 | assert.equal(result.rest, ""); 21 | } 22 | }; 23 | 24 | }); 25 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/browser/ClientReactRootIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ClientReactRootIndex 10 | * @typechecks 11 | */ 12 | 13 | 'use strict'; 14 | 15 | var nextReactRootIndex = 0; 16 | 17 | var ClientReactRootIndex = { 18 | createReactRootIndex: function() { 19 | return nextReactRootIndex++; 20 | } 21 | }; 22 | 23 | module.exports = ClientReactRootIndex; 24 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/browser/server/ServerReactRootIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ServerReactRootIndex 10 | * @typechecks 11 | */ 12 | 13 | 'use strict'; 14 | 15 | /** 16 | * Size of the reactRoot ID space. We generate random numbers for React root 17 | * IDs and if there's a collision the events and DOM update system will 18 | * get confused. In the future we need a way to generate GUIDs but for 19 | * now this will work on a smaller scale. 20 | */ 21 | var GLOBAL_MOUNT_POINT_MAX = Math.pow(2, 53); 22 | 23 | var ServerReactRootIndex = { 24 | createReactRootIndex: function() { 25 | return Math.ceil(Math.random() * GLOBAL_MOUNT_POINT_MAX); 26 | } 27 | }; 28 | 29 | module.exports = ServerReactRootIndex; 30 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/browser/ui/ReactBrowserComponentMixin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactBrowserComponentMixin 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var findDOMNode = require('findDOMNode'); 15 | 16 | var ReactBrowserComponentMixin = { 17 | /** 18 | * Returns the DOM node rendered by this component. 19 | * 20 | * @return {DOMElement} The root node of this component. 21 | * @final 22 | * @protected 23 | */ 24 | getDOMNode: function() { 25 | return findDOMNode(this); 26 | } 27 | }; 28 | 29 | module.exports = ReactBrowserComponentMixin; 30 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/browser/ui/dom/ViewportMetrics.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ViewportMetrics 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var ViewportMetrics = { 15 | 16 | currentScrollLeft: 0, 17 | 18 | currentScrollTop: 0, 19 | 20 | refreshScrollValues: function(scrollPosition) { 21 | ViewportMetrics.currentScrollLeft = scrollPosition.x; 22 | ViewportMetrics.currentScrollTop = scrollPosition.y; 23 | } 24 | 25 | }; 26 | 27 | module.exports = ViewportMetrics; 28 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/browser/ui/dom/__tests__/CSSProperty-test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2014-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @emails react-core 10 | */ 11 | 12 | /*jslint evil: true */ 13 | 14 | 'use strict'; 15 | 16 | describe('CSSProperty', function() { 17 | var CSSProperty; 18 | 19 | beforeEach(function() { 20 | require('mock-modules').dumpCache(); 21 | CSSProperty = require('CSSProperty'); 22 | }); 23 | 24 | it('should generate browser prefixes for its `isUnitlessNumber`', function() { 25 | expect(CSSProperty.isUnitlessNumber.lineClamp).toBeTruthy(); 26 | expect(CSSProperty.isUnitlessNumber.WebkitLineClamp).toBeTruthy(); 27 | expect(CSSProperty.isUnitlessNumber.msFlexGrow).toBeTruthy(); 28 | expect(CSSProperty.isUnitlessNumber.MozFlexGrow).toBeTruthy(); 29 | }); 30 | 31 | }); 32 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/browser/ui/dom/components/AutoFocusMixin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule AutoFocusMixin 10 | * @typechecks static-only 11 | */ 12 | 13 | 'use strict'; 14 | 15 | var focusNode = require('focusNode'); 16 | 17 | var AutoFocusMixin = { 18 | componentDidMount: function() { 19 | if (this.props.autoFocus) { 20 | focusNode(this.getDOMNode()); 21 | } 22 | } 23 | }; 24 | 25 | module.exports = AutoFocusMixin; 26 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/browser/ui/dom/getEventTarget.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule getEventTarget 10 | * @typechecks static-only 11 | */ 12 | 13 | 'use strict'; 14 | 15 | /** 16 | * Gets the target node from a native browser event by accounting for 17 | * inconsistencies in browser DOM APIs. 18 | * 19 | * @param {object} nativeEvent Native browser event. 20 | * @return {DOMEventTarget} Target node. 21 | */ 22 | function getEventTarget(nativeEvent) { 23 | var target = nativeEvent.target || nativeEvent.srcElement || window; 24 | // Safari may fire events on text nodes (Node.TEXT_NODE is 3). 25 | // @see http://www.quirksmode.org/js/events_properties.html 26 | return target.nodeType === 3 ? target.parentNode : target; 27 | } 28 | 29 | module.exports = getEventTarget; 30 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/browser/ui/getReactRootElementInContainer.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule getReactRootElementInContainer 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var DOC_NODE_TYPE = 9; 15 | 16 | /** 17 | * @param {DOMElement|DOMDocument} container DOM element that may contain 18 | * a React component 19 | * @return {?*} DOM element that may have the reactRoot ID, or null. 20 | */ 21 | function getReactRootElementInContainer(container) { 22 | if (!container) { 23 | return null; 24 | } 25 | 26 | if (container.nodeType === DOC_NODE_TYPE) { 27 | return container.documentElement; 28 | } else { 29 | return container.firstChild; 30 | } 31 | } 32 | 33 | module.exports = getReactRootElementInContainer; 34 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/classic/types/ReactPropTypeLocationNames.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactPropTypeLocationNames 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var ReactPropTypeLocationNames = {}; 15 | 16 | if (__DEV__) { 17 | ReactPropTypeLocationNames = { 18 | prop: 'prop', 19 | context: 'context', 20 | childContext: 'child context' 21 | }; 22 | } 23 | 24 | module.exports = ReactPropTypeLocationNames; 25 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/classic/types/ReactPropTypeLocations.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactPropTypeLocations 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var keyMirror = require('keyMirror'); 15 | 16 | var ReactPropTypeLocations = keyMirror({ 17 | prop: null, 18 | context: null, 19 | childContext: null 20 | }); 21 | 22 | module.exports = ReactPropTypeLocations; 23 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/core/ReactCurrentOwner.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactCurrentOwner 10 | */ 11 | 12 | 'use strict'; 13 | 14 | /** 15 | * Keeps track of the current owner. 16 | * 17 | * The current owner is the component who should own any components that are 18 | * currently being constructed. 19 | * 20 | * The depth indicate how many composite components are above this render level. 21 | */ 22 | var ReactCurrentOwner = { 23 | 24 | /** 25 | * @internal 26 | * @type {ReactComponent} 27 | */ 28 | current: null 29 | 30 | }; 31 | 32 | module.exports = ReactCurrentOwner; 33 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/core/ReactMultiChildUpdateTypes.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactMultiChildUpdateTypes 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var keyMirror = require('keyMirror'); 15 | 16 | /** 17 | * When a component's children are updated, a series of update configuration 18 | * objects are created in order to batch and serialize the required changes. 19 | * 20 | * Enumerates all the possible types of update configurations. 21 | * 22 | * @internal 23 | */ 24 | var ReactMultiChildUpdateTypes = keyMirror({ 25 | INSERT_MARKUP: null, 26 | MOVE_EXISTING: null, 27 | REMOVE_NODE: null, 28 | TEXT_CONTENT: null 29 | }); 30 | 31 | module.exports = ReactMultiChildUpdateTypes; 32 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/core/ReactRootIndex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactRootIndex 10 | * @typechecks 11 | */ 12 | 13 | 'use strict'; 14 | 15 | var ReactRootIndexInjection = { 16 | /** 17 | * @param {function} _createReactRootIndex 18 | */ 19 | injectCreateReactRootIndex: function(_createReactRootIndex) { 20 | ReactRootIndex.createReactRootIndex = _createReactRootIndex; 21 | } 22 | }; 23 | 24 | var ReactRootIndex = { 25 | createReactRootIndex: null, 26 | injection: ReactRootIndexInjection 27 | }; 28 | 29 | module.exports = ReactRootIndex; 30 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/modern/class/__tests__/ReactClassEquivalence-test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @emails react-core 10 | */ 11 | 12 | var MetaMatchers = require('MetaMatchers'); 13 | 14 | describe('ReactClassEquivalence', function() { 15 | 16 | beforeEach(function() { 17 | this.addMatchers(MetaMatchers); 18 | }); 19 | 20 | var es6 = () => require('./ReactES6Class-test.js'); 21 | var coffee = () => require('./ReactCoffeeScriptClass-test.coffee'); 22 | var ts = () => require('./ReactTypeScriptClass-test.ts'); 23 | 24 | it('tests the same thing for es6 classes and CoffeeScript', function() { 25 | expect(coffee).toEqualSpecsIn(es6); 26 | }); 27 | 28 | it('tests the same thing for es6 classes and TypeScript', function() { 29 | expect(ts).toEqualSpecsIn(es6); 30 | }); 31 | 32 | }); 33 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/modern/types/__tests__/ReactFlowPropTypes-test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2014-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @emails react-core 10 | */ 11 | 12 | 'use strict'; 13 | 14 | describe('ReactFlowPropTypes', function() { 15 | 16 | // TODO: Test Flow integration and ensure that prop types works. 17 | 18 | }); 19 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/modern/types/__tests__/ReactTypeScriptPropTypes-test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2014-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @emails react-core 10 | */ 11 | 12 | 'use strict'; 13 | 14 | describe('ReactTypeScriptPropTypes', function() { 15 | 16 | // TODO: Test TypeScript integration and ensure that prop types works. 17 | 18 | }); 19 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react", 3 | "jstest": { 4 | "useAutoMock": false 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/test/all.js: -------------------------------------------------------------------------------- 1 | // This file exists both to give a single entry point for all the utility 2 | // modules in src/test and to specify an ordering on those modules, since 3 | // some still have implicit dependencies on others. 4 | 5 | require("./phantomjs-shims"); 6 | require("ReactTestUtils"); 7 | require("reactComponentExpect"); 8 | require("mocks"); 9 | require("mock-modules"); 10 | require("./mock-timers"); 11 | 12 | exports.enableTest = function(testID) { 13 | describe(testID, function() { 14 | beforeEach(function() { 15 | require("mock-modules").setMockMap(mockMap); 16 | }); 17 | 18 | require("mock-modules").clearMockMap(); 19 | require("../" + testID); 20 | var mockMap = require("mock-modules").getMockMap(); 21 | }); 22 | }; 23 | 24 | exports.removeNextSiblings = function(node) { 25 | var parent = node && node.parentNode; 26 | if (parent) { 27 | while (node.nextSibling) { 28 | parent.removeChild(node.nextSibling); 29 | } 30 | } 31 | }; 32 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/test/getTestDocument.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule getTestDocument 10 | */ 11 | 12 | 'use strict'; 13 | 14 | function getTestDocument(markup) { 15 | var iframe = document.createElement('iframe'); 16 | iframe.style.display = 'none'; 17 | document.body.appendChild(iframe); 18 | 19 | var testDocument = iframe.contentDocument || iframe.contentWindow.document; 20 | testDocument.open(); 21 | testDocument.write( 22 | markup || 'test doc' 23 | ); 24 | testDocument.close(); 25 | 26 | iframe.parentNode.removeChild(iframe); 27 | return testDocument; 28 | } 29 | 30 | module.exports = getTestDocument; 31 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/test/worker.js: -------------------------------------------------------------------------------- 1 | /* jshint worker: true */ 2 | 'use strict'; 3 | 4 | if (typeof console == 'undefined') { 5 | this.console = { 6 | error: function(e) { 7 | postMessage(JSON.stringify({ 8 | type: 'error', 9 | message: e.message, 10 | stack: e.stack 11 | })); 12 | }, 13 | log: function(message) { 14 | postMessage(JSON.stringify({ 15 | type: 'log', 16 | message: message 17 | })); 18 | } 19 | } 20 | } 21 | 22 | console.log('worker BEGIN'); 23 | 24 | // The UMD wrapper tries to store on `global` if `window` isn't available 25 | var global = {}; 26 | importScripts("phantomjs-shims.js"); 27 | 28 | try { 29 | importScripts("../../build/react.js"); 30 | } catch (e) { 31 | console.error(e); 32 | } 33 | 34 | postMessage(JSON.stringify({ 35 | type: 'done' 36 | })); 37 | 38 | console.log('worker END'); 39 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/utils/__tests__/memoizeStringOnly-test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @emails react-core 10 | */ 11 | 12 | 'use strict'; 13 | 14 | describe('memoizeStringOnly', function() { 15 | var memoizeStringOnly; 16 | 17 | beforeEach(function() { 18 | require('mock-modules').dumpCache(); 19 | memoizeStringOnly = require('memoizeStringOnly'); 20 | }); 21 | 22 | it('should be transparent to callers', function() { 23 | var callback = function(string) { 24 | return string; 25 | }; 26 | var memoized = memoizeStringOnly(callback); 27 | 28 | expect(memoized('foo'), callback('foo')); 29 | }); 30 | }); 31 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/utils/adler32.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule adler32 10 | */ 11 | 12 | /* jslint bitwise:true */ 13 | 14 | 'use strict'; 15 | 16 | var MOD = 65521; 17 | 18 | // This is a clean-room implementation of adler32 designed for detecting 19 | // if markup is not what we expect it to be. It does not need to be 20 | // cryptographically strong, only reasonably good at detecting if markup 21 | // generated on the server is different than that on the client. 22 | function adler32(data) { 23 | var a = 1; 24 | var b = 0; 25 | for (var i = 0; i < data.length; i++) { 26 | a = (a + data.charCodeAt(i)) % MOD; 27 | b = (b + a) % MOD; 28 | } 29 | return a | (b << 16); 30 | } 31 | 32 | module.exports = adler32; 33 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/utils/escapeTextContentForBrowser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule escapeTextContentForBrowser 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var ESCAPE_LOOKUP = { 15 | '&': '&', 16 | '>': '>', 17 | '<': '<', 18 | '"': '"', 19 | '\'': ''' 20 | }; 21 | 22 | var ESCAPE_REGEX = /[&><"']/g; 23 | 24 | function escaper(match) { 25 | return ESCAPE_LOOKUP[match]; 26 | } 27 | 28 | /** 29 | * Escapes text to prevent scripting attacks. 30 | * 31 | * @param {*} text Text value to escape. 32 | * @return {string} An escaped string. 33 | */ 34 | function escapeTextContentForBrowser(text) { 35 | return ('' + text).replace(ESCAPE_REGEX, escaper); 36 | } 37 | 38 | module.exports = escapeTextContentForBrowser; 39 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/utils/forEachAccumulated.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule forEachAccumulated 10 | */ 11 | 12 | 'use strict'; 13 | 14 | /** 15 | * @param {array} an "accumulation" of items which is either an Array or 16 | * a single item. Useful when paired with the `accumulate` module. This is a 17 | * simple utility that allows us to reason about a collection of items, but 18 | * handling the case when there is exactly one item (and we do not need to 19 | * allocate an array). 20 | */ 21 | var forEachAccumulated = function(arr, cb, scope) { 22 | if (Array.isArray(arr)) { 23 | arr.forEach(cb, scope); 24 | } else if (arr) { 25 | cb.call(scope, arr); 26 | } 27 | }; 28 | 29 | module.exports = forEachAccumulated; 30 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/utils/memoizeStringOnly.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule memoizeStringOnly 10 | * @typechecks static-only 11 | */ 12 | 13 | 'use strict'; 14 | 15 | /** 16 | * Memoizes the return value of a function that accepts one string argument. 17 | * 18 | * @param {function} callback 19 | * @return {function} 20 | */ 21 | function memoizeStringOnly(callback) { 22 | var cache = {}; 23 | return function(string) { 24 | if (!cache.hasOwnProperty(string)) { 25 | cache[string] = callback.call(this, string); 26 | } 27 | return cache[string]; 28 | }; 29 | } 30 | 31 | module.exports = memoizeStringOnly; 32 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/utils/quoteAttributeValueForBrowser.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule quoteAttributeValueForBrowser 10 | */ 11 | 12 | 'use strict'; 13 | 14 | var escapeTextContentForBrowser = require('escapeTextContentForBrowser'); 15 | 16 | /** 17 | * Escapes attribute value to prevent scripting attacks. 18 | * 19 | * @param {*} value Value to escape. 20 | * @return {string} An escaped string. 21 | */ 22 | function quoteAttributeValueForBrowser(value) { 23 | return '"' + escapeTextContentForBrowser(value) + '"'; 24 | } 25 | 26 | module.exports = quoteAttributeValueForBrowser; 27 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/README.md: -------------------------------------------------------------------------------- 1 | The files in this directory are not related to React's core functionality. They are shared utility modules that are also used in other parts of Facebook's front-end. Changes to these files need more consideration than changes to React itself. 2 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/core/camelize.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule camelize 10 | * @typechecks 11 | */ 12 | 13 | var _hyphenPattern = /-(.)/g; 14 | 15 | /** 16 | * Camelcases a hyphenated string, for example: 17 | * 18 | * > camelize('background-color') 19 | * < "backgroundColor" 20 | * 21 | * @param {string} string 22 | * @return {string} 23 | */ 24 | function camelize(string) { 25 | return string.replace(_hyphenPattern, function(_, character) { 26 | return character.toUpperCase(); 27 | }); 28 | } 29 | 30 | module.exports = camelize; 31 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/core/dom/focusNode.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2014-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule focusNode 10 | */ 11 | 12 | "use strict"; 13 | 14 | /** 15 | * @param {DOMElement} node input/textarea to focus 16 | */ 17 | function focusNode(node) { 18 | // IE8 can throw "Can't move focus to the control because it is invisible, 19 | // not enabled, or of a type that does not accept the focus." for all kinds of 20 | // reasons that are too expensive and fragile to test. 21 | try { 22 | node.focus(); 23 | } catch(e) { 24 | } 25 | } 26 | 27 | module.exports = focusNode; 28 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/core/dom/getActiveElement.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule getActiveElement 10 | * @typechecks 11 | */ 12 | 13 | /** 14 | * Same as document.activeElement but wraps in a try-catch block. In IE it is 15 | * not safe to call document.activeElement if there is nothing focused. 16 | * 17 | * The activeElement will be null only if the document body is not yet defined. 18 | */ 19 | function getActiveElement() /*?DOMElement*/ { 20 | try { 21 | return document.activeElement || document.body; 22 | } catch (e) { 23 | return document.body; 24 | } 25 | } 26 | 27 | module.exports = getActiveElement; 28 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/core/dom/isNode.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule isNode 10 | * @typechecks 11 | */ 12 | 13 | /** 14 | * @param {*} object The object to check. 15 | * @return {boolean} Whether or not the object is a DOM node. 16 | */ 17 | function isNode(object) { 18 | return !!(object && ( 19 | typeof Node === 'function' ? object instanceof Node : 20 | typeof object === 'object' && 21 | typeof object.nodeType === 'number' && 22 | typeof object.nodeName === 'string' 23 | )); 24 | } 25 | 26 | module.exports = isNode; 27 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/core/dom/isTextNode.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule isTextNode 10 | * @typechecks 11 | */ 12 | 13 | var isNode = require('isNode'); 14 | 15 | /** 16 | * @param {*} object The object to check. 17 | * @return {boolean} Whether or not the object is a DOM text node. 18 | */ 19 | function isTextNode(object) { 20 | return isNode(object) && object.nodeType == 3; 21 | } 22 | 23 | module.exports = isTextNode; 24 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/core/emptyObject.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule emptyObject 10 | */ 11 | 12 | "use strict"; 13 | 14 | var emptyObject = {}; 15 | 16 | if (__DEV__) { 17 | Object.freeze(emptyObject); 18 | } 19 | 20 | module.exports = emptyObject; 21 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/core/hyphenate.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule hyphenate 10 | * @typechecks 11 | */ 12 | 13 | var _uppercasePattern = /([A-Z])/g; 14 | 15 | /** 16 | * Hyphenates a camelcased string, for example: 17 | * 18 | * > hyphenate('backgroundColor') 19 | * < "background-color" 20 | * 21 | * For CSS style names, use `hyphenateStyleName` instead which works properly 22 | * with all vendor prefixes, including `ms`. 23 | * 24 | * @param {string} string 25 | * @return {string} 26 | */ 27 | function hyphenate(string) { 28 | return string.replace(_uppercasePattern, '-$1').toLowerCase(); 29 | } 30 | 31 | module.exports = hyphenate; 32 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/core/monitorCodeUse.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2014-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule monitorCodeUse 10 | */ 11 | 12 | "use strict"; 13 | 14 | var invariant = require('invariant'); 15 | 16 | /** 17 | * Provides open-source compatible instrumentation for monitoring certain API 18 | * uses before we're ready to issue a warning or refactor. It accepts an event 19 | * name which may only contain the characters [a-z0-9_] and an optional data 20 | * object with further information. 21 | */ 22 | 23 | function monitorCodeUse(eventName, data) { 24 | invariant( 25 | eventName && !/[^a-z0-9_]/.test(eventName), 26 | 'You must provide an eventName using only the characters [a-z0-9_]' 27 | ); 28 | } 29 | 30 | module.exports = monitorCodeUse; 31 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/core/nativeRequestAnimationFrame.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2014-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule nativeRequestAnimationFrame 10 | */ 11 | 12 | var nativeRequestAnimationFrame = 13 | global.requestAnimationFrame || 14 | global.webkitRequestAnimationFrame || 15 | global.mozRequestAnimationFrame || 16 | global.oRequestAnimationFrame || 17 | global.msRequestAnimationFrame; 18 | 19 | module.exports = nativeRequestAnimationFrame; 20 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/core/requestAnimationFrame.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2014-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule requestAnimationFrame 10 | */ 11 | 12 | var emptyFunction = require('emptyFunction'); 13 | var nativeRequestAnimationFrame = require('nativeRequestAnimationFrame'); 14 | 15 | var lastTime = 0; 16 | 17 | var requestAnimationFrame = 18 | nativeRequestAnimationFrame || 19 | function(callback) { 20 | var currTime = Date.now(); 21 | var timeDelay = Math.max(0, 16 - (currTime - lastTime)); 22 | lastTime = currTime + timeDelay; 23 | return global.setTimeout(function() { 24 | callback(Date.now()); 25 | }, timeDelay); 26 | }; 27 | 28 | // Works around a rare bug in Safari 6 where the first request is never invoked. 29 | requestAnimationFrame(emptyFunction); 30 | 31 | module.exports = requestAnimationFrame; 32 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/performance/performance.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule performance 10 | * @typechecks 11 | */ 12 | 13 | "use strict"; 14 | 15 | var ExecutionEnvironment = require('ExecutionEnvironment'); 16 | 17 | var performance; 18 | 19 | if (ExecutionEnvironment.canUseDOM) { 20 | performance = 21 | window.performance || 22 | window.msPerformance || 23 | window.webkitPerformance; 24 | } 25 | 26 | module.exports = performance || {}; 27 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/performance/performanceNow.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule performanceNow 10 | * @typechecks 11 | */ 12 | 13 | var performance = require('performance'); 14 | 15 | /** 16 | * Detect if we can use `window.performance.now()` and gracefully fallback to 17 | * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now 18 | * because of Facebook's testing infrastructure. 19 | */ 20 | if (!performance || !performance.now) { 21 | performance = Date; 22 | } 23 | 24 | var performanceNow = performance.now.bind(performance); 25 | 26 | module.exports = performanceNow; 27 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/src/vendor/stubs/ReactErrorUtils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | * 9 | * @providesModule ReactErrorUtils 10 | * @typechecks 11 | */ 12 | 13 | "use strict"; 14 | 15 | var ReactErrorUtils = { 16 | /** 17 | * Creates a guarded version of a function. This is supposed to make debugging 18 | * of event handlers easier. To aid debugging with the browser's debugger, 19 | * this currently simply returns the original function. 20 | * 21 | * @param {function} func Function to be executed 22 | * @param {string} name The name of the guard 23 | * @return {function} 24 | */ 25 | guard: function(func, name) { 26 | return func; 27 | } 28 | }; 29 | 30 | module.exports = ReactErrorUtils; 31 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/react-tools/vendor/inline-source-map.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013-2015, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | 'use strict'; 11 | /*eslint-disable no-undef*/ 12 | var Buffer = require('buffer').Buffer; 13 | 14 | function inlineSourceMap(sourceMap, sourceCode, sourceFilename) { 15 | // This can be used with a sourcemap that has already has toJSON called on it. 16 | // Check first. 17 | var json = sourceMap; 18 | if (typeof sourceMap.toJSON === 'function') { 19 | json = sourceMap.toJSON(); 20 | } 21 | json.sources = [sourceFilename]; 22 | json.sourcesContent = [sourceCode]; 23 | var base64 = Buffer(JSON.stringify(json)).toString('base64'); 24 | return '//# sourceMappingURL=data:application/json;base64,' + base64; 25 | } 26 | 27 | module.exports = inlineSourceMap; 28 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/through/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.6 4 | - 0.8 5 | - "0.10" 6 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/through/LICENSE.APACHE2: -------------------------------------------------------------------------------- 1 | Apache License, Version 2.0 2 | 3 | Copyright (c) 2011 Dominic Tarr 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/through/test/async.js: -------------------------------------------------------------------------------- 1 | var from = require('from') 2 | var through = require('../') 3 | 4 | var tape = require('tape') 5 | 6 | tape('simple async example', function (t) { 7 | 8 | var n = 0, expected = [1,2,3,4,5], actual = [] 9 | from(expected) 10 | .pipe(through(function(data) { 11 | this.pause() 12 | n ++ 13 | setTimeout(function(){ 14 | console.log('pushing data', data) 15 | this.push(data) 16 | this.resume() 17 | }.bind(this), 300) 18 | })).pipe(through(function(data) { 19 | console.log('pushing data second time', data); 20 | this.push(data) 21 | })).on('data', function (d) { 22 | actual.push(d) 23 | }).on('end', function() { 24 | t.deepEqual(actual, expected) 25 | t.end() 26 | }) 27 | 28 | }) 29 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/through/test/auto-destroy.js: -------------------------------------------------------------------------------- 1 | var test = require('tape') 2 | var through = require('../') 3 | 4 | // must emit end before close. 5 | 6 | test('end before close', function (assert) { 7 | var ts = through() 8 | ts.autoDestroy = false 9 | var ended = false, closed = false 10 | 11 | ts.on('end', function () { 12 | assert.ok(!closed) 13 | ended = true 14 | }) 15 | ts.on('close', function () { 16 | assert.ok(ended) 17 | closed = true 18 | }) 19 | 20 | ts.write(1) 21 | ts.write(2) 22 | ts.write(3) 23 | ts.end() 24 | assert.ok(ended) 25 | assert.notOk(closed) 26 | ts.destroy() 27 | assert.ok(closed) 28 | assert.end() 29 | }) 30 | 31 | -------------------------------------------------------------------------------- /node_modules/reactify/node_modules/through/test/end.js: -------------------------------------------------------------------------------- 1 | var test = require('tape') 2 | var through = require('../') 3 | 4 | // must emit end before close. 5 | 6 | test('end before close', function (assert) { 7 | var ts = through() 8 | var ended = false, closed = false 9 | 10 | ts.on('end', function () { 11 | assert.ok(!closed) 12 | ended = true 13 | }) 14 | ts.on('close', function () { 15 | assert.ok(ended) 16 | closed = true 17 | }) 18 | 19 | ts.write(1) 20 | ts.write(2) 21 | ts.write(3) 22 | ts.end() 23 | assert.ok(ended) 24 | assert.ok(closed) 25 | assert.end() 26 | }) 27 | 28 | test('end only once', function (t) { 29 | 30 | var ts = through() 31 | var ended = false, closed = false 32 | 33 | ts.on('end', function () { 34 | t.equal(ended, false) 35 | ended = true 36 | }) 37 | 38 | ts.queue(null) 39 | ts.queue(null) 40 | ts.queue(null) 41 | 42 | ts.resume() 43 | 44 | t.end() 45 | }) 46 | -------------------------------------------------------------------------------- /node_modules/reactify/test/fixtures/invalid.js: -------------------------------------------------------------------------------- 1 | /** @jsx React.DOM */ 2 | 3 | require('./main.jsx'); 4 | 5 | React.renderComponent( 6 |

Hello, world!; 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /node_modules/reactify/test/fixtures/main.es6-target-es5.jsx: -------------------------------------------------------------------------------- 1 | class Foo { 2 | get bar() {} 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/reactify/test/fixtures/main.es6.jsx: -------------------------------------------------------------------------------- 1 | var func = (x) =>
{x}
; 2 | -------------------------------------------------------------------------------- /node_modules/reactify/test/fixtures/main.js: -------------------------------------------------------------------------------- 1 | require('./main.jsx'); 2 | 3 | React.renderComponent( 4 |

Hello, world!

, 5 | document.getElementById('example') 6 | ); 7 | -------------------------------------------------------------------------------- /node_modules/reactify/test/fixtures/main.jsnox: -------------------------------------------------------------------------------- 1 | React.renderComponent( 2 |

Hello, world!

, 3 | document.getElementById('example') 4 | ); 5 | -------------------------------------------------------------------------------- /node_modules/reactify/test/fixtures/main.jsx: -------------------------------------------------------------------------------- 1 | require('./main') 2 | 3 | React.renderComponent( 4 |

Hello, world!

, 5 | document.getElementById('example') 6 | ); 7 | -------------------------------------------------------------------------------- /node_modules/reactify/test/fixtures/main.strip-types-es6.jsx: -------------------------------------------------------------------------------- 1 | class Foo { 2 | bar(x: string) {} 3 | } 4 | -------------------------------------------------------------------------------- /node_modules/reactify/test/fixtures/main.strip-types.js: -------------------------------------------------------------------------------- 1 | var x: Number = 1; 2 | 3 | function y(param: A): B { 4 | return 1; 5 | } 6 | -------------------------------------------------------------------------------- /node_modules/reactify/test/fixtures/simple.js: -------------------------------------------------------------------------------- 1 | require('./main.jsx'); 2 | 3 | 1 + 1; 4 | -------------------------------------------------------------------------------- /node_modules/reflux/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | indent_style = space 7 | trim_trailing_whitespace = true 8 | charset = utf-8 9 | 10 | [*.js] 11 | indent_size = 4 12 | 13 | [{package.json,.travis.yml,Gruntfile.js}] 14 | indent_size = 2 15 | -------------------------------------------------------------------------------- /node_modules/reflux/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "maxerr": 50, 3 | 4 | "curly": true, 5 | "unused": true, 6 | "undef": true, 7 | 8 | "browser": true, 9 | "devel": true, 10 | "node": true, 11 | 12 | "globals": { 13 | "Promise":true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/reflux/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | test/ 3 | tmp/ 4 | dist/ 5 | -------------------------------------------------------------------------------- /node_modules/reflux/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "4.1.2" 5 | 6 | env: 7 | - REACT_VERSION=0.12 8 | - REACT_VERSION=0.13 9 | - REACT_VERSION=0.14 10 | 11 | before_install: 12 | - "export DISPLAY=:99.0" 13 | - "sh -e /etc/init.d/xvfb start" 14 | 15 | before_script: 16 | - "npm install react@$REACT_VERSION" 17 | 18 | script: 19 | - npm test 20 | - if [ "$SAUCE_USERNAME" ]; then npm run test:sauce; fi 21 | 22 | env: 23 | global: 24 | - secure: B0emLHNPO7BVpq2lT/KAPW1miUOhgODa/qoVqYbFspcdoBVfJmO1FpcgEppE8fuEecaOv9QfSI3hwGOUkzm9kp8HFde8ZenR5beauhfploXMQB/bbNjd0cBz0ORRMwzsTFg9GeWcnStr+9H05833W84K3N1oy3ShT68kYRWObh4= 25 | - secure: LZNuke26p3RYq5jbSB1oDlG8AeCY1fm8uBoVWmCdKKmmgV/+nKXDgdYygE/yeAPm39XnZ8jGH64ctHVixpgc8TQDa9ZCwOr1q3SWVL+dVAwhKm7WQ9/v2yW/c/zOEuYzvGqr1ylAC8PfwqYA6ShGUnSWAua7TIOeYqdtAjGbU1k= 26 | 27 | addons: 28 | sauce_connect: true 29 | 30 | sudo: false 31 | -------------------------------------------------------------------------------- /node_modules/reflux/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "reflux", 3 | "homepage": "https://github.com/spoike/reflux", 4 | "authors": [ 5 | "Mikael Brassman " 6 | ], 7 | "description": "A simple library for uni-directional dataflow architecture inspired by ReactJS Flux", 8 | "main": "dist/reflux.js", 9 | "keywords": [ 10 | "action", 11 | "event", 12 | "data", 13 | "flux", 14 | "reactjs" 15 | ], 16 | "license": "BSD-3-Clause", 17 | "ignore": [ 18 | "**/.*", 19 | "node_modules", 20 | "bower_components", 21 | "test", 22 | "src", 23 | "Gruntfile.js", 24 | "karma.conf.js", 25 | "package.json" 26 | ], 27 | "dependencies": { 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /node_modules/reflux/karma.conf.js: -------------------------------------------------------------------------------- 1 | module.exports = function(config) { 2 | config.set({ 3 | logLevel: 'LOG_DEBUG', 4 | 5 | reporters: ['spec'], 6 | 7 | singleRun : true, 8 | autoWatch : false, 9 | 10 | frameworks: [ 11 | 'mocha', 12 | 'browserify' 13 | ], 14 | 15 | files: [ 16 | 'test/shims/phantomjs-shims.js', 17 | 'test/*.spec.js' 18 | ], 19 | 20 | preprocessors: { 21 | 'test/shims/phantomjs-shims.js': ['browserify'], 22 | 'test/*.spec.js': ['browserify'] 23 | }, 24 | 25 | browserify: { 26 | debug: true 27 | } 28 | }); 29 | }; 30 | -------------------------------------------------------------------------------- /node_modules/reflux/node_modules/reflux-core/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | indent_style = space 7 | trim_trailing_whitespace = true 8 | charset = utf-8 9 | 10 | [*.js] 11 | indent_size = 4 12 | 13 | [{package.json,.travis.yml,Gruntfile.js}] 14 | indent_size = 2 15 | -------------------------------------------------------------------------------- /node_modules/reflux/node_modules/reflux-core/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "parser": "babel-eslint", 3 | "env": { 4 | "node": true 5 | }, 6 | "rules": { 7 | "strict": 0, 8 | "no-use-before-define": 0 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/reflux/node_modules/reflux-core/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "maxerr": 50, 3 | 4 | "curly": true, 5 | "unused": true, 6 | "undef": true, 7 | 8 | "browser": true, 9 | "devel": true, 10 | "node": true, 11 | 12 | "globals": { 13 | "Promise":true 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/reflux/node_modules/reflux-core/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | test/ 3 | tmp/ 4 | src/ 5 | scripts/ 6 | -------------------------------------------------------------------------------- /node_modules/reflux/node_modules/reflux-core/lib/ActionMethods.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A module of methods that you want to include in all actions. 3 | * This module is consumed by `createAction`. 4 | */ 5 | "use strict"; 6 | 7 | module.exports = {}; -------------------------------------------------------------------------------- /node_modules/reflux/node_modules/reflux-core/lib/Keep.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.createdStores = []; 4 | 5 | exports.createdActions = []; 6 | 7 | exports.reset = function () { 8 | while (exports.createdStores.length) { 9 | exports.createdStores.pop(); 10 | } 11 | while (exports.createdActions.length) { 12 | exports.createdActions.pop(); 13 | } 14 | }; -------------------------------------------------------------------------------- /node_modules/reflux/node_modules/reflux-core/lib/StoreMethods.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A module of methods that you want to include in all stores. 3 | * This module is consumed by `createStore`. 4 | */ 5 | "use strict"; 6 | 7 | module.exports = {}; -------------------------------------------------------------------------------- /node_modules/reflux/node_modules/reflux-core/lib/bindMethods.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | module.exports = function (store, definition) { 4 | for (var name in definition) { 5 | if (Object.getOwnPropertyDescriptor && Object.defineProperty) { 6 | var propertyDescriptor = Object.getOwnPropertyDescriptor(definition, name); 7 | 8 | if (!propertyDescriptor.value || typeof propertyDescriptor.value !== "function" || !definition.hasOwnProperty(name)) { 9 | continue; 10 | } 11 | 12 | store[name] = definition[name].bind(store); 13 | } else { 14 | var property = definition[name]; 15 | 16 | if (typeof property !== "function" || !definition.hasOwnProperty(name)) { 17 | continue; 18 | } 19 | 20 | store[name] = property.bind(store); 21 | } 22 | } 23 | 24 | return store; 25 | }; -------------------------------------------------------------------------------- /node_modules/reflux/src/ListenerMixin.js: -------------------------------------------------------------------------------- 1 | var _ = require('reflux-core/lib/utils'), 2 | ListenerMethods = require('reflux-core/lib/ListenerMethods'); 3 | 4 | /** 5 | * A module meant to be consumed as a mixin by a React component. Supplies the methods from 6 | * `ListenerMethods` mixin and takes care of teardown of subscriptions. 7 | * Note that if you're using the `connect` mixin you don't need this mixin, as connect will 8 | * import everything this mixin contains! 9 | */ 10 | module.exports = _.extend({ 11 | 12 | /** 13 | * Cleans up all listener previously registered. 14 | */ 15 | componentWillUnmount: ListenerMethods.stopListeningToAll 16 | 17 | }, ListenerMethods); 18 | -------------------------------------------------------------------------------- /node_modules/reflux/src/connect.js: -------------------------------------------------------------------------------- 1 | var ListenerMethods = require('reflux-core/lib/ListenerMethods'), 2 | ListenerMixin = require('./ListenerMixin'), 3 | _ = require('reflux-core/lib/utils'); 4 | 5 | module.exports = function(listenable,key){ 6 | return { 7 | getInitialState: function(){ 8 | if (!_.isFunction(listenable.getInitialState)) { 9 | return {}; 10 | } else if (key === undefined) { 11 | return listenable.getInitialState(); 12 | } else { 13 | return _.object([key],[listenable.getInitialState()]); 14 | } 15 | }, 16 | componentDidMount: function(){ 17 | _.extend(this,ListenerMethods); 18 | var me = this, cb = (key === undefined ? this.setState : function(v){ 19 | if (typeof me.isMounted === "undefined" || me.isMounted() === true) { 20 | me.setState(_.object([key],[v])); 21 | } 22 | }); 23 | this.listenTo(listenable,cb); 24 | }, 25 | componentWillUnmount: ListenerMixin.componentWillUnmount 26 | }; 27 | }; 28 | -------------------------------------------------------------------------------- /node_modules/reflux/src/index.js: -------------------------------------------------------------------------------- 1 | var Reflux = require('reflux-core'); 2 | 3 | Reflux.connect = require('./connect'); 4 | 5 | Reflux.connectFilter = require('./connectFilter'); 6 | 7 | Reflux.ListenerMixin = require('./ListenerMixin'); 8 | 9 | Reflux.listenTo = require('./listenTo'); 10 | 11 | Reflux.listenToMany = require('./listenToMany'); 12 | 13 | module.exports = Reflux; 14 | -------------------------------------------------------------------------------- /output/output.go: -------------------------------------------------------------------------------- 1 | package output 2 | 3 | type Output interface { 4 | // Push puts the sample on the output buffer. 5 | Push(samples []float32) 6 | Stop() 7 | Start() 8 | } 9 | 10 | var outputs = make(map[config]Output) 11 | 12 | type config struct { 13 | sr, ch int 14 | } 15 | 16 | func Get(sampleRate, channels int) (Output, error) { 17 | c := config{sampleRate, channels} 18 | if p, ok := outputs[c]; ok { 19 | p.Start() 20 | return p, nil 21 | } 22 | p, err := get(sampleRate, channels) 23 | if err != nil { 24 | return nil, err 25 | } 26 | outputs[c] = p 27 | p.Start() 28 | return p, nil 29 | } 30 | -------------------------------------------------------------------------------- /server/static/fonts/MaterialIcons-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maddyblue/moggio/83fbf3eb4182d564316f2dec5a85dbc4a86b1752/server/static/fonts/MaterialIcons-Regular.woff -------------------------------------------------------------------------------- /server/static/fonts/Roboto-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maddyblue/moggio/83fbf3eb4182d564316f2dec5a85dbc4a86b1752/server/static/fonts/Roboto-Bold.woff -------------------------------------------------------------------------------- /server/static/fonts/Roboto-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maddyblue/moggio/83fbf3eb4182d564316f2dec5a85dbc4a86b1752/server/static/fonts/Roboto-Light.woff -------------------------------------------------------------------------------- /server/static/fonts/Roboto-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maddyblue/moggio/83fbf3eb4182d564316f2dec5a85dbc4a86b1752/server/static/fonts/Roboto-Medium.woff -------------------------------------------------------------------------------- /server/static/fonts/Roboto-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maddyblue/moggio/83fbf3eb4182d564316f2dec5a85dbc4a86b1752/server/static/fonts/Roboto-Regular.woff -------------------------------------------------------------------------------- /server/static/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | moggio 7 | 8 | 9 | 10 | 11 | 12 |
13 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /shell.nix: -------------------------------------------------------------------------------- 1 | with import { }; 2 | 3 | stdenv.mkDerivation rec { 4 | name = "moggio"; 5 | buildInputs = with pkgs; [ go_1_16 libpulseaudio pkg-config ]; 6 | shellHook = '' 7 | export PS1='nix@\w$(__git_ps1 " (%s)")\$ ' 8 | ''; 9 | } 10 | --------------------------------------------------------------------------------