Skip to content

Commit

Permalink
Rename simple-cache-provider to react-cache (#13755)
Browse files Browse the repository at this point in the history
  • Loading branch information
acdlite committed Oct 1, 2018
1 parent c521264 commit ce96e2d
Show file tree
Hide file tree
Showing 18 changed files with 215 additions and 187 deletions.
2 changes: 1 addition & 1 deletion fixtures/unstable-async/suspense/README.md
Expand Up @@ -26,7 +26,7 @@ Set [the `enableSuspense` flag](https://github.com/facebook/react/blob/d79238f1e
# 1: Build react from source # 1: Build react from source
cd /path/to/react cd /path/to/react
yarn yarn
yarn build dom-client,core,simple-cache-provider,schedule --type=NODE yarn build dom-client,core,react-cache,schedule --type=NODE


# 2: Install fixture dependencies # 2: Install fixture dependencies
cd fixtures/unstable-async/suspense/ cd fixtures/unstable-async/suspense/
Expand Down
2 changes: 1 addition & 1 deletion fixtures/unstable-async/suspense/src/components/App.js
Expand Up @@ -4,7 +4,7 @@ import {
unstable_trace as trace, unstable_trace as trace,
unstable_wrap as wrap, unstable_wrap as wrap,
} from 'scheduler/tracing'; } from 'scheduler/tracing';
import {createResource} from 'simple-cache-provider'; import {createResource} from 'react-cache';
import {cache} from '../cache'; import {cache} from '../cache';
import Spinner from './Spinner'; import Spinner from './Spinner';
import ContributorListPage from './ContributorListPage'; import ContributorListPage from './ContributorListPage';
Expand Down
@@ -1,5 +1,5 @@
import React, {Fragment} from 'react'; import React, {Fragment} from 'react';
import {createResource} from 'simple-cache-provider'; import {createResource} from 'react-cache';
import {cache} from '../cache'; import {cache} from '../cache';
import Spinner from './Spinner'; import Spinner from './Spinner';
import {fetchCoreContributorListJSON} from '../api'; import {fetchCoreContributorListJSON} from '../api';
Expand Down
@@ -1,5 +1,5 @@
import React, {Placeholder} from 'react'; import React, {Placeholder} from 'react';
import {createResource} from 'simple-cache-provider'; import {createResource} from 'react-cache';
import Spinner from './Spinner'; import Spinner from './Spinner';
import {cache} from '../cache'; import {cache} from '../cache';
import {fetchUserProfileJSON, fetchUserRepositoriesListJSON} from '../api'; import {fetchUserProfileJSON, fetchUserRepositoriesListJSON} from '../api';
Expand Down
2 changes: 1 addition & 1 deletion fixtures/unstable-async/time-slicing/README.md
Expand Up @@ -18,7 +18,7 @@ There are also known bugs and inefficiencies in master so **don't use this fixtu
# 1: Build react from source # 1: Build react from source
cd /path/to/react cd /path/to/react
yarn yarn
yarn build dom-client,core,simple-cache-provider,scheduler --type=NODE yarn build dom-client,core,react-cache,scheduler --type=NODE


# 2: Install fixture dependencies # 2: Install fixture dependencies
cd fixtures/unstable-async/time-slicing/ cd fixtures/unstable-async/time-slicing/
Expand Down
2 changes: 1 addition & 1 deletion packages/create-subscription/README.md
Expand Up @@ -8,7 +8,7 @@ This utility should be used for subscriptions to a single value that are typical


Other cases have **better long-term solutions**: Other cases have **better long-term solutions**:
* Redux/Flux stores should use the [context API](https://reactjs.org/docs/context.html) instead. * Redux/Flux stores should use the [context API](https://reactjs.org/docs/context.html) instead.
* I/O subscriptions (e.g. notifications) that update infrequently should use [`simple-cache-provider`](https://github.com/facebook/react/blob/master/packages/simple-cache-provider/README.md) instead. * I/O subscriptions (e.g. notifications) that update infrequently should use [`react-cache`](https://github.com/facebook/react/blob/master/packages/react-cache/README.md) instead.
* Complex libraries like Relay/Apollo should manage subscriptions manually with the same techniques which this library uses under the hood (as referenced [here](https://gist.github.com/bvaughn/d569177d70b50b58bff69c3c4a5353f3)) in a way that is most optimized for their library usage. * Complex libraries like Relay/Apollo should manage subscriptions manually with the same techniques which this library uses under the hood (as referenced [here](https://gist.github.com/bvaughn/d569177d70b50b58bff69c3c4a5353f3)) in a way that is most optimized for their library usage.


## Limitations in async mode ## Limitations in async mode
Expand Down
@@ -1,4 +1,4 @@
# simple-cache-provider # react-cache


A basic cache for React applications. It also serves as a reference for more A basic cache for React applications. It also serves as a reference for more
advanced caching implementations. advanced caching implementations.
Expand Down
Expand Up @@ -9,4 +9,4 @@


'use strict'; 'use strict';


export * from './src/SimpleCacheProvider'; export * from './src/ReactCache';
7 changes: 7 additions & 0 deletions packages/react-cache/npm/index.js
@@ -0,0 +1,7 @@
'use strict';

if (process.env.NODE_ENV === 'production') {
module.exports = require('./cjs/react-cache.production.min.js');
} else {
module.exports = require('./cjs/react-cache.development.js');
}
@@ -1,7 +1,7 @@
{ {
"name": "simple-cache-provider", "name": "react-cache",
"description": "A basic cache for React applications", "description": "A basic cache for React applications",
"version": "0.10.0", "version": "2.0.0-alpha.0",
"repository": "facebook/react", "repository": "facebook/react",
"files": [ "files": [
"LICENSE", "LICENSE",
Expand Down
Expand Up @@ -400,4 +400,4 @@ export function createResource<V, K, H: primitive>(


// Global cache has no eviction policy (except for, ya know, a browser refresh). // Global cache has no eviction policy (except for, ya know, a browser refresh).
const globalCache = createCache(noop); const globalCache = createCache(noop);
export const SimpleCache = React.createContext(globalCache); export const ReactCache = React.createContext(globalCache);
Expand Up @@ -9,16 +9,16 @@


'use strict'; 'use strict';


let SimpleCacheProvider; let ReactCache;


describe('SimpleCacheProvider', () => { describe('ReactCache', () => {
beforeEach(() => { beforeEach(() => {
jest.resetModules(); jest.resetModules();
SimpleCacheProvider = require('simple-cache-provider'); ReactCache = require('react-cache');
}); });


it('throws a promise if the requested value is not in the cache', async () => { it('throws a promise if the requested value is not in the cache', async () => {
const {createCache, createResource} = SimpleCacheProvider; const {createCache, createResource} = ReactCache;


function loadUpperCase(text) { function loadUpperCase(text) {
return Promise.resolve(text.toUpperCase()); return Promise.resolve(text.toUpperCase());
Expand All @@ -39,7 +39,7 @@ describe('SimpleCacheProvider', () => {
}); });


it('throws an error on the subsequent read if the promise is rejected', async () => { it('throws an error on the subsequent read if the promise is rejected', async () => {
const {createCache, createResource} = SimpleCacheProvider; const {createCache, createResource} = ReactCache;


let shouldFail = true; let shouldFail = true;
function loadUpperCase(text) { function loadUpperCase(text) {
Expand Down Expand Up @@ -83,7 +83,7 @@ describe('SimpleCacheProvider', () => {
}); });


it('can preload data ahead of time', async () => { it('can preload data ahead of time', async () => {
const {createCache, createResource} = SimpleCacheProvider; const {createCache, createResource} = ReactCache;


function loadUpperCase(text) { function loadUpperCase(text) {
return Promise.resolve(text.toUpperCase()); return Promise.resolve(text.toUpperCase());
Expand All @@ -99,7 +99,7 @@ describe('SimpleCacheProvider', () => {
}); });


it('does not throw if preloaded promise rejects', async () => { it('does not throw if preloaded promise rejects', async () => {
const {createCache, createResource} = SimpleCacheProvider; const {createCache, createResource} = ReactCache;


function loadUpperCase(text) { function loadUpperCase(text) {
return Promise.reject(new Error('uh oh')); return Promise.reject(new Error('uh oh'));
Expand All @@ -115,7 +115,7 @@ describe('SimpleCacheProvider', () => {
}); });


it('accepts custom hash function', async () => { it('accepts custom hash function', async () => {
const {createCache, createResource} = SimpleCacheProvider; const {createCache, createResource} = ReactCache;


function loadSum([a, b]) { function loadSum([a, b]) {
return Promise.resolve(a + b); return Promise.resolve(a + b);
Expand All @@ -138,7 +138,7 @@ describe('SimpleCacheProvider', () => {
}); });


it('warns if resourceType is a string or number', () => { it('warns if resourceType is a string or number', () => {
const {createCache} = SimpleCacheProvider; const {createCache} = ReactCache;


spyOnDev(console, 'error'); spyOnDev(console, 'error');
const cache = createCache(); const cache = createCache();
Expand Down Expand Up @@ -166,7 +166,7 @@ describe('SimpleCacheProvider', () => {
}); });


it('warns if non-primitive key is passed to a resource without a hash function', () => { it('warns if non-primitive key is passed to a resource without a hash function', () => {
const {createCache, createResource} = SimpleCacheProvider; const {createCache, createResource} = ReactCache;


spyOnDev(console, 'error'); spyOnDev(console, 'error');


Expand Down Expand Up @@ -197,7 +197,7 @@ describe('SimpleCacheProvider', () => {
}); });


it('stays within maximum capacity by evicting the least recently used record', async () => { it('stays within maximum capacity by evicting the least recently used record', async () => {
const {createCache, createResource} = SimpleCacheProvider; const {createCache, createResource} = ReactCache;


function loadIntegerString(int) { function loadIntegerString(int) {
return Promise.resolve(int + ''); return Promise.resolve(int + '');
Expand Down
Expand Up @@ -2,7 +2,7 @@ let React;
let ReactFeatureFlags; let ReactFeatureFlags;
let Fragment; let Fragment;
let ReactNoop; let ReactNoop;
let SimpleCacheProvider; let ReactCache;
let Placeholder; let Placeholder;
let StrictMode; let StrictMode;
let ConcurrentMode; let ConcurrentMode;
Expand All @@ -22,17 +22,17 @@ describe('ReactSuspense', () => {
React = require('react'); React = require('react');
Fragment = React.Fragment; Fragment = React.Fragment;
ReactNoop = require('react-noop-renderer'); ReactNoop = require('react-noop-renderer');
SimpleCacheProvider = require('simple-cache-provider'); ReactCache = require('react-cache');
Placeholder = React.Placeholder; Placeholder = React.Placeholder;
StrictMode = React.StrictMode; StrictMode = React.StrictMode;
ConcurrentMode = React.unstable_ConcurrentMode; ConcurrentMode = React.unstable_ConcurrentMode;
lazy = React.lazy; lazy = React.lazy;


function invalidateCache() { function invalidateCache() {
cache = SimpleCacheProvider.createCache(invalidateCache); cache = ReactCache.createCache(invalidateCache);
} }
invalidateCache(); invalidateCache();
TextResource = SimpleCacheProvider.createResource(([text, ms = 0]) => { TextResource = ReactCache.createResource(([text, ms = 0]) => {
return new Promise((resolve, reject) => return new Promise((resolve, reject) =>
setTimeout(() => { setTimeout(() => {
if (textResourceShouldFail) { if (textResourceShouldFail) {
Expand Down
6 changes: 3 additions & 3 deletions packages/react/src/__tests__/ReactProfiler-test.internal.js
Expand Up @@ -2172,15 +2172,15 @@ describe('Profiler', () => {
} }


beforeEach(() => { beforeEach(() => {
const SimpleCacheProvider = require('simple-cache-provider'); const ReactCache = require('react-cache');
function invalidateCache() { function invalidateCache() {
cache = SimpleCacheProvider.createCache(invalidateCache); cache = ReactCache.createCache(invalidateCache);
} }
invalidateCache(); invalidateCache();


resourcePromise = null; resourcePromise = null;


TextResource = SimpleCacheProvider.createResource(([text, ms = 0]) => { TextResource = ReactCache.createResource(([text, ms = 0]) => {
resourcePromise = new Promise((resolve, reject) => resourcePromise = new Promise((resolve, reject) =>
setTimeout(() => { setTimeout(() => {
yieldForRenderer(`Promise resolved [${text}]`); yieldForRenderer(`Promise resolved [${text}]`);
Expand Down
Expand Up @@ -13,7 +13,7 @@ let React;
let ReactFeatureFlags; let ReactFeatureFlags;
let ReactDOM; let ReactDOM;
let SchedulerTracing; let SchedulerTracing;
let SimpleCacheProvider; let ReactCache;


function initEnvForAsyncTesting() { function initEnvForAsyncTesting() {
// Boilerplate copied from ReactDOMRoot-test // Boilerplate copied from ReactDOMRoot-test
Expand Down Expand Up @@ -55,7 +55,7 @@ function loadModules() {
React = require('react'); React = require('react');
SchedulerTracing = require('scheduler/tracing'); SchedulerTracing = require('scheduler/tracing');
ReactDOM = require('react-dom'); ReactDOM = require('react-dom');
SimpleCacheProvider = require('simple-cache-provider'); ReactCache = require('react-cache');
} }


describe('ProfilerDOM', () => { describe('ProfilerDOM', () => {
Expand All @@ -82,11 +82,11 @@ describe('ProfilerDOM', () => {
onWorkStopped: () => {}, onWorkStopped: () => {},
}); });


cache = SimpleCacheProvider.createCache(() => {}); cache = ReactCache.createCache(() => {});


resourcePromise = null; resourcePromise = null;


TextResource = SimpleCacheProvider.createResource(([text, ms = 0]) => { TextResource = ReactCache.createResource(([text, ms = 0]) => {
resourcePromise = new Promise( resourcePromise = new Promise(
SchedulerTracing.unstable_wrap((resolve, reject) => { SchedulerTracing.unstable_wrap((resolve, reject) => {
setTimeout( setTimeout(
Expand Down
7 changes: 0 additions & 7 deletions packages/simple-cache-provider/npm/index.js

This file was deleted.

8 changes: 4 additions & 4 deletions scripts/rollup/bundles.js
Expand Up @@ -363,13 +363,13 @@ const bundles = [
externals: [], externals: [],
}, },


/******* Simple Cache Provider (experimental) *******/ /******* React Cache (experimental) *******/
{ {
label: 'simple-cache-provider', label: 'react-cache',
bundleTypes: [FB_WWW_DEV, FB_WWW_PROD, NODE_DEV, NODE_PROD], bundleTypes: [FB_WWW_DEV, FB_WWW_PROD, NODE_DEV, NODE_PROD],
moduleType: ISOMORPHIC, moduleType: ISOMORPHIC,
entry: 'simple-cache-provider', entry: 'react-cache',
global: 'SimpleCacheProvider', global: 'ReactCache',
externals: ['react'], externals: ['react'],
}, },


Expand Down

0 comments on commit ce96e2d

Please sign in to comment.