From 7f7b77607be9f6600d3c9704ca6425d668fe53e3 Mon Sep 17 00:00:00 2001 From: Ian Thomas Date: Tue, 29 Apr 2025 17:45:14 +0100 Subject: [PATCH] Add created recipe files --- typescript/angular_ng/created/README.md | 59 +++++++++++ typescript/angular_ng/created/angular.json | 97 ++++++++++++++++++ typescript/angular_ng/created/package.json | 30 ++++++ .../angular_ng/created/public/favicon.ico | Bin 0 -> 15086 bytes .../created/src/app/app.component.ts | 11 ++ .../angular_ng/created/src/app/app.config.ts | 5 + .../src/app/bokeh-js/bokeh-js.component.ts | 31 ++++++ typescript/angular_ng/created/src/index.html | 13 +++ typescript/angular_ng/created/src/main.ts | 6 ++ typescript/angular_ng/created/src/styles.css | 1 + .../angular_ng/created/tsconfig.app.json | 15 +++ typescript/angular_ng/created/tsconfig.json | 27 +++++ typescript/react_vite/created/README.md | 54 ++++++++++ .../react_vite/created/eslint.config.js | 28 +++++ typescript/react_vite/created/index.html | 13 +++ typescript/react_vite/created/package.json | 30 ++++++ typescript/react_vite/created/src/App.tsx | 11 ++ .../react_vite/created/src/BokehComponent.tsx | 35 +++++++ typescript/react_vite/created/src/main.tsx | 9 ++ .../react_vite/created/src/vite-env.d.ts | 1 + .../react_vite/created/tsconfig.app.json | 26 +++++ typescript/react_vite/created/tsconfig.json | 7 ++ .../react_vite/created/tsconfig.node.json | 24 +++++ typescript/react_vite/created/vite.config.ts | 7 ++ .../vanilla_rspack/created/assets/index.html | 10 ++ .../vanilla_rspack/created/package.json | 24 +++++ .../vanilla_rspack/created/rspack.config.ts | 21 ++++ .../vanilla_rspack/created/src/index.ts | 20 ++++ .../vanilla_rspack/created/tsconfig.json | 11 ++ typescript/vanilla_vite/created/index.html | 13 +++ typescript/vanilla_vite/created/package.json | 18 ++++ typescript/vanilla_vite/created/src/main.ts | 22 ++++ .../vanilla_vite/created/src/vite-env.d.ts | 1 + typescript/vanilla_vite/created/tsconfig.json | 24 +++++ .../vanilla_webpack/created/assets/index.html | 10 ++ .../vanilla_webpack/created/package.json | 25 +++++ .../vanilla_webpack/created/src/index.ts | 20 ++++ .../vanilla_webpack/created/tsconfig.json | 11 ++ .../vanilla_webpack/created/webpack.config.ts | 22 ++++ typescript/vue_vite/created/README.md | 5 + typescript/vue_vite/created/index.html | 13 +++ typescript/vue_vite/created/package.json | 22 ++++ typescript/vue_vite/created/src/App.vue | 7 ++ .../created/src/components/BokehComponent.vue | 30 ++++++ typescript/vue_vite/created/src/main.ts | 4 + typescript/vue_vite/created/src/vite-env.d.ts | 1 + typescript/vue_vite/created/tsconfig.app.json | 14 +++ typescript/vue_vite/created/tsconfig.json | 7 ++ .../vue_vite/created/tsconfig.node.json | 24 +++++ typescript/vue_vite/created/vite.config.ts | 7 ++ 50 files changed, 926 insertions(+) create mode 100644 typescript/angular_ng/created/README.md create mode 100644 typescript/angular_ng/created/angular.json create mode 100644 typescript/angular_ng/created/package.json create mode 100644 typescript/angular_ng/created/public/favicon.ico create mode 100644 typescript/angular_ng/created/src/app/app.component.ts create mode 100644 typescript/angular_ng/created/src/app/app.config.ts create mode 100644 typescript/angular_ng/created/src/app/bokeh-js/bokeh-js.component.ts create mode 100644 typescript/angular_ng/created/src/index.html create mode 100644 typescript/angular_ng/created/src/main.ts create mode 100644 typescript/angular_ng/created/src/styles.css create mode 100644 typescript/angular_ng/created/tsconfig.app.json create mode 100644 typescript/angular_ng/created/tsconfig.json create mode 100644 typescript/react_vite/created/README.md create mode 100644 typescript/react_vite/created/eslint.config.js create mode 100644 typescript/react_vite/created/index.html create mode 100644 typescript/react_vite/created/package.json create mode 100644 typescript/react_vite/created/src/App.tsx create mode 100644 typescript/react_vite/created/src/BokehComponent.tsx create mode 100644 typescript/react_vite/created/src/main.tsx create mode 100644 typescript/react_vite/created/src/vite-env.d.ts create mode 100644 typescript/react_vite/created/tsconfig.app.json create mode 100644 typescript/react_vite/created/tsconfig.json create mode 100644 typescript/react_vite/created/tsconfig.node.json create mode 100644 typescript/react_vite/created/vite.config.ts create mode 100644 typescript/vanilla_rspack/created/assets/index.html create mode 100644 typescript/vanilla_rspack/created/package.json create mode 100644 typescript/vanilla_rspack/created/rspack.config.ts create mode 100644 typescript/vanilla_rspack/created/src/index.ts create mode 100644 typescript/vanilla_rspack/created/tsconfig.json create mode 100644 typescript/vanilla_vite/created/index.html create mode 100644 typescript/vanilla_vite/created/package.json create mode 100644 typescript/vanilla_vite/created/src/main.ts create mode 100644 typescript/vanilla_vite/created/src/vite-env.d.ts create mode 100644 typescript/vanilla_vite/created/tsconfig.json create mode 100644 typescript/vanilla_webpack/created/assets/index.html create mode 100644 typescript/vanilla_webpack/created/package.json create mode 100644 typescript/vanilla_webpack/created/src/index.ts create mode 100644 typescript/vanilla_webpack/created/tsconfig.json create mode 100644 typescript/vanilla_webpack/created/webpack.config.ts create mode 100644 typescript/vue_vite/created/README.md create mode 100644 typescript/vue_vite/created/index.html create mode 100644 typescript/vue_vite/created/package.json create mode 100644 typescript/vue_vite/created/src/App.vue create mode 100644 typescript/vue_vite/created/src/components/BokehComponent.vue create mode 100644 typescript/vue_vite/created/src/main.ts create mode 100644 typescript/vue_vite/created/src/vite-env.d.ts create mode 100644 typescript/vue_vite/created/tsconfig.app.json create mode 100644 typescript/vue_vite/created/tsconfig.json create mode 100644 typescript/vue_vite/created/tsconfig.node.json create mode 100644 typescript/vue_vite/created/vite.config.ts diff --git a/typescript/angular_ng/created/README.md b/typescript/angular_ng/created/README.md new file mode 100644 index 0000000..950c517 --- /dev/null +++ b/typescript/angular_ng/created/README.md @@ -0,0 +1,59 @@ +# AngularNg + +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.9. + +## Development server + +To start a local development server, run: + +```bash +ng serve +``` + +Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. + +## Code scaffolding + +Angular CLI includes powerful code scaffolding tools. To generate a new component, run: + +```bash +ng generate component component-name +``` + +For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: + +```bash +ng generate --help +``` + +## Building + +To build the project run: + +```bash +ng build +``` + +This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. + +## Running unit tests + +To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command: + +```bash +ng test +``` + +## Running end-to-end tests + +For end-to-end (e2e) testing, run: + +```bash +ng e2e +``` + +Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. + +## Additional Resources + +For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/typescript/angular_ng/created/angular.json b/typescript/angular_ng/created/angular.json new file mode 100644 index 0000000..f90defe --- /dev/null +++ b/typescript/angular_ng/created/angular.json @@ -0,0 +1,97 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "angular_ng": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "inlineTemplate": true, + "inlineStyle": true, + "skipTests": true + }, + "@schematics/angular:class": { + "skipTests": true + }, + "@schematics/angular:directive": { + "skipTests": true + }, + "@schematics/angular:guard": { + "skipTests": true + }, + "@schematics/angular:interceptor": { + "skipTests": true + }, + "@schematics/angular:pipe": { + "skipTests": true + }, + "@schematics/angular:resolver": { + "skipTests": true + }, + "@schematics/angular:service": { + "skipTests": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/angular_ng", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.css" + ], + "scripts": [], + "allowedCommonJsDependencies": [ + "@bokeh/bokehjs", + "mathjax-full", + "regl" + ] + }, + "configurations": { + "production": { + "budgets": [], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "angular_ng:build:production" + }, + "development": { + "buildTarget": "angular_ng:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n" + } + } + } + } +} diff --git a/typescript/angular_ng/created/package.json b/typescript/angular_ng/created/package.json new file mode 100644 index 0000000..6e3e3d6 --- /dev/null +++ b/typescript/angular_ng/created/package.json @@ -0,0 +1,30 @@ +{ + "name": "angular-ng", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development" + }, + "private": true, + "dependencies": { + "@angular/common": "^19.2.0", + "@angular/compiler": "^19.2.0", + "@angular/core": "^19.2.0", + "@angular/forms": "^19.2.0", + "@angular/platform-browser": "^19.2.0", + "@angular/platform-browser-dynamic": "^19.2.0", + "@angular/router": "^19.2.0", + "@bokeh/bokehjs": "file:../../../../bokeh-bokehjs-3.8.0-dev.1.tgz", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^19.2.9", + "@angular/cli": "^19.2.9", + "@angular/compiler-cli": "^19.2.0", + "typescript": "~5.7.2" + } +} diff --git a/typescript/angular_ng/created/public/favicon.ico b/typescript/angular_ng/created/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 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 Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/typescript/angular_ng/created/src/app/app.component.ts b/typescript/angular_ng/created/src/app/app.component.ts new file mode 100644 index 0000000..48ed4ab --- /dev/null +++ b/typescript/angular_ng/created/src/app/app.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core' +import { BokehJSComponent } from './bokeh-js/bokeh-js.component'; + +@Component({ + selector: 'app-root', + imports: [BokehJSComponent], + template: ``, + styles: [], +}) + +export class AppComponent {} diff --git a/typescript/angular_ng/created/src/app/app.config.ts b/typescript/angular_ng/created/src/app/app.config.ts new file mode 100644 index 0000000..d03bbbc --- /dev/null +++ b/typescript/angular_ng/created/src/app/app.config.ts @@ -0,0 +1,5 @@ +import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; + +export const appConfig: ApplicationConfig = { + providers: [provideZoneChangeDetection({ eventCoalescing: true })] +}; diff --git a/typescript/angular_ng/created/src/app/bokeh-js/bokeh-js.component.ts b/typescript/angular_ng/created/src/app/bokeh-js/bokeh-js.component.ts new file mode 100644 index 0000000..bc2e004 --- /dev/null +++ b/typescript/angular_ng/created/src/app/bokeh-js/bokeh-js.component.ts @@ -0,0 +1,31 @@ +import { Component, OnInit } from '@angular/core' +import * as Bokeh from "@bokeh/bokehjs"; + +function create_bokehjs_plot(): Bokeh.Plotting.Figure { + // Create figure + const plot = Bokeh.Plotting.figure({ + title: "Example BokehJS plot", height: 500, sizing_mode: "stretch_width" + }); + + // Calculate x, y value of sine curve + const x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + const y = x.map(x => Math.sin(Math.PI*x/6)); + + // Plot circles + plot.scatter(x, y, {color: "blue", size: 30, fill_alpha: 0.4}); + + return plot; +} +@Component({ + selector: 'app-bokeh-js', + imports: [], + template: `
`, + styles: `` +}) + +export class BokehJSComponent implements OnInit { + ngOnInit() { + console.info("BokehJS version:", Bokeh.version); + Bokeh.Plotting.show(create_bokehjs_plot(), "#target"); + } +} diff --git a/typescript/angular_ng/created/src/index.html b/typescript/angular_ng/created/src/index.html new file mode 100644 index 0000000..fdb335b --- /dev/null +++ b/typescript/angular_ng/created/src/index.html @@ -0,0 +1,13 @@ + + + + + AngularNg + + + + + + + + diff --git a/typescript/angular_ng/created/src/main.ts b/typescript/angular_ng/created/src/main.ts new file mode 100644 index 0000000..35b00f3 --- /dev/null +++ b/typescript/angular_ng/created/src/main.ts @@ -0,0 +1,6 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { AppComponent } from './app/app.component'; + +bootstrapApplication(AppComponent, appConfig) + .catch((err) => console.error(err)); diff --git a/typescript/angular_ng/created/src/styles.css b/typescript/angular_ng/created/src/styles.css new file mode 100644 index 0000000..90d4ee0 --- /dev/null +++ b/typescript/angular_ng/created/src/styles.css @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/typescript/angular_ng/created/tsconfig.app.json b/typescript/angular_ng/created/tsconfig.app.json new file mode 100644 index 0000000..3775b37 --- /dev/null +++ b/typescript/angular_ng/created/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": [ + "src/main.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/typescript/angular_ng/created/tsconfig.json b/typescript/angular_ng/created/tsconfig.json new file mode 100644 index 0000000..5525117 --- /dev/null +++ b/typescript/angular_ng/created/tsconfig.json @@ -0,0 +1,27 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "outDir": "./dist/out-tsc", + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "moduleResolution": "bundler", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/typescript/react_vite/created/README.md b/typescript/react_vite/created/README.md new file mode 100644 index 0000000..da98444 --- /dev/null +++ b/typescript/react_vite/created/README.md @@ -0,0 +1,54 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: + +```js +export default tseslint.config({ + extends: [ + // Remove ...tseslint.configs.recommended and replace with this + ...tseslint.configs.recommendedTypeChecked, + // Alternatively, use this for stricter rules + ...tseslint.configs.strictTypeChecked, + // Optionally, add this for stylistic rules + ...tseslint.configs.stylisticTypeChecked, + ], + languageOptions: { + // other options... + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + }, +}) +``` + +You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: + +```js +// eslint.config.js +import reactX from 'eslint-plugin-react-x' +import reactDom from 'eslint-plugin-react-dom' + +export default tseslint.config({ + plugins: { + // Add the react-x and react-dom plugins + 'react-x': reactX, + 'react-dom': reactDom, + }, + rules: { + // other rules... + // Enable its recommended typescript rules + ...reactX.configs['recommended-typescript'].rules, + ...reactDom.configs.recommended.rules, + }, +}) +``` diff --git a/typescript/react_vite/created/eslint.config.js b/typescript/react_vite/created/eslint.config.js new file mode 100644 index 0000000..092408a --- /dev/null +++ b/typescript/react_vite/created/eslint.config.js @@ -0,0 +1,28 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' + +export default tseslint.config( + { ignores: ['dist'] }, + { + extends: [js.configs.recommended, ...tseslint.configs.recommended], + files: ['**/*.{ts,tsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + plugins: { + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...reactHooks.configs.recommended.rules, + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +) diff --git a/typescript/react_vite/created/index.html b/typescript/react_vite/created/index.html new file mode 100644 index 0000000..e4b78ea --- /dev/null +++ b/typescript/react_vite/created/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + TS + + +
+ + + diff --git a/typescript/react_vite/created/package.json b/typescript/react_vite/created/package.json new file mode 100644 index 0000000..7789697 --- /dev/null +++ b/typescript/react_vite/created/package.json @@ -0,0 +1,30 @@ +{ + "name": "react_vite", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@bokeh/bokehjs": "file:../../../../bokeh-bokehjs-3.8.0-dev.1.tgz", + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "@eslint/js": "^9.22.0", + "@types/react": "^19.0.10", + "@types/react-dom": "^19.0.4", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.22.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.19", + "globals": "^16.0.0", + "typescript": "~5.7.2", + "typescript-eslint": "^8.26.1", + "vite": "^6.3.1" + } +} diff --git a/typescript/react_vite/created/src/App.tsx b/typescript/react_vite/created/src/App.tsx new file mode 100644 index 0000000..a80a029 --- /dev/null +++ b/typescript/react_vite/created/src/App.tsx @@ -0,0 +1,11 @@ +import { BokehComponent } from './BokehComponent.tsx' + +function App() { + return ( + <> + + + ) +} + +export default App diff --git a/typescript/react_vite/created/src/BokehComponent.tsx b/typescript/react_vite/created/src/BokehComponent.tsx new file mode 100644 index 0000000..9fd962f --- /dev/null +++ b/typescript/react_vite/created/src/BokehComponent.tsx @@ -0,0 +1,35 @@ +import { useEffect, useRef } from 'react' +import * as Bokeh from "@bokeh/bokehjs"; + +console.info("BokehJS version:", Bokeh.version); + +function create_bokehjs_plot(): Bokeh.Plotting.Figure { + // Create figure + const plot = Bokeh.Plotting.figure({ + title: "Example BokehJS plot", height: 500, sizing_mode: "stretch_width" + }); + + // Calculate x, y value of sine curve + const x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + const y = x.map(x => Math.sin(Math.PI*x/6)); + + // Plot circles + plot.scatter(x, y, {color: "blue", size: 30, fill_alpha: 0.4}); + + return plot; +} +export function BokehComponent() { + const shown = useRef(false); + useEffect(() => { + if (!shown.current) { + Bokeh.Plotting.show(create_bokehjs_plot(), "#target"); + shown.current = true; + } + }, []) + + return ( + <> +
+ + ) +} diff --git a/typescript/react_vite/created/src/main.tsx b/typescript/react_vite/created/src/main.tsx new file mode 100644 index 0000000..4aff025 --- /dev/null +++ b/typescript/react_vite/created/src/main.tsx @@ -0,0 +1,9 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import App from './App.tsx' + +createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/typescript/react_vite/created/src/vite-env.d.ts b/typescript/react_vite/created/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/typescript/react_vite/created/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/typescript/react_vite/created/tsconfig.app.json b/typescript/react_vite/created/tsconfig.app.json new file mode 100644 index 0000000..358ca9b --- /dev/null +++ b/typescript/react_vite/created/tsconfig.app.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/typescript/react_vite/created/tsconfig.json b/typescript/react_vite/created/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/typescript/react_vite/created/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/typescript/react_vite/created/tsconfig.node.json b/typescript/react_vite/created/tsconfig.node.json new file mode 100644 index 0000000..db0becc --- /dev/null +++ b/typescript/react_vite/created/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/typescript/react_vite/created/vite.config.ts b/typescript/react_vite/created/vite.config.ts new file mode 100644 index 0000000..8b0f57b --- /dev/null +++ b/typescript/react_vite/created/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], +}) diff --git a/typescript/vanilla_rspack/created/assets/index.html b/typescript/vanilla_rspack/created/assets/index.html new file mode 100644 index 0000000..2481c02 --- /dev/null +++ b/typescript/vanilla_rspack/created/assets/index.html @@ -0,0 +1,10 @@ + + + + BokehJS example: typescript vanilla rspack + + + +
+ + diff --git a/typescript/vanilla_rspack/created/package.json b/typescript/vanilla_rspack/created/package.json new file mode 100644 index 0000000..dc0c612 --- /dev/null +++ b/typescript/vanilla_rspack/created/package.json @@ -0,0 +1,24 @@ +{ + "name": "vanilla_rspack", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "rspack build", + "serve": "rspack serve" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "devDependencies": { + "@rspack/cli": "^1.3.8", + "@rspack/core": "^1.3.8", + "ts-loader": "^9.5.2", + "ts-node": "^10.9.2", + "typescript": "^5.8.3" + }, + "dependencies": { + "@bokeh/bokehjs": "file:../../../../bokeh-bokehjs-3.8.0-dev.1.tgz" + } +} diff --git a/typescript/vanilla_rspack/created/rspack.config.ts b/typescript/vanilla_rspack/created/rspack.config.ts new file mode 100644 index 0000000..a58910e --- /dev/null +++ b/typescript/vanilla_rspack/created/rspack.config.ts @@ -0,0 +1,21 @@ +import path from 'path'; +import { Configuration } from '@rspack/cli'; + +const config: Configuration = { + entry: './src/index.ts', + mode: 'development', + module: { + rules: [ + { test: /\.ts/, use: "ts-loader", exclude: /node_modules/ } + ], + }, + output: { filename: 'bundle.js' }, + devServer: { + static: { + directory: path.join(__dirname, 'assets'), + }, + port: 4500, + }, +}; + +export default config; diff --git a/typescript/vanilla_rspack/created/src/index.ts b/typescript/vanilla_rspack/created/src/index.ts new file mode 100644 index 0000000..95d26d3 --- /dev/null +++ b/typescript/vanilla_rspack/created/src/index.ts @@ -0,0 +1,20 @@ +import * as Bokeh from "@bokeh/bokehjs"; + +console.info("BokehJS version:", Bokeh.version); + +function create_bokehjs_plot(): Bokeh.Plotting.Figure { + // Create figure + const plot = Bokeh.Plotting.figure({ + title: "Example BokehJS plot", height: 500, sizing_mode: "stretch_width" + }); + + // Calculate x, y value of sine curve + const x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + const y = x.map(x => Math.sin(Math.PI*x/6)); + + // Plot circles + plot.scatter(x, y, {color: "blue", size: 30, fill_alpha: 0.4}); + + return plot; +} +Bokeh.Plotting.show(create_bokehjs_plot(), "#target"); diff --git a/typescript/vanilla_rspack/created/tsconfig.json b/typescript/vanilla_rspack/created/tsconfig.json new file mode 100644 index 0000000..45c6e8e --- /dev/null +++ b/typescript/vanilla_rspack/created/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "esModuleInterop": true, + "moduleResolution": "node", + "outDir": "./dist", + "rootDir": "./src", + "target": "ES2022" + }, + "include": ["src"] +} diff --git a/typescript/vanilla_vite/created/index.html b/typescript/vanilla_vite/created/index.html new file mode 100644 index 0000000..44a9335 --- /dev/null +++ b/typescript/vanilla_vite/created/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + TS + + +
+ + + diff --git a/typescript/vanilla_vite/created/package.json b/typescript/vanilla_vite/created/package.json new file mode 100644 index 0000000..7a9f020 --- /dev/null +++ b/typescript/vanilla_vite/created/package.json @@ -0,0 +1,18 @@ +{ + "name": "vanilla_vite", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "devDependencies": { + "typescript": "~5.7.2", + "vite": "^6.3.1" + }, + "dependencies": { + "@bokeh/bokehjs": "file:../../../../bokeh-bokehjs-3.8.0-dev.1.tgz" + } +} diff --git a/typescript/vanilla_vite/created/src/main.ts b/typescript/vanilla_vite/created/src/main.ts new file mode 100644 index 0000000..11ce9df --- /dev/null +++ b/typescript/vanilla_vite/created/src/main.ts @@ -0,0 +1,22 @@ +import * as Bokeh from "@bokeh/bokehjs"; + +console.info("BokehJS version:", Bokeh.version); + +function create_bokehjs_plot(): Bokeh.Plotting.Figure { + // Create figure + const plot = Bokeh.Plotting.figure({ + title: "Example BokehJS plot", height: 500, sizing_mode: "stretch_width" + }); + + // Calculate x, y value of sine curve + const x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + const y = x.map(x => Math.sin(Math.PI*x/6)); + + // Plot circles + plot.scatter(x, y, {color: "blue", size: 30, fill_alpha: 0.4}); + + return plot; +} +document.querySelector('#app')!.innerHTML = `
`; + +Bokeh.Plotting.show(create_bokehjs_plot(), "#target"); diff --git a/typescript/vanilla_vite/created/src/vite-env.d.ts b/typescript/vanilla_vite/created/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/typescript/vanilla_vite/created/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/typescript/vanilla_vite/created/tsconfig.json b/typescript/vanilla_vite/created/tsconfig.json new file mode 100644 index 0000000..a4883f2 --- /dev/null +++ b/typescript/vanilla_vite/created/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/typescript/vanilla_webpack/created/assets/index.html b/typescript/vanilla_webpack/created/assets/index.html new file mode 100644 index 0000000..3ae7960 --- /dev/null +++ b/typescript/vanilla_webpack/created/assets/index.html @@ -0,0 +1,10 @@ + + + + BokehJS example: typescript vanilla webpack + + + +
+ + diff --git a/typescript/vanilla_webpack/created/package.json b/typescript/vanilla_webpack/created/package.json new file mode 100644 index 0000000..b02e2f1 --- /dev/null +++ b/typescript/vanilla_webpack/created/package.json @@ -0,0 +1,25 @@ +{ + "name": "vanilla_webpack", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "webpack build", + "serve": "webpack serve" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "devDependencies": { + "ts-loader": "^9.5.2", + "ts-node": "^10.9.2", + "typescript": "^5.8.3", + "webpack": "^5.99.7", + "webpack-cli": "^6.0.1", + "webpack-dev-server": "^5.2.1" + }, + "dependencies": { + "@bokeh/bokehjs": "file:../../../../bokeh-bokehjs-3.8.0-dev.1.tgz" + } +} diff --git a/typescript/vanilla_webpack/created/src/index.ts b/typescript/vanilla_webpack/created/src/index.ts new file mode 100644 index 0000000..95d26d3 --- /dev/null +++ b/typescript/vanilla_webpack/created/src/index.ts @@ -0,0 +1,20 @@ +import * as Bokeh from "@bokeh/bokehjs"; + +console.info("BokehJS version:", Bokeh.version); + +function create_bokehjs_plot(): Bokeh.Plotting.Figure { + // Create figure + const plot = Bokeh.Plotting.figure({ + title: "Example BokehJS plot", height: 500, sizing_mode: "stretch_width" + }); + + // Calculate x, y value of sine curve + const x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + const y = x.map(x => Math.sin(Math.PI*x/6)); + + // Plot circles + plot.scatter(x, y, {color: "blue", size: 30, fill_alpha: 0.4}); + + return plot; +} +Bokeh.Plotting.show(create_bokehjs_plot(), "#target"); diff --git a/typescript/vanilla_webpack/created/tsconfig.json b/typescript/vanilla_webpack/created/tsconfig.json new file mode 100644 index 0000000..45c6e8e --- /dev/null +++ b/typescript/vanilla_webpack/created/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "esModuleInterop": true, + "moduleResolution": "node", + "outDir": "./dist", + "rootDir": "./src", + "target": "ES2022" + }, + "include": ["src"] +} diff --git a/typescript/vanilla_webpack/created/webpack.config.ts b/typescript/vanilla_webpack/created/webpack.config.ts new file mode 100644 index 0000000..a56d72c --- /dev/null +++ b/typescript/vanilla_webpack/created/webpack.config.ts @@ -0,0 +1,22 @@ +import path from 'path'; +import webpack from 'webpack'; +import 'webpack-dev-server'; + +const config: webpack.Configuration = { + entry: './src/index.ts', + mode: 'development', + module: { + rules: [ + { test: /\.ts/, use: "ts-loader", exclude: /node_modules/ } + ], + }, + output: { filename: 'bundle.js' }, + devServer: { + static: { + directory: path.join(__dirname, 'assets'), + }, + port: 4500, + }, +}; + +export default config; diff --git a/typescript/vue_vite/created/README.md b/typescript/vue_vite/created/README.md new file mode 100644 index 0000000..33895ab --- /dev/null +++ b/typescript/vue_vite/created/README.md @@ -0,0 +1,5 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + diff --git a/typescript/vue_vite/created/package.json b/typescript/vue_vite/created/package.json new file mode 100644 index 0000000..bfeb5e1 --- /dev/null +++ b/typescript/vue_vite/created/package.json @@ -0,0 +1,22 @@ +{ + "name": "vue_vite", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@bokeh/bokehjs": "file:../../../../bokeh-bokehjs-3.8.0-dev.1.tgz", + "vue": "^3.5.13" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.2", + "@vue/tsconfig": "^0.7.0", + "typescript": "~5.7.2", + "vite": "^6.3.1", + "vue-tsc": "^2.2.8" + } +} diff --git a/typescript/vue_vite/created/src/App.vue b/typescript/vue_vite/created/src/App.vue new file mode 100644 index 0000000..eead56b --- /dev/null +++ b/typescript/vue_vite/created/src/App.vue @@ -0,0 +1,7 @@ + + + diff --git a/typescript/vue_vite/created/src/components/BokehComponent.vue b/typescript/vue_vite/created/src/components/BokehComponent.vue new file mode 100644 index 0000000..169ff42 --- /dev/null +++ b/typescript/vue_vite/created/src/components/BokehComponent.vue @@ -0,0 +1,30 @@ + + + diff --git a/typescript/vue_vite/created/src/main.ts b/typescript/vue_vite/created/src/main.ts new file mode 100644 index 0000000..01433bc --- /dev/null +++ b/typescript/vue_vite/created/src/main.ts @@ -0,0 +1,4 @@ +import { createApp } from 'vue' +import App from './App.vue' + +createApp(App).mount('#app') diff --git a/typescript/vue_vite/created/src/vite-env.d.ts b/typescript/vue_vite/created/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/typescript/vue_vite/created/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/typescript/vue_vite/created/tsconfig.app.json b/typescript/vue_vite/created/tsconfig.app.json new file mode 100644 index 0000000..7fb078c --- /dev/null +++ b/typescript/vue_vite/created/tsconfig.app.json @@ -0,0 +1,14 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] +} diff --git a/typescript/vue_vite/created/tsconfig.json b/typescript/vue_vite/created/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/typescript/vue_vite/created/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/typescript/vue_vite/created/tsconfig.node.json b/typescript/vue_vite/created/tsconfig.node.json new file mode 100644 index 0000000..db0becc --- /dev/null +++ b/typescript/vue_vite/created/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/typescript/vue_vite/created/vite.config.ts b/typescript/vue_vite/created/vite.config.ts new file mode 100644 index 0000000..bbcf80c --- /dev/null +++ b/typescript/vue_vite/created/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [vue()], +})