@konomi-app/k2 2.1.3 → 2.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/dist/index.d.ts +0 -2
  2. package/dist/index.js +551 -13
  3. package/dist/index.js.map +1 -1
  4. package/dist/plugin.d.ts +0 -2
  5. package/dist/plugin.js +1086 -23
  6. package/dist/plugin.js.map +1 -1
  7. package/package.json +4 -4
  8. package/dist/commands/build-base.d.ts +0 -6
  9. package/dist/commands/build-base.d.ts.map +0 -1
  10. package/dist/commands/build-base.js +0 -7
  11. package/dist/commands/build-base.js.map +0 -1
  12. package/dist/commands/build-esbuild.d.ts +0 -7
  13. package/dist/commands/build-esbuild.d.ts.map +0 -1
  14. package/dist/commands/build-esbuild.js +0 -63
  15. package/dist/commands/build-esbuild.js.map +0 -1
  16. package/dist/commands/build-tailwind.d.ts +0 -2
  17. package/dist/commands/build-tailwind.d.ts.map +0 -1
  18. package/dist/commands/build-tailwind.js +0 -19
  19. package/dist/commands/build-tailwind.js.map +0 -1
  20. package/dist/commands/build.d.ts +0 -7
  21. package/dist/commands/build.d.ts.map +0 -1
  22. package/dist/commands/build.js +0 -52
  23. package/dist/commands/build.js.map +0 -1
  24. package/dist/commands/dev/index.d.ts +0 -9
  25. package/dist/commands/dev/index.d.ts.map +0 -1
  26. package/dist/commands/dev/index.js +0 -60
  27. package/dist/commands/dev/index.js.map +0 -1
  28. package/dist/commands/dev/tailwind.d.ts +0 -5
  29. package/dist/commands/dev/tailwind.d.ts.map +0 -1
  30. package/dist/commands/dev/tailwind.js +0 -30
  31. package/dist/commands/dev/tailwind.js.map +0 -1
  32. package/dist/commands/dev-base-esbuild.d.ts +0 -8
  33. package/dist/commands/dev-base-esbuild.d.ts.map +0 -1
  34. package/dist/commands/dev-base-esbuild.js +0 -18
  35. package/dist/commands/dev-base-esbuild.js.map +0 -1
  36. package/dist/commands/genkey-base.d.ts +0 -4
  37. package/dist/commands/genkey-base.d.ts.map +0 -1
  38. package/dist/commands/genkey-base.js +0 -19
  39. package/dist/commands/genkey-base.js.map +0 -1
  40. package/dist/commands/genkey.d.ts +0 -5
  41. package/dist/commands/genkey.d.ts.map +0 -1
  42. package/dist/commands/genkey.js +0 -14
  43. package/dist/commands/genkey.js.map +0 -1
  44. package/dist/commands/lint.d.ts +0 -8
  45. package/dist/commands/lint.d.ts.map +0 -1
  46. package/dist/commands/lint.js +0 -20
  47. package/dist/commands/lint.js.map +0 -1
  48. package/dist/commands/manifest/index.d.ts +0 -2
  49. package/dist/commands/manifest/index.d.ts.map +0 -1
  50. package/dist/commands/manifest/index.js +0 -29
  51. package/dist/commands/manifest/index.js.map +0 -1
  52. package/dist/commands/plugin-build.d.ts +0 -3
  53. package/dist/commands/plugin-build.d.ts.map +0 -1
  54. package/dist/commands/plugin-build.js +0 -60
  55. package/dist/commands/plugin-build.js.map +0 -1
  56. package/dist/commands/plugin-dev/create-manifest.d.ts +0 -5
  57. package/dist/commands/plugin-dev/create-manifest.d.ts.map +0 -1
  58. package/dist/commands/plugin-dev/create-manifest.js +0 -30
  59. package/dist/commands/plugin-dev/create-manifest.js.map +0 -1
  60. package/dist/commands/plugin-dev/index.d.ts +0 -6
  61. package/dist/commands/plugin-dev/index.d.ts.map +0 -1
  62. package/dist/commands/plugin-dev/index.js +0 -50
  63. package/dist/commands/plugin-dev/index.js.map +0 -1
  64. package/dist/commands/plugin-dev/tailwind.d.ts +0 -2
  65. package/dist/commands/plugin-dev/tailwind.d.ts.map +0 -1
  66. package/dist/commands/plugin-dev/tailwind.js +0 -42
  67. package/dist/commands/plugin-dev/tailwind.js.map +0 -1
  68. package/dist/commands/plugin-dev/upload.d.ts +0 -5
  69. package/dist/commands/plugin-dev/upload.d.ts.map +0 -1
  70. package/dist/commands/plugin-dev/upload.js +0 -58
  71. package/dist/commands/plugin-dev/upload.js.map +0 -1
  72. package/dist/commands/plugin-esbuild.d.ts +0 -3
  73. package/dist/commands/plugin-esbuild.d.ts.map +0 -1
  74. package/dist/commands/plugin-esbuild.js +0 -66
  75. package/dist/commands/plugin-esbuild.js.map +0 -1
  76. package/dist/commands/plugin-genkey.d.ts +0 -3
  77. package/dist/commands/plugin-genkey.d.ts.map +0 -1
  78. package/dist/commands/plugin-genkey.js +0 -13
  79. package/dist/commands/plugin-genkey.js.map +0 -1
  80. package/dist/commands/plugin-init.d.ts +0 -3
  81. package/dist/commands/plugin-init.d.ts.map +0 -1
  82. package/dist/commands/plugin-init.js +0 -45
  83. package/dist/commands/plugin-init.js.map +0 -1
  84. package/dist/commands/plugin-tsup.d.ts +0 -3
  85. package/dist/commands/plugin-tsup.d.ts.map +0 -1
  86. package/dist/commands/plugin-tsup.js +0 -65
  87. package/dist/commands/plugin-tsup.js.map +0 -1
  88. package/dist/commands/plugin-zip.d.ts +0 -2
  89. package/dist/commands/plugin-zip.d.ts.map +0 -1
  90. package/dist/commands/plugin-zip.js +0 -50
  91. package/dist/commands/plugin-zip.js.map +0 -1
  92. package/dist/commands/test/index.d.ts +0 -3
  93. package/dist/commands/test/index.d.ts.map +0 -1
  94. package/dist/commands/test/index.js +0 -17
  95. package/dist/commands/test/index.js.map +0 -1
  96. package/dist/index.d.ts.map +0 -1
  97. package/dist/lib/cert.d.ts +0 -4
  98. package/dist/lib/cert.d.ts.map +0 -1
  99. package/dist/lib/cert.js +0 -16
  100. package/dist/lib/cert.js.map +0 -1
  101. package/dist/lib/constants.d.ts +0 -13
  102. package/dist/lib/constants.d.ts.map +0 -1
  103. package/dist/lib/constants.js +0 -14
  104. package/dist/lib/constants.js.map +0 -1
  105. package/dist/lib/esbuild.d.ts +0 -6
  106. package/dist/lib/esbuild.d.ts.map +0 -1
  107. package/dist/lib/esbuild.js +0 -39
  108. package/dist/lib/esbuild.js.map +0 -1
  109. package/dist/lib/exec.d.ts +0 -3
  110. package/dist/lib/exec.d.ts.map +0 -1
  111. package/dist/lib/exec.js +0 -4
  112. package/dist/lib/exec.js.map +0 -1
  113. package/dist/lib/import.d.ts +0 -4
  114. package/dist/lib/import.d.ts.map +0 -1
  115. package/dist/lib/import.js +0 -18
  116. package/dist/lib/import.js.map +0 -1
  117. package/dist/lib/k2.d.ts +0 -2
  118. package/dist/lib/k2.d.ts.map +0 -1
  119. package/dist/lib/k2.js +0 -9
  120. package/dist/lib/k2.js.map +0 -1
  121. package/dist/lib/kintone-api-client.d.ts +0 -57
  122. package/dist/lib/kintone-api-client.d.ts.map +0 -1
  123. package/dist/lib/kintone-api-client.js +0 -95
  124. package/dist/lib/kintone-api-client.js.map +0 -1
  125. package/dist/lib/lint.d.ts +0 -2
  126. package/dist/lib/lint.d.ts.map +0 -1
  127. package/dist/lib/lint.js +0 -28
  128. package/dist/lib/lint.js.map +0 -1
  129. package/dist/lib/plugin-contents.d.ts +0 -5
  130. package/dist/lib/plugin-contents.d.ts.map +0 -1
  131. package/dist/lib/plugin-contents.js +0 -28
  132. package/dist/lib/plugin-contents.js.map +0 -1
  133. package/dist/lib/plugin-manifest.d.ts +0 -4
  134. package/dist/lib/plugin-manifest.d.ts.map +0 -1
  135. package/dist/lib/plugin-manifest.js +0 -13
  136. package/dist/lib/plugin-manifest.js.map +0 -1
  137. package/dist/lib/tailwind.d.ts +0 -33
  138. package/dist/lib/tailwind.d.ts.map +0 -1
  139. package/dist/lib/tailwind.js +0 -91
  140. package/dist/lib/tailwind.js.map +0 -1
  141. package/dist/lib/tsup.d.ts +0 -3
  142. package/dist/lib/tsup.d.ts.map +0 -1
  143. package/dist/lib/tsup.js +0 -26
  144. package/dist/lib/tsup.js.map +0 -1
  145. package/dist/lib/utils.d.ts +0 -16
  146. package/dist/lib/utils.d.ts.map +0 -1
  147. package/dist/lib/utils.js +0 -66
  148. package/dist/lib/utils.js.map +0 -1
  149. package/dist/lib/webpack.d.ts +0 -6
  150. package/dist/lib/webpack.d.ts.map +0 -1
  151. package/dist/lib/webpack.js +0 -72
  152. package/dist/lib/webpack.js.map +0 -1
  153. package/dist/lib/zip.d.ts +0 -4
  154. package/dist/lib/zip.d.ts.map +0 -1
  155. package/dist/lib/zip.js +0 -65
  156. package/dist/lib/zip.js.map +0 -1
  157. package/dist/plugin.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,4BAA4B,CAAC;AAC/C,OAAO,OAAO,MAAM,8BAA8B,CAAC;AACnD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,IAAI,MAAM,2BAA2B,CAAC;AAC7C,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,IAAI,MAAM,0BAA0B,CAAC;AAC5C,OAAO,GAAG,MAAM,0BAA0B,CAAC;AAC3C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,IAAI,MAAM,2BAA2B,CAAC;AAE7C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,0CAA0C,CAAC,CAAC;AAEjG,KAAK,EAAE,CAAC;AACR,OAAO,EAAE,CAAC;AACV,GAAG,EAAE,CAAC;AACN,MAAM,EAAE,CAAC;AACT,IAAI,EAAE,CAAC;AACP,QAAQ,EAAE,CAAC;AACX,IAAI,EAAE,CAAC;AACP,GAAG,EAAE,CAAC;AACN,IAAI,EAAE,CAAC;AACP,IAAI,EAAE,CAAC;AAEP,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"sources":["../src/plugin.ts","../src/commands/plugin-build.ts","../src/lib/constants.ts","../src/lib/import.ts","../src/lib/tailwind.ts","../src/commands/build-base.ts","../src/lib/webpack.ts","../src/lib/lint.ts","../src/commands/plugin-esbuild.ts","../src/lib/esbuild.ts","../src/commands/plugin-dev/index.ts","../src/commands/dev-base-esbuild.ts","../src/lib/plugin-manifest.ts","../src/commands/plugin-dev/create-manifest.ts","../src/commands/plugin-dev/tailwind.ts","../src/commands/plugin-dev/upload.ts","../src/lib/plugin-contents.ts","../src/lib/zip.ts","../src/lib/kintone-api-client.ts","../src/lib/utils.ts","../src/commands/plugin-genkey.ts","../src/lib/exec.ts","../src/lib/cert.ts","../src/commands/genkey-base.ts","../src/commands/plugin-init.ts","../src/commands/manifest/index.ts","../src/commands/test/index.ts","../src/commands/plugin-zip.ts","../src/commands/lint.ts","../src/commands/plugin-tsup.ts","../src/lib/tsup.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { program } from 'commander';\nimport build from './commands/plugin-build.js';\nimport esbuild from './commands/plugin-esbuild.js';\nimport dev from './commands/plugin-dev/index.js';\nimport genkey from './commands/plugin-genkey.js';\nimport init from './commands/plugin-init.js';\nimport manifest from './commands/manifest/index.js';\nimport test from './commands/test/index.js';\nimport zip from './commands/plugin-zip.js';\nimport lint from './commands/lint.js';\nimport tsup from './commands/plugin-tsup.js';\n\nprogram.name('plugin').version('1.12.0').description('🍳 kintone kitchen 🍳 for kintone plugin');\n\nbuild();\nesbuild();\ndev();\ngenkey();\ninit();\nmanifest();\ntest();\nzip();\nlint();\ntsup();\n\nprogram.parse(process.argv);\n","import { program } from 'commander';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { type Configuration } from 'webpack';\nimport { PLUGIN_CONTENTS_DIRECTORY } from '../lib/constants.js';\nimport { importK2PluginConfig } from '../lib/import.js';\nimport { getTailwindConfig, getTailwindInputCss, outputCss } from '../lib/tailwind.js';\nimport base from './build-base.js';\nimport { lint } from '../lib/lint.js';\n\nexport default function command() {\n program\n .command('build')\n .description(\"Build the project for production. (It's a wrapper of webpack build command.)\")\n .action(action);\n}\n\nexport async function action() {\n console.group('🍳 Build the project for production');\n\n try {\n const config = await importK2PluginConfig();\n\n if (config?.lint?.build) {\n await lint();\n console.log('✨ Lint success.');\n }\n\n if (!fs.existsSync(PLUGIN_CONTENTS_DIRECTORY)) {\n await fs.mkdir(PLUGIN_CONTENTS_DIRECTORY, { recursive: true });\n }\n\n const entries: Configuration['entry'] = {\n desktop: path.join('src', 'desktop', 'index.ts'),\n config: path.join('src', 'config', 'index.ts'),\n };\n\n if (config.tailwind?.css && config.tailwind?.config) {\n const tailwindConfig = await getTailwindConfig(config.tailwind);\n\n const inputFile = getTailwindInputCss(config.tailwind);\n\n await outputCss({\n inputPath: inputFile.config,\n outputPath: path.join(PLUGIN_CONTENTS_DIRECTORY, 'config.css'),\n config: tailwindConfig.config,\n minify: true,\n });\n console.log('✨ Built config.css');\n await outputCss({\n inputPath: inputFile.desktop,\n outputPath: path.join(PLUGIN_CONTENTS_DIRECTORY, 'desktop.css'),\n config: tailwindConfig.desktop,\n minify: true,\n });\n console.log('✨ Built desktop.css');\n }\n\n await base({ entries, outDir: PLUGIN_CONTENTS_DIRECTORY });\n console.log('✨ Built desktop.js and config.js');\n console.log('✨ Build success.');\n } catch (error) {\n throw error;\n } finally {\n console.groupEnd();\n }\n}\n","import path from 'path';\n\nexport const WORKSPACE_DIRECTORY = '.k2';\nexport const DEVELOPMENT_DIRECTORY = path.join(WORKSPACE_DIRECTORY, 'dev');\n\nexport const CONFIG_FILE_NAME = 'k2.config.mjs';\nexport const PLUGIN_CONFIG_FILE_NAME = 'plugin.config.mjs';\n\n/** kintoneプラグインの一時ファイルを管理するフォルダ */\nexport const PLUGIN_WORKSPACE_DIRECTORY = '.plugin';\n/** kintoneプラグインのcontents.zipに格納するファイルを管理するフォルダ */\nexport const PLUGIN_CONTENTS_DIRECTORY = path.join(PLUGIN_WORKSPACE_DIRECTORY, 'contents');\n/** kintoneプラグインの開発時、ローカルサーバーに反映するファイルを管理するフォルダ */\nexport const PLUGIN_DEVELOPMENT_DIRECTORY = path.join(PLUGIN_WORKSPACE_DIRECTORY, 'dev');\n\n/** ローカルサーバーのデフォルトポート番号 */\nexport const DEFAULT_PORT = 32767;\n","import { pathToFileURL } from 'url';\nimport { CONFIG_FILE_NAME, PLUGIN_CONFIG_FILE_NAME } from './constants.js';\nimport path from 'path';\n\nexport const esmImport = (path: string) => {\n if (process.platform === 'win32') {\n return import(pathToFileURL(path).toString());\n } else {\n return import(path);\n }\n};\n\nexport const importK2Config = async (configFileName?: string): Promise<K2.Config> => {\n return (await esmImport(path.resolve(configFileName ?? CONFIG_FILE_NAME))).default;\n};\n\nexport const importK2PluginConfig = async (\n configFileName?: string\n): Promise<Plugin.Meta.Config> => {\n return (await esmImport(path.resolve(configFileName ?? PLUGIN_CONFIG_FILE_NAME))).default;\n};\n","import chokidar from 'chokidar';\nimport cssnanoPlugin from 'cssnano';\nimport fs from 'fs-extra';\nimport { glob } from 'glob';\nimport path from 'path';\nimport postcss from 'postcss';\nimport { debounce } from 'remeda';\nimport tailwindcss, { type Config as TailwindConfig } from 'tailwindcss';\nimport invariant from 'tiny-invariant';\nimport { esmImport } from './import.js';\n\nexport const getTailwindConfigFromK2Config = async (\n k2Config: K2.Config['tailwind']\n): Promise<TailwindConfig> => {\n invariant(k2Config?.config, 'tailwind.config is required');\n const config = (await esmImport(path.resolve(k2Config?.config))).default;\n return config;\n};\n\nexport const getTailwindInputCss = (\n config: Plugin.Meta.Config['tailwind']\n): { desktop: string; config: string } => {\n invariant(config?.css, 'tailwind.css is required');\n const { css } = config;\n if (typeof css === 'string') {\n const resolved = path.resolve(css);\n return { desktop: resolved, config: resolved };\n }\n return {\n desktop: path.resolve(css.desktop),\n config: path.resolve(css.config),\n };\n};\n\nexport const getTailwindConfig = async (\n config: Plugin.Meta.Config['tailwind']\n): Promise<{\n desktop: TailwindConfig;\n config: TailwindConfig;\n}> => {\n invariant(config?.config, 'tailwind.config is required');\n\n const { config: configPath } = config;\n\n const configPathForDesktop = typeof configPath === 'string' ? configPath : configPath.desktop;\n const configPathForConfig = typeof configPath === 'string' ? configPath : configPath.config;\n\n const desktopConfig = (await esmImport(path.resolve(configPathForDesktop))).default;\n const configConfig = (await esmImport(path.resolve(configPathForConfig))).default;\n\n return { desktop: desktopConfig, config: configConfig };\n};\n\nexport const outputCss = async (params: {\n inputPath: string;\n outputPath: string;\n config: TailwindConfig;\n minify?: boolean;\n}) => {\n const { inputPath, outputPath, config, minify = false } = params;\n\n const css = await fs.readFile(inputPath, 'utf8');\n\n const result = await postcss([tailwindcss(config), ...(minify ? [cssnanoPlugin()] : [])]).process(\n css,\n {\n from: inputPath,\n to: outputPath,\n }\n );\n\n await fs.writeFile(outputPath, result.css);\n\n if (result.map) {\n await fs.writeFile(`${outputPath}.map`, result.map.toString());\n }\n};\n\ntype WatchType = 'init' | 'add' | 'change' | 'unlink';\n\nexport const watchTailwindCSS = async (params: {\n /** input path */\n input: string;\n /** output path */\n output: string;\n /** tailwindcss config file */\n config: TailwindConfig;\n /** callback function */\n onChanges?: (params: { input: string; output: string; type: WatchType }) => void;\n}) => {\n const { input, output, config } = params;\n\n const content = (config.content as string[] | undefined) ?? ['./src/**/*.{ts,tsx}'];\n\n const files = await glob([...content, input], { ignore: ['**/node_modules/**'] });\n\n const watcher = chokidar.watch(files, {\n persistent: true,\n ignoreInitial: true,\n });\n\n let isInitialized = false;\n\n const processChanges = async (type: WatchType) => {\n try {\n await outputCss({ inputPath: input, outputPath: output, config });\n params.onChanges?.({ input, output, type });\n } catch (error) {\n console.error('Error building Tailwind CSS:', error);\n }\n };\n\n const debouncedProcessChanges = debounce(processChanges, { waitMs: 1000 });\n\n watcher.on('ready', async () => {\n if (!isInitialized) {\n isInitialized = true;\n await processChanges('init');\n }\n });\n\n watcher.on('error', (error) => {\n console.error('Error watching Tailwind CSS:', error);\n });\n\n watcher.on('add', (path) => {\n debouncedProcessChanges.call('add');\n });\n watcher.on('change', (path) => {\n debouncedProcessChanges.call('change');\n });\n watcher.on('unlink', (path) => {\n debouncedProcessChanges.call('unlink');\n });\n watcher.on('unlinkDir', (path) => {\n debouncedProcessChanges.call('unlink');\n });\n\n return watcher;\n};\n","import { type Configuration } from 'webpack';\nimport { buildWithWebpack } from '../lib/webpack.js';\n\nexport default async function action(params: { entries: Configuration['entry']; outDir: string }) {\n const { entries, outDir } = params;\n return buildWithWebpack({ entries, outDir });\n}\n","import MiniCssExtractPlugin from 'mini-css-extract-plugin';\r\nimport path from 'path';\r\nimport { cwd } from 'process';\r\nimport TerserPlugin from 'terser-webpack-plugin';\r\nimport webpack, { type Configuration } from 'webpack';\r\nimport chalk from 'chalk';\r\nimport { TsconfigPathsPlugin } from 'tsconfig-paths-webpack-plugin';\r\n\r\nexport const buildWithWebpack = async (props: {\r\n entries: Configuration['entry'];\r\n outDir: string;\r\n}) => {\r\n const { entries, outDir } = props;\r\n\r\n const exclude = /node_modules/;\r\n const styleLoader = MiniCssExtractPlugin.loader;\r\n\r\n const tsConfigPath = path.join(cwd(), 'tsconfig.json');\r\n\r\n console.group(chalk.blue('🚀 Building with Webpack...'));\r\n console.log('🔧 tsconfig.json path:', tsConfigPath);\r\n console.groupEnd();\r\n\r\n return new Promise<void>((resolve, reject) => {\r\n webpack(\r\n {\r\n mode: 'production',\r\n target: ['web', 'es2023'],\r\n entry: entries,\r\n resolve: {\r\n extensions: ['.ts', '.tsx', '.js', '.json'],\r\n fallback: {\r\n path: false,\r\n },\r\n plugins: [new TsconfigPathsPlugin({ configFile: tsConfigPath })],\r\n },\r\n cache: { type: 'filesystem' },\r\n output: { filename: '[name].js', path: path.resolve(outDir) },\r\n module: {\r\n rules: [\r\n { test: /\\.tsx?$/, exclude, loader: 'ts-loader' },\r\n { test: /\\.css$/, use: [styleLoader, 'css-loader'] },\r\n {\r\n test: /\\.scss$/,\r\n use: [\r\n styleLoader,\r\n 'css-loader',\r\n { loader: 'sass-loader', options: { sassOptions: { outputStyle: 'expanded' } } },\r\n ],\r\n },\r\n ],\r\n },\r\n plugins: [new MiniCssExtractPlugin()],\r\n optimization: {\r\n minimize: true,\r\n minimizer: [\r\n new TerserPlugin({\r\n terserOptions: { format: { comments: false } },\r\n extractComments: false,\r\n }),\r\n ],\r\n },\r\n },\r\n (err, stats) => {\r\n if (err) {\r\n reject(err);\r\n } else {\r\n if (stats?.compilation.errors.length) {\r\n reject(\r\n [\r\n chalk.red('⚠ Build failed.'),\r\n ...stats.compilation.errors.map((error) => error.message),\r\n ].join('\\n')\r\n );\r\n } else {\r\n resolve();\r\n }\r\n }\r\n }\r\n );\r\n });\r\n};\r\n","import { ESLint } from 'eslint';\nimport globals from 'globals';\nimport pluginJs from '@eslint/js';\nimport tseslint from 'typescript-eslint';\nimport pluginReact from 'eslint-plugin-react';\n\nexport async function lint() {\n const eslint = new ESLint({\n baseConfig: [\n { files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'] },\n { languageOptions: { globals: globals.browser } },\n pluginJs.configs.recommended,\n // ...tseslint.configs.recommended,\n ...(pluginReact.configs.flat?.recommended ? [pluginReact.configs.flat.recommended] : []),\n ],\n });\n\n const results = await eslint.lintFiles(['src/**/*.{ts,tsx?}']);\n\n const formatter = await eslint.loadFormatter('stylish');\n const resultText = formatter.format(results);\n\n console.group('👕 Lint Results');\n console.log(resultText);\n console.groupEnd();\n\n const hasErrors = results.some((result) => result.errorCount > 0);\n if (hasErrors) {\n console.error('🚨 Lint errors found');\n process.exit(1);\n }\n}\n","import { program } from 'commander';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { PLUGIN_CONTENTS_DIRECTORY } from '../lib/constants.js';\nimport { importK2PluginConfig } from '../lib/import.js';\nimport { getTailwindConfig, getTailwindInputCss, outputCss } from '../lib/tailwind.js';\nimport { type BuildOptions } from 'esbuild';\nimport { buildWithEsbuild } from '../lib/esbuild.js';\nimport { lint } from '../lib/lint.js';\n\nexport default function command() {\n program\n .command('esbuild')\n .description(\"Build the project for production. (It's a wrapper of webpack build command.)\")\n .action(action);\n}\n\nexport async function action() {\n console.group('🍳 Build the project for production');\n\n try {\n const config = await importK2PluginConfig();\n\n if (config?.lint?.build) {\n await lint();\n console.log('✨ Lint success.');\n }\n\n if (!fs.existsSync(PLUGIN_CONTENTS_DIRECTORY)) {\n await fs.mkdir(PLUGIN_CONTENTS_DIRECTORY, { recursive: true });\n }\n\n if (config.tailwind?.css && config.tailwind?.config) {\n const tailwindConfig = await getTailwindConfig(config.tailwind);\n\n const inputFile = getTailwindInputCss(config.tailwind);\n\n await outputCss({\n inputPath: inputFile.config,\n outputPath: path.join(PLUGIN_CONTENTS_DIRECTORY, 'config.css'),\n config: tailwindConfig.config,\n minify: true,\n });\n console.log('✨ Built config.css');\n await outputCss({\n inputPath: inputFile.desktop,\n outputPath: path.join(PLUGIN_CONTENTS_DIRECTORY, 'desktop.css'),\n config: tailwindConfig.desktop,\n minify: true,\n });\n console.log('✨ Built desktop.css');\n }\n\n const entryPoints: BuildOptions['entryPoints'] = ['desktop', 'config'].map((dir) => ({\n in: path.join('src', dir, 'index.ts'),\n out: dir,\n }));\n\n await buildWithEsbuild({\n entryPoints,\n outdir: PLUGIN_CONTENTS_DIRECTORY,\n minify: true,\n sourcemap: false,\n legalComments: 'none',\n });\n console.log('✨ Built desktop.js and config.js');\n console.log('✨ Build success.');\n } catch (error) {\n throw error;\n } finally {\n console.groupEnd();\n }\n}\n","import chalk from 'chalk';\nimport esbuild, { type BuildOptions } from 'esbuild';\n\nconst completeBuildOptions = (params: BuildOptions): BuildOptions => {\n return {\n bundle: true,\n platform: 'browser',\n ...params,\n plugins: [...(params.plugins ?? [])],\n };\n};\n\nconst completeDevBuildOptions = (params: BuildOptions): BuildOptions => {\n return completeBuildOptions({\n ...params,\n plugins: [\n ...(params.plugins ?? []),\n {\n name: 'on-end',\n setup: ({ onEnd }) =>\n onEnd(() =>\n console.log(\n chalk.hex('#e5e7eb')(`${new Date().toLocaleTimeString()} `) +\n chalk.cyan(`[js] `) +\n `rebuilt`\n )\n ),\n },\n ],\n });\n};\n\nexport const getEsbuildContext = async (params: BuildOptions) => {\n return esbuild.context(completeDevBuildOptions(params));\n};\n\nexport const buildWithEsbuild = async (params: BuildOptions & { watch?: boolean }) => {\n const { watch = false, ...rest } = params;\n if (watch) {\n const context = await getEsbuildContext(rest);\n context.watch();\n } else {\n const options = completeBuildOptions(rest);\n await esbuild.build(options);\n }\n};\n","import { program } from 'commander';\nimport { type BuildOptions } from 'esbuild';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport {\n DEFAULT_PORT,\n PLUGIN_DEVELOPMENT_DIRECTORY,\n PLUGIN_WORKSPACE_DIRECTORY,\n} from '../../lib/constants.js';\nimport { importK2PluginConfig } from '../../lib/import.js';\nimport base from '../dev-base-esbuild.js';\nimport { getManifest } from './create-manifest.js';\nimport { watchCss } from './tailwind.js';\nimport { watchContentsAndUploadZip } from './upload.js';\n\nexport default function command() {\n program\n .command('dev')\n .option(\n '-p, --ppk <ppk>',\n '.ppk file path',\n path.join(PLUGIN_WORKSPACE_DIRECTORY, 'private.ppk')\n )\n .option('-c, --cert-dir <certDir>', 'Certificate directory', PLUGIN_WORKSPACE_DIRECTORY)\n .description('Start development server.')\n .action(action);\n}\n\nexport async function action(options: { ppk: string; certDir: string }) {\n console.group('🍳 Start development server');\n try {\n const { ppk: ppkPath, certDir } = options;\n const config = await importK2PluginConfig();\n\n if (!fs.existsSync(PLUGIN_DEVELOPMENT_DIRECTORY)) {\n await fs.mkdir(PLUGIN_DEVELOPMENT_DIRECTORY, { recursive: true });\n }\n\n const port = config.server?.port ?? DEFAULT_PORT;\n\n const manifest = await getManifest({ config, port });\n console.log(`📝 manifest.json generated`);\n\n Promise.all([\n watchContentsAndUploadZip({ manifest, ppkPath }),\n watchCss(config),\n build(port, certDir),\n ]);\n } catch (error) {\n throw error;\n } finally {\n console.groupEnd();\n }\n}\n\nasync function build(\n port: number,\n certDir = PLUGIN_WORKSPACE_DIRECTORY,\n staticDir = PLUGIN_DEVELOPMENT_DIRECTORY\n) {\n const entryPoints: BuildOptions['entryPoints'] = ['desktop', 'config'].map((dir) => ({\n in: path.join('src', dir, 'index.ts'),\n out: dir,\n }));\n\n base({ port, entryPoints, certDir, staticDir });\n}\n","import { type BuildOptions } from 'esbuild';\nimport path from 'path';\nimport { getEsbuildContext } from '../lib/esbuild.js';\n\nexport default async function action(params: {\n entryPoints: BuildOptions['entryPoints'];\n staticDir: string;\n certDir: string;\n port: number;\n}) {\n const { entryPoints, staticDir: outdir, certDir, port } = params;\n\n const context = await getEsbuildContext({ sourcemap: 'inline', entryPoints, outdir });\n\n const [_, serveResult] = await Promise.all([\n context.watch(),\n context.serve({\n port,\n keyfile: path.join(certDir, 'localhost-key.pem'),\n certfile: path.join(certDir, 'localhost-cert.pem'),\n servedir: outdir,\n }),\n ]);\n\n console.log(`🚀 Start development server at https://localhost:${serveResult.port}`);\n}\n","import { PLUGIN_CONTENTS_DIRECTORY } from './constants.js';\nimport { importK2PluginConfig } from './import.js';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport merge from 'deepmerge';\n\nexport const outputManifest = async (\n env: 'dev' | 'prod' | 'standalone',\n options?: { config?: Plugin.Meta.Config }\n): Promise<Plugin.Meta.Manifest> => {\n const config = options?.config || (await importK2PluginConfig());\n\n const merged = merge(config.manifest.base, config.manifest[env] || {}) as Plugin.Meta.Manifest;\n\n await fs.mkdirs(PLUGIN_CONTENTS_DIRECTORY);\n await fs.writeJson(path.join(PLUGIN_CONTENTS_DIRECTORY, 'manifest.json'), merged);\n\n return merged;\n};\n","import { outputManifest } from '../../lib/plugin-manifest.js';\n\nexport const getManifest = async (params: { config: Plugin.Meta.Config; port: number }) => {\n const { config, port } = params;\n return outputManifest('dev', {\n config: {\n ...config,\n manifest: {\n ...config.manifest,\n dev: {\n config: {\n ...config.manifest?.dev?.config,\n js: [`https://localhost:${port}/config.js`],\n css: [`https://localhost:${port}/config.css`],\n },\n desktop: {\n ...config.manifest?.dev?.desktop,\n js: [`https://localhost:${port}/desktop.js`],\n css: [`https://localhost:${port}/desktop.css`],\n },\n mobile: {\n ...config.manifest?.dev?.mobile,\n js: [`https://localhost:${port}/desktop.js`],\n css: [`https://localhost:${port}/desktop.css`],\n },\n },\n },\n },\n });\n};\n","import path from 'path';\nimport { type Config as TailwindConfig } from 'tailwindcss';\nimport { PLUGIN_DEVELOPMENT_DIRECTORY } from '../../lib/constants.js';\nimport chalk from 'chalk';\nimport { getTailwindConfig, getTailwindInputCss, watchTailwindCSS } from '../../lib/tailwind.js';\n\nasync function buildTailwindCSS(params: {\n inputFile: string;\n outputFileName: string;\n config: TailwindConfig;\n}) {\n const { inputFile, outputFileName, config } = params;\n const inputPath = path.resolve(inputFile);\n const outputPath = path.join(PLUGIN_DEVELOPMENT_DIRECTORY, outputFileName);\n\n return watchTailwindCSS({\n input: inputPath,\n output: outputPath,\n config,\n onChanges: ({ output, type }) => {\n const outputFileName = path.basename(output);\n console.log(\n chalk.hex('#e5e7eb')(`${new Date().toLocaleTimeString()} `) +\n chalk.cyan(`[css] `) +\n outputFileName +\n (type === 'init' ? ' init' : ` rebuilt`)\n );\n },\n });\n}\n\nexport const watchCss = async (pluginConfig: Plugin.Meta.Config) => {\n if (!pluginConfig.tailwind?.css || !pluginConfig.tailwind?.config) {\n return;\n }\n\n const tailwindConfig = await getTailwindConfig(pluginConfig.tailwind);\n\n const inputFile = getTailwindInputCss(pluginConfig.tailwind);\n\n return Promise.all([\n buildTailwindCSS({\n inputFile: inputFile.desktop,\n outputFileName: 'desktop.css',\n config: tailwindConfig.desktop,\n }),\n buildTailwindCSS({\n inputFile: inputFile.config,\n outputFileName: 'config.css',\n config: tailwindConfig.config,\n }),\n ]);\n};\n","import packer from '@kintone/plugin-packer';\nimport { copyPluginContents } from '../../lib/plugin-contents.js';\nimport { getContentsZipBuffer, getZipFileNameSuffix, outputContentsZip } from '../../lib/zip.js';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { PLUGIN_WORKSPACE_DIRECTORY } from '../../lib/constants.js';\nimport { apiUploadZip } from '../../lib/utils.js';\nimport chokider from 'chokidar';\nimport chalk from 'chalk';\n\nexport const watchContentsAndUploadZip = async (params: {\n manifest: Plugin.Meta.Manifest;\n ppkPath: string;\n}) => {\n const { manifest, ppkPath } = params;\n\n let initialScanComplete = false;\n\n const contentsListener = async () => {\n try {\n if (!initialScanComplete) {\n return;\n }\n await copyPluginContents();\n console.log(\n chalk.hex('#e5e7eb')(`${new Date().toLocaleTimeString()} `) +\n chalk.cyan(`[contents] `) +\n `updated`\n );\n } catch (error: any) {\n console.error('Error copying plugin contents:', error);\n return;\n }\n\n try {\n await outputContentsZip(manifest);\n const buffer = await getContentsZipBuffer();\n const pluginPrivateKey = await fs.readFile(path.resolve(ppkPath), 'utf8');\n\n const output = await packer(buffer, pluginPrivateKey);\n\n const zipFileName = `plugin${getZipFileNameSuffix('dev')}.zip`;\n\n await fs.writeFile(path.join(PLUGIN_WORKSPACE_DIRECTORY, zipFileName), output.plugin);\n\n const { method } = await apiUploadZip({ env: 'dev', pluginId: output.id });\n console.log(\n chalk.hex('#e5e7eb')(`${new Date().toLocaleTimeString()} `) +\n chalk.cyan(`[upload] `) +\n `uploaded ${method === 'POST' ? '(new)' : '(update)'}`\n );\n } catch (error: any) {\n console.log(\n chalk.hex('#e5e7eb')(`${new Date().toLocaleTimeString()} `) +\n chalk.cyan(`[upload] `) +\n chalk.red(`failed`) +\n chalk.hex('#e5e7eb')(`: ${error?.message ?? 'Unknown error'}`)\n );\n }\n };\n\n const contentsWatcher = chokider.watch(['src/contents/**/*'], {\n ignored: /node_modules/,\n persistent: true,\n });\n\n contentsWatcher.on('ready', () => {\n initialScanComplete = true;\n contentsListener();\n });\n\n contentsWatcher.on('change', contentsListener);\n contentsWatcher.on('add', contentsListener);\n contentsWatcher.on('unlink', contentsListener);\n};\n","import fs from 'fs-extra';\nimport path from 'path';\nimport { PLUGIN_CONTENTS_DIRECTORY } from './constants.js';\nimport htmlMinifier from 'html-minifier';\n\nexport const copyPluginContents = async (\n params: { inputDir?: string; outputDir?: string } = {}\n) => {\n const { inputDir = path.join('src', 'contents'), outputDir = PLUGIN_CONTENTS_DIRECTORY } = params;\n if (!fs.existsSync(inputDir)) {\n await fs.mkdir(inputDir, { recursive: true });\n }\n\n await fs.copy(inputDir, outputDir, { overwrite: true });\n\n const configHtmlPath = path.join(outputDir, 'config.html');\n\n if (!fs.existsSync(configHtmlPath)) {\n throw new Error(`Plugin HTML file not found. Create \"config.html\" in ${inputDir}.`);\n }\n\n const html = await fs.readFile(configHtmlPath, 'utf8');\n\n const minified = htmlMinifier.minify(html, {\n minifyCSS: true,\n collapseWhitespace: true,\n removeComments: true,\n removeOptionalTags: true,\n removeRedundantAttributes: true,\n removeScriptTypeAttributes: true,\n removeTagWhitespace: true,\n useShortDoctype: true,\n });\n\n await fs.writeFile(configHtmlPath, minified);\n};\n","import archiver from 'archiver';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport invariant from 'tiny-invariant';\nimport { PLUGIN_CONTENTS_DIRECTORY, PLUGIN_WORKSPACE_DIRECTORY } from './constants.js';\n\nexport const outputContentsZip = async (manifest: Plugin.Meta.Manifest) => {\n const archive = archiver('zip', { zlib: { level: 9 } });\n archive.on('warning', (error) => {\n if (error.code === 'ENOENT') {\n console.warn(error);\n } else {\n throw error;\n }\n });\n\n const outputZipPath = path.join(PLUGIN_WORKSPACE_DIRECTORY, 'contents.zip');\n const outputZipStream = fs.createWriteStream(outputZipPath);\n outputZipStream.on('close', () => {\n console.log(`📦 ${archive.pointer()} total bytes`);\n });\n outputZipStream.on('end', function () {\n console.log('📦 Data has been drained');\n });\n\n const filterLocalContent = (file: string) => {\n return !/^https?:\\/\\//.test(file);\n };\n\n invariant(manifest.config?.html, 'manifest.config.html is required');\n\n const targetFiles = [\n 'manifest.json',\n ...new Set([\n manifest.icon,\n manifest.config.html,\n ...(manifest.desktop?.js || []).filter(filterLocalContent),\n ...(manifest.desktop?.css || []).filter(filterLocalContent),\n ...(manifest.mobile?.js || []).filter(filterLocalContent),\n ...(manifest.mobile?.css || []).filter(filterLocalContent),\n ...(manifest.config.js || []).filter(filterLocalContent),\n ...(manifest.config.css || []).filter(filterLocalContent),\n ]),\n ];\n\n console.group('📁 Target files');\n targetFiles.forEach((file, i) => {\n const prefix = i === targetFiles.length - 1 ? '└─' : '├─';\n console.log(`${prefix} 📄 ${file}`);\n });\n console.groupEnd();\n\n for (const file of targetFiles) {\n const filePath = path.join(PLUGIN_CONTENTS_DIRECTORY, file);\n if (!fs.existsSync(filePath)) {\n throw new Error(`${filePath} does not exist`);\n }\n archive.file(filePath, { name: file });\n }\n\n archive.pipe(outputZipStream);\n await archive.finalize();\n await new Promise<void>((resolve) => outputZipStream.on('close', resolve));\n};\n\nexport const getContentsZipBuffer = async () => {\n const outputZipPath = path.join(PLUGIN_WORKSPACE_DIRECTORY, 'contents.zip');\n return fs.readFile(outputZipPath);\n};\n\nexport const getZipFileNameSuffix = (env: string) => {\n return env === 'prod' ? '' : `-${env}`;\n};\n","import { config } from 'dotenv';\n\ntype GetPluginsParams = {\n offset?: number;\n limit?: number;\n};\ntype Plugin = {\n id: string;\n name: string;\n isMarketplace: boolean;\n version: string;\n};\n\ntype GetPluginsSuccessResponse = {\n plugins: Plugin[];\n};\ntype GetPluginResponse = GetPluginsSuccessResponse;\n\ntype AddPluginSuccessResponse = {\n id: string;\n revision: string;\n};\ntype AddPluginErrorResponse = {\n code: string;\n id: string;\n message: string;\n};\ntype AddPluginResponse = AddPluginSuccessResponse | AddPluginErrorResponse;\n\ntype UpdatePluginSuccessResponse = {\n id: string;\n revision: string;\n};\ntype UpdatePluginErrorResponse = {\n code: string;\n id: string;\n message: string;\n errors?: Record<string, { messages: string[] }>;\n};\ntype UpdatePluginResponse = UpdatePluginSuccessResponse | UpdatePluginErrorResponse;\n\nexport class KintoneApiClient {\n #baseUrl: string;\n #authHeader: Record<string, string>;\n\n public constructor() {\n config();\n\n const {\n KINTONE_BASE_URL,\n KINTONE_USERNAME,\n KINTONE_PASSWORD,\n KINTONE_BASIC_AUTH_USERNAME = '',\n KINTONE_BASIC_AUTH_PASSWORD = '',\n } = process.env;\n if (!KINTONE_BASE_URL || !KINTONE_USERNAME || !KINTONE_PASSWORD) {\n throw new Error(`.envの設定が不十分です。以下のパラメータは必須です\nKINTONE_BASE_URL\nKINTONE_USERNAME\nKINTONE_PASSWORD`);\n }\n\n const authHeader = {\n 'X-Cybozu-Authorization': Buffer.from(`${KINTONE_USERNAME}:${KINTONE_PASSWORD}`).toString(\n 'base64'\n ),\n ...(KINTONE_BASIC_AUTH_USERNAME &&\n KINTONE_BASIC_AUTH_PASSWORD && {\n Authorization: `Basic ${Buffer.from(\n `${KINTONE_BASIC_AUTH_USERNAME}:${KINTONE_BASIC_AUTH_PASSWORD}`\n ).toString('base64')}`,\n }),\n };\n this.#baseUrl = KINTONE_BASE_URL;\n this.#authHeader = authHeader;\n }\n\n private getEndpointUrl(path: string): string {\n return `${this.#baseUrl}${path}`;\n }\n\n public async upload(params: { blob: Blob; fileName: string }): Promise<string> {\n const { blob, fileName } = params;\n\n const form = new FormData();\n form.append('file', blob, fileName);\n\n const uploadResult = await fetch(this.getEndpointUrl('/k/v1/file.json'), {\n method: 'POST',\n headers: this.#authHeader,\n body: form,\n });\n\n const { fileKey }: { fileKey: string } = await uploadResult.json();\n\n return fileKey;\n }\n\n public async getPlugins(params: GetPluginsParams = {}): Promise<GetPluginResponse> {\n const url = new URL(this.getEndpointUrl('/k/v1/plugins.json'));\n if (params.offset) {\n url.searchParams.set('offset', String(params.offset));\n }\n if (params.limit) {\n url.searchParams.set('limit', String(params.limit));\n }\n\n const pluginResponse = await fetch(url.toString(), {\n headers: this.#authHeader,\n });\n\n return pluginResponse.json();\n }\n\n public async getAllPlugins(): Promise<Plugin[]> {\n const plugins: Plugin[] = [];\n let offset = 0;\n let limit = 100;\n let hasMore = true;\n\n while (hasMore) {\n const { plugins: currentPlugins } = await this.getPlugins({ offset, limit });\n plugins.push(...currentPlugins);\n\n if (currentPlugins.length < limit) {\n hasMore = false;\n } else {\n offset += limit;\n }\n }\n\n return plugins;\n }\n\n public async addPlugin(params: { fileKey: string }): Promise<AddPluginResponse> {\n const { fileKey } = params;\n\n const pluginResponse = await fetch(this.getEndpointUrl('/k/v1/plugin.json'), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...this.#authHeader,\n },\n body: JSON.stringify({\n fileKey,\n }),\n });\n\n return pluginResponse.json();\n }\n\n public async updatePlugin(params: {\n id: string;\n fileKey: string;\n }): Promise<UpdatePluginResponse> {\n const pluginResponse = await fetch(this.getEndpointUrl('/k/v1/plugin.json'), {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n ...this.#authHeader,\n },\n body: JSON.stringify(params),\n });\n\n return pluginResponse.json();\n }\n}\n","import { PLUGIN_WORKSPACE_DIRECTORY } from './constants.js';\nimport { KintoneApiClient } from './kintone-api-client.js';\nimport { getZipFileNameSuffix } from './zip.js';\nimport fs from 'fs-extra';\nimport path from 'path';\n\nexport const isEnv = (env: string): env is Plugin.Meta.Env => {\n return ['prod', 'dev', 'standalone'].includes(env);\n};\n\n/**\n * プラグインを追加・更新するAPIを利用してプラグインをアップロードします\n */\nexport const apiUploadZip = async (params: {\n env: Plugin.Meta.Env;\n pluginId: string;\n}): Promise<{ method: 'PUT' | 'POST' }> => {\n const { env, pluginId } = params;\n\n const kc = new KintoneApiClient();\n\n const zipFileName = `plugin${getZipFileNameSuffix(env)}.zip`;\n\n const zipFile = new Blob([await fs.readFile(path.join(PLUGIN_WORKSPACE_DIRECTORY, zipFileName))]);\n\n const fileKey = await kc.upload({ blob: zipFile, fileName: zipFileName });\n\n const plugins = await kc.getAllPlugins();\n\n const plugin = plugins.find((p) => p.id === pluginId);\n if (plugin) {\n const json = await kc.updatePlugin({ id: pluginId, fileKey });\n if ('errors' in json && json.errors) {\n console.error((json.errors.id?.messages ?? []).map((m: string) => `Error: ${m}`).join('\\n'));\n }\n return { method: 'PUT' };\n }\n const result = await kc.addPlugin({ fileKey });\n if ('code' in result) {\n console.error(`Error: ${result.message}`);\n }\n return { method: 'POST' };\n};\n\n/**\n * @kintone/plugin-uploaderを利用してプラグインをアップロードします\n * APIを使用した方が高速ですが、2024年11月までは設定により無効になる可能性があるため、暫定的に残しています\n * 使用するには@kintone/plugin-uploaderがインストールされている必要があります\n */\n/*\nexport const uploadZip = async (env: Plugin.Meta.Env) => {\n config();\n\n const {\n KINTONE_BASE_URL,\n KINTONE_USERNAME,\n KINTONE_PASSWORD,\n KINTONE_BASIC_AUTH_USERNAME = '',\n KINTONE_BASIC_AUTH_PASSWORD = '',\n } = process.env;\n if (!KINTONE_BASE_URL || !KINTONE_USERNAME || !KINTONE_PASSWORD) {\n throw new Error(`.envの設定が不十分です。以下のパラメータは必須です\nKINTONE_BASE_URL\nKINTONE_USERNAME\nKINTONE_PASSWORD`);\n }\n\n const zipFileName = `plugin${getZipFileNameSuffix(env)}.zip`;\n\n let command = `kintone-plugin-uploader ${PLUGIN_WORKSPACE_DIRECTORY}/${zipFileName} --base-url ${KINTONE_BASE_URL} --username ${KINTONE_USERNAME} --password ${KINTONE_PASSWORD}`;\n if (KINTONE_BASIC_AUTH_USERNAME && KINTONE_BASIC_AUTH_PASSWORD) {\n command += ` --basic-auth-username ${KINTONE_BASIC_AUTH_USERNAME} --basic-auth-password ${KINTONE_BASIC_AUTH_PASSWORD}`;\n }\n\n return exec(command);\n};\n*/\n","import { program } from 'commander';\nimport base from './genkey-base.js';\nimport { PLUGIN_WORKSPACE_DIRECTORY } from '../lib/constants.js';\n\nexport default function command() {\n program\n .command('genkey')\n .description('Generate SSL key for localhost. (Require mkcert)')\n .action(action);\n}\n\nexport async function action() {\n await base({ output: PLUGIN_WORKSPACE_DIRECTORY });\n}\n","import { exec as defaultExec } from 'child_process';\nimport { promisify } from 'util';\n\nexport const exec = promisify(defaultExec);\n","import { exec } from './exec.js';\nimport fs from 'fs-extra';\nimport path from 'path';\n\nexport const generateCert = async (outDir: string) => {\n const { stdout } = await exec(`mkcert localhost 127.0.0.1 ::1`);\n [\n { input: 'localhost+2.pem', output: 'localhost-cert.pem' },\n { input: 'localhost+2-key.pem', output: 'localhost-key.pem' },\n ].forEach(({ input, output }) => {\n fs.moveSync(`./${input}`, path.join(outDir, output), {\n overwrite: true,\n });\n });\n return { stdout };\n};\n","import { generateCert } from '../lib/cert.js';\n\nexport default async function action(options: { output: string }) {\n const { output } = options;\n\n console.group('🍳 Generate SSL key for localhost');\n try {\n const { stdout } = await generateCert(output);\n if (stdout) {\n console.log(stdout);\n }\n console.log(`🔑 key generation success. Output to ./${output}`);\n } catch (error) {\n throw error;\n } finally {\n console.groupEnd();\n }\n}\n","import { program } from 'commander';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport packer from '@kintone/plugin-packer';\nimport { outputManifest } from '../lib/plugin-manifest.js';\nimport { PLUGIN_WORKSPACE_DIRECTORY } from '../lib/constants.js';\nimport { getContentsZipBuffer, outputContentsZip } from '../lib/zip.js';\nimport { copyPluginContents } from '../lib/plugin-contents.js';\n\nexport default function command() {\n program.command('init').description('generate private.ppk and kitting config').action(action);\n}\n\nexport async function action() {\n console.group('🍳 Executing plugin initialization setup');\n try {\n const manifest = await outputManifest('dev');\n console.log('📝 manifest.json generated');\n\n await copyPluginContents();\n console.log('📁 contents copied');\n\n let privateKey: string | undefined;\n const keyPath = path.join(PLUGIN_WORKSPACE_DIRECTORY, 'private.ppk');\n if (fs.existsSync(keyPath)) {\n privateKey = await fs.readFile(keyPath, 'utf8');\n }\n\n await outputContentsZip(manifest);\n const buffer = await getContentsZipBuffer();\n\n const output = await packer(buffer, privateKey);\n\n if (!privateKey) {\n await fs.writeFile(path.join(PLUGIN_WORKSPACE_DIRECTORY, 'private.ppk'), output.privateKey);\n console.log('🔑 private.ppk generated');\n } else {\n console.log('🔑 private.ppk already exists. The existing private.ppk will be used.');\n }\n await fs.writeFile(path.join(PLUGIN_WORKSPACE_DIRECTORY, 'plugin.zip'), output.plugin);\n console.log('📦 plugin.zip generated');\n console.log('✨ Plugin initialization setup completed! zip file path is ./.plugin/plugin.zip');\n } catch (error) {\n throw error;\n } finally {\n console.groupEnd();\n }\n}\n","import { program } from 'commander';\nimport { outputManifest } from '../../lib/plugin-manifest.js';\nimport { copyPluginContents } from '../../lib/plugin-contents.js';\n\nexport default function command(): void {\n program\n .command('manifest')\n .option('-e, --env <env>', 'create manifest', 'prod')\n .action(action);\n}\n\nasync function action(options: { env: string }): Promise<void> {\n console.group('🚀 Executing manifest generation');\n try {\n const { env } = options;\n if (env !== 'prod' && env !== 'dev' && env !== 'standalone') {\n throw new Error('Invalid environment');\n }\n\n await copyPluginContents();\n console.log('📁 contents copied');\n\n await outputManifest(env);\n console.log(`📝 manifest.json generated (${env})`);\n } catch (error) {\n throw error;\n } finally {\n console.groupEnd();\n }\n}\n","import { program } from 'commander';\nimport fs from 'fs-extra';\nimport { esmImport } from '../../lib/import.js';\n\nexport default function command() {\n program.command('test').description('test').action(action);\n}\n\nexport async function action() {\n console.group('package.json');\n const packageJson = fs.readJSONSync('package.json');\n console.log('package.json detected');\n console.groupEnd();\n\n console.group('Config');\n const config = await esmImport('plugin.config.mjs');\n console.log('plugin.config.mjs detected', config);\n console.groupEnd();\n}\n","import { program } from 'commander';\nimport { outputManifest } from '../lib/plugin-manifest.js';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport { PLUGIN_WORKSPACE_DIRECTORY } from '../lib/constants.js';\nimport packer from '@kintone/plugin-packer';\nimport { getContentsZipBuffer, getZipFileNameSuffix, outputContentsZip } from '../lib/zip.js';\nimport { copyPluginContents } from '../lib/plugin-contents.js';\nimport { isEnv } from '../lib/utils.js';\n\nexport default function command(): void {\n program\n .command('zip')\n .description('generate plugin zip')\n .option('-e, --env <env>', 'plugin environment (dev, prod, standalone)', 'prod')\n .option(\n '-p, --ppk <ppk>',\n '.ppk file path',\n path.join(PLUGIN_WORKSPACE_DIRECTORY, 'private.ppk')\n )\n .action(action);\n}\n\nasync function action(options: { env: string; ppk: string }): Promise<void> {\n console.group('🍳 Executing plugin zip generation');\n try {\n const { env, ppk: ppkPath } = options;\n if (!isEnv(env)) {\n throw new Error('Invalid environment');\n }\n\n await copyPluginContents();\n console.log('📁 contents copied');\n\n const manifest = await outputManifest(env);\n console.log(`📝 manifest.json generated (${env})`);\n\n await outputContentsZip(manifest);\n console.log('📦 contents.zip generated');\n\n const buffer = await getContentsZipBuffer();\n const privateKey = await fs.readFile(path.resolve(ppkPath), 'utf8');\n\n const output = await packer(buffer, privateKey);\n\n const zipFileName = `plugin${getZipFileNameSuffix(env)}.zip`;\n\n await fs.writeFile(path.join(PLUGIN_WORKSPACE_DIRECTORY, zipFileName), output.plugin);\n console.log('📦 plugin.zip generated');\n\n // version ファイルを出力\n const version = String(manifest.version);\n await fs.writeFile(path.join(PLUGIN_WORKSPACE_DIRECTORY, 'version'), version);\n console.log(`📝 version file generated (${version})`);\n\n console.log(`✨ Plugin zip generation completed! zip file path is ./.plugin/${zipFileName}`);\n } catch (error) {\n throw error;\n } finally {\n console.groupEnd();\n }\n}\n","import { program } from 'commander';\nimport { lint } from '../lib/lint.js';\n\nexport default function command() {\n program\n .command('lint')\n .description('Lint source files')\n .option('-c, --config <config>', 'Config file path')\n .action(action);\n}\n\nexport async function action(options: {\n outdir: string;\n certdir: string;\n port: string;\n input: string;\n}) {\n try {\n lint();\n } catch (error) {\n throw error;\n } finally {\n }\n}\n","import { program } from 'commander';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport type { Options } from 'tsup';\nimport { PLUGIN_CONTENTS_DIRECTORY } from '../lib/constants.js';\nimport { importK2PluginConfig } from '../lib/import.js';\nimport { lint } from '../lib/lint.js';\nimport { getTailwindConfig, getTailwindInputCss, outputCss } from '../lib/tailwind.js';\nimport { buildWithTsup } from '../lib/tsup.js';\n\nexport default function command() {\n program\n .command('tsup')\n .description(\"Build the project for production. (It's a wrapper of webpack build command.)\")\n .action(action);\n}\n\nexport async function action() {\n console.group('🍳 Build the project for production');\n\n try {\n const config = await importK2PluginConfig();\n\n if (config?.lint?.build) {\n await lint();\n console.log('✨ Lint success.');\n }\n\n if (!fs.existsSync(PLUGIN_CONTENTS_DIRECTORY)) {\n await fs.mkdir(PLUGIN_CONTENTS_DIRECTORY, { recursive: true });\n }\n\n if (config.tailwind?.css && config.tailwind?.config) {\n const tailwindConfig = await getTailwindConfig(config.tailwind);\n\n const inputFile = getTailwindInputCss(config.tailwind);\n\n await outputCss({\n inputPath: inputFile.config,\n outputPath: path.join(PLUGIN_CONTENTS_DIRECTORY, 'config.css'),\n config: tailwindConfig.config,\n minify: true,\n });\n console.log('✨ Built config.css');\n await outputCss({\n inputPath: inputFile.desktop,\n outputPath: path.join(PLUGIN_CONTENTS_DIRECTORY, 'desktop.css'),\n config: tailwindConfig.desktop,\n minify: true,\n });\n console.log('✨ Built desktop.css');\n }\n\n const entryPoints: Options['entry'] = ['desktop', 'config'].reduce(\n (acc, dir) => ({\n ...acc,\n [dir]: path.join('src', dir, 'index.ts'),\n }),\n {}\n );\n\n await buildWithTsup({\n entryPoints,\n outDir: PLUGIN_CONTENTS_DIRECTORY,\n minify: true,\n treeshake: true,\n sourcemap: false,\n });\n console.log('✨ Built desktop.js and config.js');\n console.log('✨ Build success.');\n } catch (error) {\n throw error;\n } finally {\n console.groupEnd();\n }\n}\n","import { type Options, build } from 'tsup';\n\n/**\n * 受け取ったビルドオプションに対して、共通するビルドオプションを補完します\n *\n * @param params\n * @returns\n */\nconst completeBuildOptions = (params: Options): Options => {\n return {\n bundle: true,\n minify: 'terser',\n splitting: false,\n noExternal: [/.*/],\n platform: 'browser',\n dts: true,\n ...params,\n esbuildOptions(options, context) {\n options.legalComments = 'none';\n },\n };\n};\n\nexport const buildWithTsup = async (buildOptions: Options) => {\n const options = completeBuildOptions(buildOptions);\n await build(options);\n};\n"],"mappings":"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","names":["program","fs","path","path","path","path","config","path","path","action","config","fs","path","program","fs","path","chalk","command","program","action","config","fs","path","program","fs","path","path","action","path","fs","path","config","config","path","chalk","config","path","outputFileName","chalk","fs","path","path","fs","fs","path","invariant","path","fs","invariant","fs","path","path","fs","path","chalk","fs","path","command","program","path","action","config","fs","program","fs","path","action","command","program","action","program","fs","path","packer","command","program","action","path","fs","packer","program","command","program","action","program","fs","command","program","action","fs","config","program","fs","path","packer","command","program","path","action","fs","packer","program","command","program","action","program","fs","path","build","completeBuildOptions","command","program","action","config","fs","path","program","command"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@konomi-app/k2",
3
- "version": "2.1.3",
3
+ "version": "2.1.4",
4
4
  "description": "kintone sdk",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -118,8 +118,8 @@
118
118
  "webpack": "^5.101.3"
119
119
  },
120
120
  "scripts": {
121
- "build": "rmdir /s /q dist & tsc",
122
- "dev": "tsc -w",
123
- "watch": "tsc -w"
121
+ "build": "tsup",
122
+ "dev": "tsup --watch",
123
+ "watch": "tsup --watch"
124
124
  }
125
125
  }
@@ -1,6 +0,0 @@
1
- import { type Configuration } from 'webpack';
2
- export default function action(params: {
3
- entries: Configuration['entry'];
4
- outDir: string;
5
- }): Promise<void>;
6
- //# sourceMappingURL=build-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-base.d.ts","sourceRoot":"","sources":["../../src/commands/build-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAA8B,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,iBAG/F"}
@@ -1,7 +0,0 @@
1
- import {} from 'webpack';
2
- import { buildWithWebpack } from '../lib/webpack.js';
3
- export default async function action(params) {
4
- const { entries, outDir } = params;
5
- return buildWithWebpack({ entries, outDir });
6
- }
7
- //# sourceMappingURL=build-base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-base.js","sourceRoot":"","sources":["../../src/commands/build-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,MAAM,CAAC,MAA2D;IAC9F,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACnC,OAAO,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,7 +0,0 @@
1
- export default function command(): void;
2
- export declare function action(options: {
3
- outdir: string;
4
- input: string;
5
- config?: string;
6
- }): Promise<void>;
7
- //# sourceMappingURL=build-esbuild.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-esbuild.d.ts","sourceRoot":"","sources":["../../src/commands/build-esbuild.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,OAAO,UAAU,OAAO,SAQ9B;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,iBAkDvF"}
@@ -1,63 +0,0 @@
1
- import { program } from 'commander';
2
- import fs from 'fs-extra';
3
- import path from 'path';
4
- import { WORKSPACE_DIRECTORY } from '../lib/constants.js';
5
- import {} from 'esbuild';
6
- import { buildWithEsbuild } from '../lib/esbuild.js';
7
- import { importK2Config } from '../lib/import.js';
8
- import { getDefaultK2Config } from '../lib/k2.js';
9
- import { buildTailwind } from './build-tailwind.js';
10
- export default function command() {
11
- program
12
- .command('esbuild-build')
13
- .option('-o, --outdir <outdir>', 'Output directory.', path.join(WORKSPACE_DIRECTORY, 'prod'))
14
- .option('-i, --input <input>', 'Input directory.', path.join('src', 'apps'))
15
- .option('--config <config>', 'k2 config file path')
16
- .description("Build the project for production. (It's a wrapper of webpack build command.)")
17
- .action(action);
18
- }
19
- export async function action(options) {
20
- console.group('🍳 Build the project for production');
21
- try {
22
- const { outdir, input, config } = options;
23
- const outDir = path.resolve(outdir);
24
- if (!fs.existsSync(outDir)) {
25
- fs.mkdirSync(outDir, { recursive: true });
26
- }
27
- const allProjects = fs.readdirSync(path.resolve(input));
28
- const entryPoints = allProjects.reduce((acc, dir) => {
29
- for (const filename of ['index.ts', 'index.js', 'index.mjs']) {
30
- if (fs.existsSync(path.join(input, dir, filename))) {
31
- return { ...acc, [dir]: path.join(input, dir, filename) };
32
- }
33
- }
34
- return acc;
35
- }, {});
36
- console.log(`📁 ${Object.keys(entryPoints).length} entry points`);
37
- const k2Config = config ? await importK2Config(config) : getDefaultK2Config();
38
- const fullConfig = { ...k2Config, outDir };
39
- const results = await Promise.allSettled([
40
- buildWithEsbuild({
41
- entryPoints,
42
- outdir,
43
- sourcemap: false,
44
- minify: true,
45
- legalComments: 'none',
46
- }),
47
- buildTailwind(fullConfig),
48
- ]);
49
- for (const result of results) {
50
- if (result.status === 'rejected') {
51
- throw result.reason;
52
- }
53
- }
54
- console.log('✨ Build success.');
55
- }
56
- catch (error) {
57
- throw error;
58
- }
59
- finally {
60
- console.groupEnd();
61
- }
62
- }
63
- //# sourceMappingURL=build-esbuild.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-esbuild.js","sourceRoot":"","sources":["../../src/commands/build-esbuild.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const buildTailwind: (config: K2.FullConfig) => Promise<void>;
2
- //# sourceMappingURL=build-tailwind.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-tailwind.d.ts","sourceRoot":"","sources":["../../src/commands/build-tailwind.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,GAAU,QAAQ,EAAE,CAAC,UAAU,kBAiBxD,CAAC"}
@@ -1,19 +0,0 @@
1
- import path from 'path';
2
- import { esmImport } from '../lib/import.js';
3
- import { outputCss } from '../lib/tailwind.js';
4
- export const buildTailwind = async (config) => {
5
- if (!config.tailwind?.css || !config.tailwind?.config) {
6
- return;
7
- }
8
- const tailwindConfig = (await esmImport(path.resolve(config.tailwind.config))).default;
9
- const inputPath = path.resolve(config.tailwind.css);
10
- const fileName = config.tailwind.fileName ?? 'tailwind.css';
11
- await outputCss({
12
- inputPath,
13
- outputPath: path.join(config.outDir, fileName),
14
- config: tailwindConfig,
15
- minify: true,
16
- });
17
- console.log(`✨ Built ${fileName}`);
18
- };
19
- //# sourceMappingURL=build-tailwind.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-tailwind.js","sourceRoot":"","sources":["../../src/commands/build-tailwind.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAqB,EAAE,EAAE;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IACD,MAAM,cAAc,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEvF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,cAAc,CAAC;IAE5D,MAAM,SAAS,CAAC;QACd,SAAS;QACT,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC9C,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- export default function command(): void;
2
- export declare function action(options: {
3
- outdir: string;
4
- input: string;
5
- config?: string;
6
- }): Promise<void>;
7
- //# sourceMappingURL=build.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,OAAO,SAQ9B;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,iBAoCvF"}
@@ -1,52 +0,0 @@
1
- import { program } from 'commander';
2
- import fs from 'fs-extra';
3
- import path from 'path';
4
- import { WORKSPACE_DIRECTORY } from '../lib/constants.js';
5
- import base from './build-base.js';
6
- import { buildTailwind } from './build-tailwind.js';
7
- import { importK2Config } from '../lib/import.js';
8
- import { getDefaultK2Config } from '../lib/k2.js';
9
- export default function command() {
10
- program
11
- .command('build')
12
- .option('-o, --outdir <outdir>', 'Output directory.', path.join(WORKSPACE_DIRECTORY, 'prod'))
13
- .option('-i, --input <input>', 'Input directory.', path.join('src', 'apps'))
14
- .option('--config <config>', 'k2 config file path')
15
- .description("Build the project for production. (It's a wrapper of webpack build command.)")
16
- .action(action);
17
- }
18
- export async function action(options) {
19
- console.group('🍳 Build the project for production');
20
- try {
21
- const { outdir, input, config } = options;
22
- const outDir = path.resolve(outdir);
23
- const allProjects = fs.readdirSync(path.resolve(input));
24
- const entries = allProjects.reduce((acc, dir) => {
25
- for (const filename of ['index.ts', 'index.js', 'index.mjs']) {
26
- if (fs.existsSync(path.join(input, dir, filename))) {
27
- return { ...acc, [dir]: path.join(input, dir, filename) };
28
- }
29
- }
30
- return acc;
31
- }, {});
32
- const k2Config = config ? await importK2Config(config) : getDefaultK2Config();
33
- const fullConfig = { ...k2Config, outDir };
34
- const results = await Promise.allSettled([
35
- base({ entries, outDir }),
36
- buildTailwind(fullConfig),
37
- ]);
38
- for (const result of results) {
39
- if (result.status === 'rejected') {
40
- throw result.reason;
41
- }
42
- }
43
- console.log('✨ Build success.');
44
- }
45
- catch (error) {
46
- throw error;
47
- }
48
- finally {
49
- console.groupEnd();
50
- }
51
- }
52
- //# sourceMappingURL=build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,OAAO;IAC7B,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;SAC5F,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SAC3E,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;SAClD,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAA2D;IACtF,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAErD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACtE,KAAK,MAAM,QAAQ,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;gBAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACnD,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC5D,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAkB,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC;QAE1D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YACvC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACzB,aAAa,CAAC,UAAU,CAAC;SAC1B,CAAC,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,MAAM,CAAC,MAAM,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -1,9 +0,0 @@
1
- export default function command(): void;
2
- export declare function action(options: {
3
- outdir: string;
4
- certdir: string;
5
- port?: string;
6
- config?: string;
7
- input: string;
8
- }): Promise<void>;
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,OAAO,UAAU,OAAO,SAU9B;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,iBAyBA"}
@@ -1,60 +0,0 @@
1
- import { program } from 'commander';
2
- import {} from 'esbuild';
3
- import fs from 'fs-extra';
4
- import path from 'path';
5
- import { CONFIG_FILE_NAME, DEFAULT_PORT, DEVELOPMENT_DIRECTORY, WORKSPACE_DIRECTORY, } from '../../lib/constants.js';
6
- import base from '../dev-base-esbuild.js';
7
- import { importK2Config } from '../../lib/import.js';
8
- import { watchCss } from './tailwind.js';
9
- export default function command() {
10
- program
11
- .command('dev')
12
- .description('Start development server.')
13
- .option('-i, --input <input>', 'Input directory', 'src/apps')
14
- .option('-o, --outdir <outdir>', 'Output directory.', DEVELOPMENT_DIRECTORY)
15
- .option('-c, --certdir <certdir>', 'Certificate directory', WORKSPACE_DIRECTORY)
16
- .option('--config <config>', 'k2 config file path')
17
- .option('-p, --port <port>', 'Port number')
18
- .action(action);
19
- }
20
- export async function action(options) {
21
- const { certdir, outdir, config, port: specifiedPort, input } = options;
22
- console.group('🍳 Start development server');
23
- try {
24
- console.log(`📂 Output directory: ${outdir}`);
25
- console.log(`🔑 Certificate directory: ${certdir}`);
26
- let k2Config = null;
27
- try {
28
- k2Config = await importK2Config(config);
29
- }
30
- catch (error) {
31
- console.log(`⚙ ${CONFIG_FILE_NAME} not found. use default settings.`);
32
- }
33
- const port = Number(specifiedPort ?? k2Config?.server?.port ?? DEFAULT_PORT);
34
- await Promise.all([
35
- build({ certdir, outdir, port, input }),
36
- watchCss({ k2Config: k2Config ?? {}, outdir }),
37
- ]);
38
- }
39
- catch (error) {
40
- throw error;
41
- }
42
- finally {
43
- console.groupEnd();
44
- }
45
- }
46
- const build = async (params) => {
47
- const { outdir, certdir, port, input } = params;
48
- const srcDir = path.resolve(input);
49
- const dirs = fs.readdirSync(srcDir);
50
- const entryPoints = dirs.reduce((acc, dir) => {
51
- for (const filename of ['index.ts', 'index.js', 'index.mjs']) {
52
- if (fs.existsSync(path.join(srcDir, dir, filename))) {
53
- return [...acc, { in: path.join(srcDir, dir, filename), out: dir }];
54
- }
55
- }
56
- return acc;
57
- }, []);
58
- return base({ port, entryPoints, certDir: certdir, staticDir: outdir });
59
- };
60
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export declare const watchCss: (params: {
2
- k2Config: K2.Config;
3
- outdir: string;
4
- }) => Promise<import("chokidar").FSWatcher | undefined>;
5
- //# sourceMappingURL=tailwind.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwind.d.ts","sourceRoot":"","sources":["../../../src/commands/dev/tailwind.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,GAAU,QAAQ;IAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,sDA8B7E,CAAC"}
@@ -1,30 +0,0 @@
1
- import path from 'path';
2
- import chalk from 'chalk';
3
- import { getTailwindConfigFromK2Config, watchTailwindCSS } from '../../lib/tailwind.js';
4
- import fs from 'fs-extra';
5
- export const watchCss = async (params) => {
6
- const { k2Config, outdir } = params;
7
- if (!k2Config.tailwind?.css || !k2Config.tailwind?.config) {
8
- console.log('🚫 missing tailwind config. Skip watching css.');
9
- return;
10
- }
11
- const tailwindConfig = await getTailwindConfigFromK2Config(k2Config.tailwind);
12
- const input = path.resolve(k2Config.tailwind.css);
13
- const output = path.join(outdir, 'tailwind.css');
14
- if (!(await fs.pathExists(output))) {
15
- await fs.outputFile(output, '');
16
- }
17
- return watchTailwindCSS({
18
- input,
19
- output: path.join(outdir, 'tailwind.css'),
20
- config: tailwindConfig,
21
- onChanges: ({ output, type }) => {
22
- const outputFileName = path.basename(output);
23
- console.log(chalk.hex('#e5e7eb')(`${new Date().toLocaleTimeString()} `) +
24
- chalk.cyan(`[css] `) +
25
- outputFileName +
26
- (type === 'init' ? ' init' : ` rebuilt(${type})`));
27
- },
28
- });
29
- };
30
- //# sourceMappingURL=tailwind.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwind.js","sourceRoot":"","sources":["../../../src/commands/dev/tailwind.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,MAA+C,EAAE,EAAE;IAChF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,6BAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEjD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,gBAAgB,CAAC;QACtB,KAAK;QACL,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC;QACzC,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,GAAG,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACpB,cAAc;gBACd,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC,CACpD,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import { type BuildOptions } from 'esbuild';
2
- export default function action(params: {
3
- entryPoints: BuildOptions['entryPoints'];
4
- staticDir: string;
5
- certDir: string;
6
- port: number;
7
- }): Promise<void>;
8
- //# sourceMappingURL=dev-base-esbuild.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev-base-esbuild.d.ts","sourceRoot":"","sources":["../../src/commands/dev-base-esbuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,wBAA8B,MAAM,CAAC,MAAM,EAAE;IAC3C,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,iBAgBA"}
@@ -1,18 +0,0 @@
1
- import {} from 'esbuild';
2
- import path from 'path';
3
- import { getEsbuildContext } from '../lib/esbuild.js';
4
- export default async function action(params) {
5
- const { entryPoints, staticDir: outdir, certDir, port } = params;
6
- const context = await getEsbuildContext({ sourcemap: 'inline', entryPoints, outdir });
7
- const [_, serveResult] = await Promise.all([
8
- context.watch(),
9
- context.serve({
10
- port,
11
- keyfile: path.join(certDir, 'localhost-key.pem'),
12
- certfile: path.join(certDir, 'localhost-cert.pem'),
13
- servedir: outdir,
14
- }),
15
- ]);
16
- console.log(`🚀 Start development server at https://localhost:${serveResult.port}`);
17
- }
18
- //# sourceMappingURL=dev-base-esbuild.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dev-base-esbuild.js","sourceRoot":"","sources":["../../src/commands/dev-base-esbuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,MAAM,SAAS,CAAC;AAC5C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,MAAM,CAAC,MAKpC;IACC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtF,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzC,OAAO,CAAC,KAAK,EAAE;QACf,OAAO,CAAC,KAAK,CAAC;YACZ,IAAI;YACJ,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC;YAChD,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC;YAClD,QAAQ,EAAE,MAAM;SACjB,CAAC;KACH,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,oDAAoD,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;AACtF,CAAC"}
@@ -1,4 +0,0 @@
1
- export default function action(options: {
2
- output: string;
3
- }): Promise<void>;
4
- //# sourceMappingURL=genkey-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"genkey-base.d.ts","sourceRoot":"","sources":["../../src/commands/genkey-base.ts"],"names":[],"mappings":"AAEA,wBAA8B,MAAM,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,iBAe/D"}