0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-22 08:40:03 +01:00
posthog/frontend/editor-update-tsd.mjs
Marius Andra 2069c4cd8b
feat(frontend): build @posthog/lemon-ui and @posthog/apps-common (#10120)
* fix dayjs

* fix timeouts (we're not strictly speaking running in nodejs)

* export unexported type

* consolidate on a single FormInstance

* no need to rename

* fuse

* forminstance 2

* locationChanged

* BuiltLogic

* remove Type.ts exception

* fix duh

* playing with common apps

* playing with common apps

* fix some scss deprecations 🤷

* revert

* move packages/apps-common

* remove compiled json file

* build apps-common before other packages

* mkdirp, build types before running

* build types before the rest

* move imports json to packages folder

* mark some packages as external, saving 200kb

* revert nonsense

* remove ant dep

* make app source editor types optional for speed

* move dev server reloads to utils.mjs

* remove webpack start scripts (unused)

* refactor build/utils to support various dirs

* apps package

* revert some stuff

* yarn

* go back to the old location and commit packages.json in

* commit it in

* out of scope

* fix bad imports

* fix some postcss mess

* move to @posthog/apps-common

* add more stuff to apps

* include that in packages.json

* simple cjs build

* export everything

* simplify

* make separate package for lemonade

* more lemonade

* fix jest imports

* fix jest imports

* yarn as well

* src

* write types before building

* rename lemon-ui, part 1

* add readmes

* rename to lemon-ui, part 2

* this app source editor tsd is committed into the repo, so we don't need it before a build
2022-06-10 17:03:06 +02:00

34 lines
1.4 KiB
JavaScript

import fse from 'fs-extra'
import path from 'path'
import { isDev } from './utils.mjs'
import { fileURLToPath } from 'url'
export const __dirname = path.dirname(fileURLToPath(import.meta.url))
export function writeSourceCodeEditorTypes() {
const readFile = (p) => {
try {
return fse.readFileSync(path.resolve(__dirname, p), { encoding: 'utf-8' })
} catch (e) {
if (isDev) {
console.warn(
`🙈 Didn't find "${p}" for the app source editor. Build it with: yarn build:packages:types`
)
} else {
throw e
}
}
}
const types = {
'@types/react/index.d.ts': readFile('../node_modules/@types/react/index.d.ts'),
'@types/react/global.d.ts': readFile('../node_modules/@types/react/global.d.ts'),
'@types/kea/index.d.ts': readFile('../node_modules/kea/lib/index.d.ts'),
'@posthog/apps-common/index.d.ts': readFile('./@posthog/apps-common/dist/index.d.ts'),
'@posthog/lemon-ui/index.d.ts': readFile('./@posthog/lemon-ui/dist/index.d.ts'),
}
const packagesJsonFile = path.resolve(__dirname, './src/scenes/plugins/source/types/packages.json')
fse.mkdirpSync(path.dirname(packagesJsonFile))
fse.writeFileSync(packagesJsonFile, JSON.stringify(types, null, 4) + '\n')
}
writeSourceCodeEditorTypes()