@camera.ui/cli 0.0.1 → 0.0.2

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.
@@ -7,24 +7,17 @@ import { copyPath } from './utils.js';
7
7
  const __filename = fileURLToPath(import.meta.url);
8
8
  const __dirname = dirname(__filename);
9
9
  export async function createBaseFiles(targetDir, projectName, options) {
10
- const baseFiles = [
11
- '.gitignore',
12
- '.npmignore',
13
- '.editorconfig',
14
- 'README.md',
15
- 'LICENSE.md',
16
- 'CONTRIBUTING.md',
17
- 'CHANGELOG.md',
18
- 'SECURITY.md',
19
- 'config.schema.json',
20
- 'updates.config.js',
21
- ];
10
+ const baseFiles = ['README.md', 'LICENSE.md', 'CONTRIBUTING.md', 'CHANGELOG.md', 'SECURITY.md', 'config.schema.json', 'updates.config.js'];
11
+ const baseDotFiles = ['gitignore', 'npmignore', 'editorconfig'];
22
12
  const javascriptFiles = ['cameraui.config.js'];
23
13
  const typescriptFiles = ['cameraui.config.ts'];
24
14
  const pythonFiles = [];
25
15
  for (const file of baseFiles) {
26
16
  await copyPath(__dirname, `../../templates/base/${file}`, targetDir, file);
27
17
  }
18
+ for (const file of baseDotFiles) {
19
+ await copyPath(__dirname, `../../templates/base/${file}`, targetDir, `.${file}`);
20
+ }
28
21
  if (options.language === 'javascript') {
29
22
  for (const file of javascriptFiles) {
30
23
  await copyPath(__dirname, `../../templates/base/${file}`, targetDir, file);
@@ -123,14 +116,15 @@ export async function createTsConfig(targetDir) {
123
116
  }
124
117
  export async function createCodeQualityConfig(targetDir, options) {
125
118
  const baseFiles = [];
119
+ const baseDotFiles = [];
126
120
  const pythonFiles = [];
127
121
  const typescriptFiles = [];
128
122
  if (options.language === 'python') {
129
123
  pythonFiles.push('ruff.toml');
130
124
  }
131
125
  else {
132
- baseFiles.push('.prettierrc.json');
133
- baseFiles.push('.prettierignore');
126
+ baseDotFiles.push('prettierrc.json');
127
+ baseDotFiles.push('prettierignore');
134
128
  if (options.language === 'javascript') {
135
129
  baseFiles.push('eslint.config.js');
136
130
  }
@@ -141,6 +135,9 @@ export async function createCodeQualityConfig(targetDir, options) {
141
135
  for (const file of baseFiles) {
142
136
  await copyPath(__dirname, `../../templates/base/${file}`, targetDir, file);
143
137
  }
138
+ for (const file of baseDotFiles) {
139
+ await copyPath(__dirname, `../../templates/base/${file}`, targetDir, `.${file}`);
140
+ }
144
141
  for (const file of pythonFiles) {
145
142
  await copyPath(__dirname, `../../templates/python/${file}`, targetDir, file);
146
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/utils/templates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/cli",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "camera.ui cli",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,8 @@
1
+ const config = {
2
+ input: ['src/index.js'],
3
+ mode: 'production',
4
+ external: [],
5
+ additionalFiles: [],
6
+ };
7
+
8
+ export default config;
@@ -0,0 +1,15 @@
1
+ root = true
2
+
3
+ [*]
4
+ # Change these settings to your own preference
5
+ indent_style = space
6
+ indent_size = 2
7
+
8
+ # I recommend you to keep these unchanged
9
+ end_of_line = lf
10
+ charset = utf-8
11
+ trim_trailing_whitespace = true
12
+ insert_final_newline = true
13
+
14
+ [*.md]
15
+ trim_trailing_whitespace = false
@@ -0,0 +1,49 @@
1
+ import jsLint from '@eslint/js';
2
+ import stylistic from '@stylistic/eslint-plugin';
3
+ import globals from 'globals';
4
+
5
+ export default [
6
+ {
7
+ files: ['**/*.{js,mjs,cjs,ts,mts}'],
8
+ },
9
+ {
10
+ ignores: ['**/dist/**', '**/node_modules/**', '**/public/**', '**/build/**', '**/bundle/**', '**/test/**', '**/wasm/**', '**/example/**'],
11
+ },
12
+ jsLint.configs.recommended,
13
+ stylistic.configs['disable-legacy'],
14
+ stylistic.configs.customize({
15
+ indent: 2,
16
+ quotes: 'single',
17
+ semi: true,
18
+ commaDangle: 'always-multiline',
19
+ jsx: false,
20
+ arrowParens: true,
21
+ braceStyle: '1tbs',
22
+ blockSpacing: true,
23
+ quoteProps: 'as-needed',
24
+ }),
25
+ {
26
+ languageOptions: {
27
+ globals: { ...globals.node },
28
+ },
29
+
30
+ rules: {
31
+ // Stylistic specific rules
32
+ '@stylistic/max-len': ['error', { code: 170, tabWidth: 2 }],
33
+ '@stylistic/quotes': ['error', 'single', { avoidEscape: true }],
34
+ '@stylistic/operator-linebreak': 'off',
35
+
36
+ semi: [1, 'always'],
37
+ // quotes: ['error', 'single'],
38
+ 'comma-dangle': ['error', 'only-multiline'],
39
+ 'no-multiple-empty-lines': ['warn', { max: 1, maxEOF: 0 }],
40
+ 'eol-last': ['error', 'always'],
41
+ 'space-before-function-paren': ['error', { named: 'never' }],
42
+
43
+ 'no-unused-vars': 'off',
44
+ 'no-case-declarations': 'off',
45
+ 'no-async-promise-executor': 'off',
46
+ 'no-control-regex': 'off',
47
+ },
48
+ },
49
+ ];
@@ -0,0 +1,30 @@
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ pnpm-debug.log*
8
+ lerna-debug.log*
9
+
10
+ node_modules
11
+ .DS_Store
12
+ dist
13
+ bundle
14
+ coverage
15
+ *.local
16
+ test
17
+ __pycache__
18
+ .dockerignore
19
+ python-*
20
+ requirements.dev.txt
21
+ requirements-lock.txt
22
+
23
+ .idea
24
+ *.suo
25
+ *.ntvs*
26
+ *.njsproj
27
+ *.sln
28
+ *.sw?
29
+ *.egg-info
30
+ .venv
@@ -0,0 +1,19 @@
1
+ .editorconfig
2
+ .eslintignore
3
+ .eslintrc.*
4
+ eslint.config.*
5
+ .gitignore
6
+ .npmignore
7
+ .prettierignore
8
+ .prettierrc.*
9
+ tsconfig.json
10
+ updates.config.*
11
+ cameraui.config.*
12
+ ruff.toml
13
+
14
+ node_modules
15
+ .github
16
+ .vscode
17
+
18
+
19
+ src
@@ -0,0 +1,10 @@
1
+ coverage/
2
+ dist/
3
+ __snapshots__/
4
+ media/
5
+ package-lock.json
6
+ *.md
7
+ interface/
8
+ node_modules/
9
+ bundle/
10
+ build/
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/prettierrc",
3
+ "semi": true,
4
+ "tabWidth": 2,
5
+ "singleQuote": true,
6
+ "printWidth": 170,
7
+ "trailingComma": "all",
8
+ "arrowParens": "always",
9
+ "endOfLine": "auto",
10
+ "bracketSpacing": true,
11
+ "quoteProps": "as-needed"
12
+ }
@@ -0,0 +1,40 @@
1
+ export default class SamplePlugin {
2
+ constructor(logger, api) {
3
+ this.logger = logger;
4
+ this.api = api;
5
+
6
+ this.camera = new Map();
7
+
8
+ this.api.on('finishLaunching', this.start.bind(this));
9
+ this.api.on('shutdown', this.stop.bind(this));
10
+
11
+ this.api.deviceManager.on('cameraSelected', (cameraDevice) => {
12
+ this.logger.log('Camera selected:', cameraDevice.name);
13
+
14
+ if (!this.cameras.has(cameraDevice.id)) {
15
+ this.cameras.set(cameraDevice.id, cameraDevice);
16
+ }
17
+ });
18
+
19
+ this.api.deviceManager.on('cameraDeselected', (cameraId) => {
20
+ const cameraDevice = this.cameras.get(cameraId);
21
+ if (cameraDevice) {
22
+ this.logger.log('Camera deselected:', cameraDevice.name);
23
+ this.cameras.delete(cameraId);
24
+ }
25
+ });
26
+ }
27
+
28
+ configureCameras() {}
29
+
30
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
+ async onFormSubmit(actionId, payload) {}
32
+
33
+ async start() {
34
+ this.logger.log('Plugin started');
35
+ }
36
+
37
+ stop() {
38
+ this.logger.log('Plugin stopped');
39
+ }
40
+ }
@@ -0,0 +1,3 @@
1
+ export default {
2
+ exclude: [],
3
+ };
@@ -0,0 +1,90 @@
1
+ # Exclude a variety of commonly ignored directories.
2
+ exclude = [
3
+ ".bzr",
4
+ ".direnv",
5
+ ".eggs",
6
+ ".git",
7
+ ".git-rewrite",
8
+ ".hg",
9
+ ".ipynb_checkpoints",
10
+ ".mypy_cache",
11
+ ".nox",
12
+ ".pants.d",
13
+ ".pyenv",
14
+ ".pytest_cache",
15
+ ".pytype",
16
+ ".ruff_cache",
17
+ ".svn",
18
+ ".tox",
19
+ ".venv",
20
+ ".vscode",
21
+ "__pypackages__",
22
+ "_build",
23
+ "buck-out",
24
+ "build",
25
+ "dist",
26
+ "node_modules",
27
+ "site-packages",
28
+ "venv",
29
+ ]
30
+
31
+ # Same as Black.
32
+ line-length = 110
33
+ indent-width = 4
34
+
35
+ # Assume Python 3.8
36
+ target-version = "py39"
37
+
38
+ [lint]
39
+ # Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
40
+ # Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
41
+ # McCabe complexity (`C901`) by default.
42
+ select = [
43
+ # pycodestyle
44
+ "E",
45
+ # Pyflakes
46
+ "F",
47
+ # pyupgrade
48
+ "UP",
49
+ # flake8-bugbear
50
+ "B",
51
+ # flake8-simplify
52
+ "SIM",
53
+ # isort
54
+ "I",
55
+ ]
56
+ ignore = ["E501", "B023", "B006"]
57
+
58
+ # Allow fix for all enabled rules (when `--fix`) is provided.
59
+ fixable = ["ALL"]
60
+ unfixable = []
61
+
62
+ # Allow unused variables when underscore-prefixed.
63
+ dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
64
+
65
+ [format]
66
+ # Like Black, use double quotes for strings.
67
+ quote-style = "double"
68
+
69
+ # Like Black, indent with spaces, rather than tabs.
70
+ indent-style = "space"
71
+
72
+ # Like Black, respect magic trailing commas.
73
+ skip-magic-trailing-comma = false
74
+
75
+ # Like Black, automatically detect the appropriate line ending.
76
+ line-ending = "auto"
77
+
78
+ # Enable auto-formatting of code examples in docstrings. Markdown,
79
+ # reStructuredText code/literal blocks and doctests are all supported.
80
+ #
81
+ # This is currently disabled by default, but it is planned for this
82
+ # to be opt-out in the future.
83
+ docstring-code-format = true
84
+
85
+ # Set the line length limit used when formatting code snippets in
86
+ # docstrings.
87
+ #
88
+ # This only has an effect when the `docstring-code-format` setting is
89
+ # enabled.
90
+ docstring-code-line-length = "dynamic"
@@ -0,0 +1,10 @@
1
+ import type { CameraUiBuildOptions } from '@camera.ui/cli';
2
+
3
+ const config: CameraUiBuildOptions = {
4
+ input: ['src/index.ts'],
5
+ mode: 'production',
6
+ external: [],
7
+ additionalFiles: [],
8
+ };
9
+
10
+ export default config;
@@ -0,0 +1,89 @@
1
+ import jsLint from '@eslint/js';
2
+ import stylistic from '@stylistic/eslint-plugin';
3
+ import tsParser from '@typescript-eslint/parser';
4
+ import globals from 'globals';
5
+ import tsLint from 'typescript-eslint';
6
+
7
+ export default [
8
+ {
9
+ files: ['**/*.{js,mjs,cjs,ts,mts}'],
10
+ },
11
+ {
12
+ ignores: ['**/dist/**', '**/node_modules/**', '**/public/**', '**/build/**', '**/bundle/**', '**/test/**', '**/wasm/**', '**/example/**'],
13
+ },
14
+ jsLint.configs.recommended,
15
+ // ...tsLint.configs.recommended,
16
+ ...tsLint.configs.recommendedTypeChecked,
17
+ ...tsLint.configs.stylisticTypeChecked,
18
+ stylistic.configs['disable-legacy'],
19
+ stylistic.configs.customize({
20
+ indent: 2,
21
+ quotes: 'single',
22
+ semi: true,
23
+ commaDangle: 'always-multiline',
24
+ jsx: false,
25
+ arrowParens: true,
26
+ braceStyle: '1tbs',
27
+ blockSpacing: true,
28
+ quoteProps: 'as-needed',
29
+ }),
30
+ {
31
+ languageOptions: {
32
+ globals: { ...globals.node },
33
+ parser: tsParser,
34
+ parserOptions: {
35
+ projectService: true,
36
+ tsconfigRootDir: import.meta.dirname,
37
+ },
38
+ },
39
+
40
+ rules: {
41
+ // TypeScript specific rules
42
+ '@typescript-eslint/consistent-type-imports': 'error',
43
+ '@typescript-eslint/await-thenable': 'error',
44
+ '@typescript-eslint/no-explicit-any': 'off',
45
+ '@typescript-eslint/no-unused-vars': ['error'],
46
+ '@typescript-eslint/no-unsafe-assignment': 'off',
47
+ '@typescript-eslint/no-unsafe-member-access': 'off',
48
+ '@typescript-eslint/no-unsafe-argument': 'off',
49
+ '@typescript-eslint/no-unsafe-return': 'off',
50
+ '@typescript-eslint/require-await': 'off',
51
+ '@typescript-eslint/no-floating-promises': 'off',
52
+ '@typescript-eslint/prefer-promise-reject-errors': 'off',
53
+ '@typescript-eslint/no-misused-promises': 'off',
54
+ '@typescript-eslint/ban-ts-comment': 'off',
55
+ '@typescript-eslint/no-empty-function': 'off',
56
+ '@typescript-eslint/restrict-template-expressions': 'off',
57
+ '@typescript-eslint/no-unsafe-call': 'off',
58
+ '@typescript-eslint/no-empty-object-type': 'off',
59
+ '@typescript-eslint/no-unsafe-function-type': 'off',
60
+ '@typescript-eslint/no-unsafe-declaration-merging': 'off',
61
+ '@typescript-eslint/prefer-for-of': 'off',
62
+ '@typescript-eslint/prefer-find': 'off',
63
+ '@typescript-eslint/no-require-imports': 'off',
64
+ '@typescript-eslint/no-redundant-type-constituents': 'off',
65
+ '@typescript-eslint/no-namespace': 'off',
66
+
67
+ // Stylistic specific rules
68
+ '@stylistic/max-len': ['error', { code: 170, tabWidth: 2 }],
69
+ '@stylistic/quotes': ['error', 'single', { avoidEscape: true }],
70
+ '@stylistic/operator-linebreak': 'off',
71
+
72
+ semi: [1, 'always'],
73
+ // quotes: ['error', 'single'],
74
+ 'comma-dangle': ['error', 'only-multiline'],
75
+ 'no-multiple-empty-lines': ['warn', { max: 1, maxEOF: 0 }],
76
+ 'eol-last': ['error', 'always'],
77
+ 'space-before-function-paren': ['error', { named: 'never' }],
78
+
79
+ 'no-unused-vars': 'off',
80
+ 'no-case-declarations': 'off',
81
+ 'no-async-promise-executor': 'off',
82
+ 'no-control-regex': 'off',
83
+ },
84
+ },
85
+ {
86
+ files: ['**/*.js', '**/*.cjs', '**/*.mjs', '*.d.ts', '*.config.ts'],
87
+ ...tsLint.configs.disableTypeChecked,
88
+ },
89
+ ];
@@ -0,0 +1,30 @@
1
+ {
2
+ "compilerOptions": {
3
+ "outDir": "./dist",
4
+ "target": "ES2022",
5
+ "moduleResolution": "NodeNext",
6
+ "module": "NodeNext",
7
+ "lib": [
8
+ "ES2022"
9
+ ],
10
+ "declaration": true,
11
+ "sourceMap": true,
12
+ "strict": true,
13
+ "esModuleInterop": true,
14
+ "preserveConstEnums": true,
15
+ "skipLibCheck": true,
16
+ "useUnknownInCatchVariables": false,
17
+ "allowSyntheticDefaultImports": true,
18
+ "resolveJsonModule": true,
19
+ "experimentalDecorators": true,
20
+ "emitDecoratorMetadata": true,
21
+ "noImplicitAny": true,
22
+ },
23
+ "include": [
24
+ "src",
25
+ ],
26
+ "exclude": [
27
+ "node_modules",
28
+ "dist"
29
+ ]
30
+ }