diff --git a/examples/with-cerebral/.gitignore b/examples/with-cerebral/.gitignore deleted file mode 100644 index c87c9b392c02..000000000000 --- a/examples/with-cerebral/.gitignore +++ /dev/null @@ -1,36 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# local env files -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/examples/with-cerebral/README.md b/examples/with-cerebral/README.md deleted file mode 100644 index 63d2e5060188..000000000000 --- a/examples/with-cerebral/README.md +++ /dev/null @@ -1,59 +0,0 @@ -# Declarative State & Side-effect management with [CerebralJS](https://cerebraljs.com/) - -Use [CerebralJS](https://cerebraljs.com/) to manage an apps state and side effects in a declarative manner: - -Declarative CerebralJS: - -```js -;[ - setLoading(true), - getUser, - { - success: setUser, - error: setError, - }, - setLoading(false), -] -``` - -vs imperative JS: - -```js -function getUser() { - this.isLoading = true - ajax - .get('/user') - .then((user) => { - this.data = user - this.isLoading = false - }) - .catch((error) => { - this.error = error - this.isLoading = false - }) -} -``` - -## Deploy your own - -Deploy the example using [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example) or preview live with [StackBlitz](https://stackblitz.com/github/vercel/next.js/tree/canary/examples/with-cerebral) - -[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-cerebral&project-name=with-cerebral&repository-name=with-cerebral) - -## How to use - -Execute [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) with [npm](https://docs.npmjs.com/cli/init), [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/), or [pnpm](https://pnpm.io) to bootstrap the example: - -```bash -npx create-next-app --example with-cerebral with-cerebral-app -``` - -```bash -yarn create next-app --example with-cerebral with-cerebral-app -``` - -```bash -pnpm create next-app --example with-cerebral with-cerebral-app -``` - -Deploy it to the cloud with [Vercel](https://vercel.com/new?utm_source=github&utm_medium=readme&utm_campaign=next-example) ([Documentation](https://nextjs.org/docs/deployment)). diff --git a/examples/with-cerebral/components/Clock.js b/examples/with-cerebral/components/Clock.js deleted file mode 100644 index e2f4fcc8a3c3..000000000000 --- a/examples/with-cerebral/components/Clock.js +++ /dev/null @@ -1,24 +0,0 @@ -const pad = (n) => (n < 10 ? `0${n}` : n) -const format = (t) => - `${pad(t.getUTCHours())}:${pad(t.getUTCMinutes())}:${pad(t.getUTCSeconds())}` - -export default function Clock(props) { - return ( -
- {format(new Date(props.lastUpdate))} - -
- ) -} diff --git a/examples/with-cerebral/components/Page.js b/examples/with-cerebral/components/Page.js deleted file mode 100644 index c7739b24dc33..000000000000 --- a/examples/with-cerebral/components/Page.js +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react' -import Link from 'next/link' -import { connect } from '@cerebral/react' -import { state, signal } from 'cerebral/tags' -import Clock from './Clock' - -export default connect( - { - lastUpdate: state`clock.lastUpdate`, - light: state`clock.light`, - mounted: signal`clock.mounted`, - unMounted: signal`clock.unMounted`, - }, - class Page extends React.Component { - componentDidMount() { - this.props.mounted() - } - - componentWillUnmount() { - this.props.unMounted() - } - render() { - return ( -
-

{this.props.title}

- - -
- ) - } - } -) diff --git a/examples/with-cerebral/modules/clock/actions.js b/examples/with-cerebral/modules/clock/actions.js deleted file mode 100644 index 265203894f24..000000000000 --- a/examples/with-cerebral/modules/clock/actions.js +++ /dev/null @@ -1,7 +0,0 @@ -export function startTimer({ clock }) { - clock.start('clock.secondTicked') -} - -export function stopTimer({ clock }) { - clock.stop() -} diff --git a/examples/with-cerebral/modules/clock/index.js b/examples/with-cerebral/modules/clock/index.js deleted file mode 100644 index 66c5bae164af..000000000000 --- a/examples/with-cerebral/modules/clock/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import { mounted, unMounted, secondTicked } from './signals' -import provider from './provider' - -export default { - state: { - lastUpdate: 0, - light: false, - }, - signals: { - mounted, - unMounted, - secondTicked, - }, - provider, -} diff --git a/examples/with-cerebral/modules/clock/provider.js b/examples/with-cerebral/modules/clock/provider.js deleted file mode 100644 index 2b478ca05c1c..000000000000 --- a/examples/with-cerebral/modules/clock/provider.js +++ /dev/null @@ -1,26 +0,0 @@ -// milliseconds per second -const SECOND = 1000 -let timer = null - -export default function provider(context) { - context.clock = { - start(signalPath) { - const signal = context.controller.getSignal(signalPath) - - function tick() { - const now = Date.now() - - signal({ now }) - - timer = setTimeout(tick, SECOND - (now % SECOND)) - } - - tick() - }, - stop() { - clearTimeout(timer) - }, - } - - return context -} diff --git a/examples/with-cerebral/modules/clock/signals.js b/examples/with-cerebral/modules/clock/signals.js deleted file mode 100644 index 3a7e389bac3a..000000000000 --- a/examples/with-cerebral/modules/clock/signals.js +++ /dev/null @@ -1,7 +0,0 @@ -import { set } from 'cerebral/operators' -import { state, props } from 'cerebral/tags' -import { startTimer, stopTimer } from './actions' - -export const mounted = [startTimer, set(state`clock.light`, true)] -export const unMounted = stopTimer -export const secondTicked = set(state`clock.lastUpdate`, props`now`) diff --git a/examples/with-cerebral/package.json b/examples/with-cerebral/package.json deleted file mode 100644 index 5b0f5100243b..000000000000 --- a/examples/with-cerebral/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "private": true, - "scripts": { - "dev": "next", - "build": "next build", - "start": "next start" - }, - "dependencies": { - "@cerebral/react": "^2.1.0", - "cerebral": "^3.1.0", - "next": "latest", - "react": "^18.2.0", - "react-dom": "^18.2.0" - } -} diff --git a/examples/with-cerebral/pages/index.js b/examples/with-cerebral/pages/index.js deleted file mode 100644 index f7fcc3f0944e..000000000000 --- a/examples/with-cerebral/pages/index.js +++ /dev/null @@ -1,26 +0,0 @@ -import { Controller } from 'cerebral' -import Devtools from 'cerebral/devtools' -import { Container } from '@cerebral/react' -import Page from '../components/Page' -import clock from '../modules/clock' - -const Home = (props) => { - const { stateChanges } = props - - const controller = Controller({ - devtools: - process.env.NODE_ENV === 'production' || typeof window === 'undefined' - ? null - : Devtools({ host: 'localhost:8787' }), - modules: { clock }, - stateChanges: stateChanges, - }) - - return ( - - - - ) -} - -export default Home diff --git a/examples/with-cerebral/pages/other.js b/examples/with-cerebral/pages/other.js deleted file mode 100644 index 2060cf15a925..000000000000 --- a/examples/with-cerebral/pages/other.js +++ /dev/null @@ -1,26 +0,0 @@ -import { Controller } from 'cerebral' -import Devtools from 'cerebral/devtools' -import { Container } from '@cerebral/react' -import Page from '../components/Page' -import clock from '../modules/clock' - -const Other = (props) => { - const { stateChanges } = props - - const controller = Controller({ - devtools: - process.env.NODE_ENV === 'production' || typeof window === 'undefined' - ? null - : Devtools({ host: 'localhost:8787' }), - modules: { clock }, - stateChanges: stateChanges, - }) - - return ( - - - - ) -} - -export default Other