@oicl-lit/cli 0.6.6
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.
- package/README.md +69 -0
- package/bin/lit.js +28 -0
- package/lib/.tsbuildinfo +1 -0
- package/lib/command.d.ts +120 -0
- package/lib/command.js +10 -0
- package/lib/command.js.map +1 -0
- package/lib/commands/help.d.ts +8 -0
- package/lib/commands/help.js +102 -0
- package/lib/commands/help.js.map +1 -0
- package/lib/commands/init.d.ts +14 -0
- package/lib/commands/init.js +60 -0
- package/lib/commands/init.js.map +1 -0
- package/lib/commands/labs.d.ts +8 -0
- package/lib/commands/labs.js +58 -0
- package/lib/commands/labs.js.map +1 -0
- package/lib/commands/localize.d.ts +7 -0
- package/lib/commands/localize.js +13 -0
- package/lib/commands/localize.js.map +1 -0
- package/lib/console.d.ts +17 -0
- package/lib/console.js +37 -0
- package/lib/console.js.map +1 -0
- package/lib/generate/generate.d.ts +14 -0
- package/lib/generate/generate.js +140 -0
- package/lib/generate/generate.js.map +1 -0
- package/lib/init/element-starter/index.d.ts +11 -0
- package/lib/init/element-starter/index.js +39 -0
- package/lib/init/element-starter/index.js.map +1 -0
- package/lib/init/element-starter/templates/demo/index.html.d.ts +7 -0
- package/lib/init/element-starter/templates/demo/index.html.js +23 -0
- package/lib/init/element-starter/templates/demo/index.html.js.map +1 -0
- package/lib/init/element-starter/templates/gitignore.d.ts +8 -0
- package/lib/init/element-starter/templates/gitignore.js +14 -0
- package/lib/init/element-starter/templates/gitignore.js.map +1 -0
- package/lib/init/element-starter/templates/lib/element.d.ts +8 -0
- package/lib/init/element-starter/templates/lib/element.js +86 -0
- package/lib/init/element-starter/templates/lib/element.js.map +1 -0
- package/lib/init/element-starter/templates/package.json.d.ts +8 -0
- package/lib/init/element-starter/templates/package.json.js +48 -0
- package/lib/init/element-starter/templates/package.json.js.map +1 -0
- package/lib/init/element-starter/templates/tsconfig.json.d.ts +7 -0
- package/lib/init/element-starter/templates/tsconfig.json.js +29 -0
- package/lib/init/element-starter/templates/tsconfig.json.js.map +1 -0
- package/lib/lit-cli.d.ts +40 -0
- package/lib/lit-cli.js +266 -0
- package/lib/lit-cli.js.map +1 -0
- package/lib/lit-version.d.ts +1 -0
- package/lib/lit-version.js +2 -0
- package/lib/lit-version.js.map +1 -0
- package/lib/options.d.ts +18 -0
- package/lib/options.js +59 -0
- package/lib/options.js.map +1 -0
- package/package.json +119 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
export const localize = {
|
|
7
|
+
kind: 'reference',
|
|
8
|
+
name: 'localize',
|
|
9
|
+
description: 'Lit localize',
|
|
10
|
+
importSpecifier: '@lit-labs/cli-localize',
|
|
11
|
+
installFrom: '@lit-labs/cli-localize',
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=localize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localize.js","sourceRoot":"","sources":["../../src/lib/commands/localize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,cAAc;IAC3B,eAAe,EAAE,wBAAwB;IACzC,WAAW,EAAE,wBAAwB;CACtC,CAAC"}
|
package/lib/console.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { Console } from 'console';
|
|
7
|
+
export type Level = 'error' | 'warn' | 'info' | 'verbose' | 'debug';
|
|
8
|
+
/**
|
|
9
|
+
* A Console with a settable log level that controls whether messages are
|
|
10
|
+
* actually output or not.
|
|
11
|
+
*/
|
|
12
|
+
export declare class LitConsole extends Console {
|
|
13
|
+
logLevel: Level;
|
|
14
|
+
info(message?: unknown, ...optionalParams: unknown[]): void;
|
|
15
|
+
warn(message?: unknown, ...optionalParams: unknown[]): void;
|
|
16
|
+
debug(message?: unknown, ...optionalParams: unknown[]): void;
|
|
17
|
+
}
|
package/lib/console.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { Console } from 'console';
|
|
7
|
+
/**
|
|
8
|
+
* A Console with a settable log level that controls whether messages are
|
|
9
|
+
* actually output or not.
|
|
10
|
+
*/
|
|
11
|
+
export class LitConsole extends Console {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.logLevel = 'debug';
|
|
15
|
+
}
|
|
16
|
+
info(message, ...optionalParams) {
|
|
17
|
+
if (this.logLevel === 'info' ||
|
|
18
|
+
this.logLevel === 'verbose' ||
|
|
19
|
+
this.logLevel === 'debug') {
|
|
20
|
+
super.info(message, ...optionalParams);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
warn(message, ...optionalParams) {
|
|
24
|
+
if (this.logLevel === 'warn' ||
|
|
25
|
+
this.logLevel === 'info' ||
|
|
26
|
+
this.logLevel === 'verbose' ||
|
|
27
|
+
this.logLevel === 'debug') {
|
|
28
|
+
super.warn(message, ...optionalParams);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
debug(message, ...optionalParams) {
|
|
32
|
+
if (this.logLevel === 'debug') {
|
|
33
|
+
super.debug(message, ...optionalParams);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../src/lib/console.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAIhC;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,OAAO;IAAvC;;QACE,aAAQ,GAAU,OAAO,CAAC;IA4B5B,CAAC;IA1BU,IAAI,CAAC,OAAiB,EAAE,GAAG,cAAyB;QAC3D,IACE,IAAI,CAAC,QAAQ,KAAK,MAAM;YACxB,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3B,IAAI,CAAC,QAAQ,KAAK,OAAO,EACzB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAEQ,IAAI,CAAC,OAAiB,EAAE,GAAG,cAAyB;QAC3D,IACE,IAAI,CAAC,QAAQ,KAAK,MAAM;YACxB,IAAI,CAAC,QAAQ,KAAK,MAAM;YACxB,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC3B,IAAI,CAAC,QAAQ,KAAK,OAAO,EACzB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,OAAiB,EAAE,GAAG,cAAyB;QAC5D,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { LitCli } from '../lit-cli.js';
|
|
7
|
+
export declare const run: ({ cli, packages, frameworks: frameworkNames, manifest, exclude, outDir, }: {
|
|
8
|
+
packages: string[];
|
|
9
|
+
frameworks: string[];
|
|
10
|
+
manifest: boolean;
|
|
11
|
+
outDir: string;
|
|
12
|
+
exclude?: string[];
|
|
13
|
+
cli: LitCli;
|
|
14
|
+
}, console: Console) => Promise<1 | undefined>;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { createPackageAnalyzer, } from '@oicl-lit/analyzer/package-analyzer.js';
|
|
7
|
+
import { writeFileTree } from '@oicl-lit/gen-utils/lib/file-utils.js';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import { EOL } from 'os';
|
|
10
|
+
import * as ts from 'typescript';
|
|
11
|
+
const reactCommand = {
|
|
12
|
+
name: 'react',
|
|
13
|
+
description: 'Generate React wrapper for a LitElement',
|
|
14
|
+
kind: 'reference',
|
|
15
|
+
installFrom: '@oicl-lit/gen-wrapper-react',
|
|
16
|
+
importSpecifier: '@oicl-lit/gen-wrapper-react/index.js',
|
|
17
|
+
};
|
|
18
|
+
const vueCommand = {
|
|
19
|
+
name: 'vue',
|
|
20
|
+
description: 'Generate Vue wrapper for a LitElement',
|
|
21
|
+
kind: 'reference',
|
|
22
|
+
installFrom: '@oicl-lit/gen-wrapper-vue',
|
|
23
|
+
importSpecifier: '@oicl-lit/gen-wrapper-vue/index.js',
|
|
24
|
+
};
|
|
25
|
+
const angularCommand = {
|
|
26
|
+
name: 'angular',
|
|
27
|
+
description: 'Generate angular wrapper for a LitElement',
|
|
28
|
+
kind: 'reference',
|
|
29
|
+
installFrom: '@oicl-lit/gen-wrapper-angular',
|
|
30
|
+
importSpecifier: '@oicl-lit/gen-wrapper-angular/index.js',
|
|
31
|
+
};
|
|
32
|
+
const svelteCommand = {
|
|
33
|
+
name: 'svelte',
|
|
34
|
+
description: 'Generate Svelte wrapper for a LitElement',
|
|
35
|
+
kind: 'reference',
|
|
36
|
+
installFrom: '@oicl-lit/gen-wrapper-svelte',
|
|
37
|
+
importSpecifier: '@oicl-lit/gen-wrapper-svelte/index.js',
|
|
38
|
+
};
|
|
39
|
+
const manifestCommand = {
|
|
40
|
+
name: 'manifest',
|
|
41
|
+
description: 'Generate custom-elements.json manifest.',
|
|
42
|
+
kind: 'reference',
|
|
43
|
+
installFrom: '@oicl-lit/gen-manifest',
|
|
44
|
+
importSpecifier: '@oicl-lit/gen-manifest/index.js',
|
|
45
|
+
};
|
|
46
|
+
const frameworkCommands = {
|
|
47
|
+
react: reactCommand,
|
|
48
|
+
vue: vueCommand,
|
|
49
|
+
angular: angularCommand,
|
|
50
|
+
svelte: svelteCommand,
|
|
51
|
+
};
|
|
52
|
+
export const run = async ({ cli, packages, frameworks: frameworkNames, manifest, exclude, outDir, }, console) => {
|
|
53
|
+
try {
|
|
54
|
+
for (const packageRoot of packages) {
|
|
55
|
+
// Ensure separators in input paths are normalized and resolved to absolute
|
|
56
|
+
const root = path.normalize(path.resolve(packageRoot));
|
|
57
|
+
const out = path.normalize(path.resolve(outDir));
|
|
58
|
+
const analyzer = createPackageAnalyzer(root, { exclude });
|
|
59
|
+
const pkg = analyzer.getPackage();
|
|
60
|
+
if (!pkg.packageJson.name) {
|
|
61
|
+
throw new Error(`Package at '${packageRoot}' did not have a name in package.json. The 'gen' command requires that packages have a name.`);
|
|
62
|
+
}
|
|
63
|
+
const generatorReferences = [];
|
|
64
|
+
for (const name of (frameworkNames ?? [])) {
|
|
65
|
+
const framework = frameworkCommands[name];
|
|
66
|
+
if (framework == null) {
|
|
67
|
+
throw new Error(`No generator exists for framework test '${framework}'`);
|
|
68
|
+
}
|
|
69
|
+
generatorReferences.push(framework);
|
|
70
|
+
}
|
|
71
|
+
if (manifest) {
|
|
72
|
+
generatorReferences.push(manifestCommand);
|
|
73
|
+
}
|
|
74
|
+
// Optimistically try to import all generators in parallel.
|
|
75
|
+
// If any aren't installed we need to ask for permission to install it
|
|
76
|
+
// below, but in the common happy case this will do all the loading work.
|
|
77
|
+
await Promise.all(generatorReferences.map(async (ref) => {
|
|
78
|
+
const specifier = cli.resolveImportForReference(ref);
|
|
79
|
+
if (specifier != null) {
|
|
80
|
+
await import(specifier);
|
|
81
|
+
}
|
|
82
|
+
}));
|
|
83
|
+
// Now go through one by one and install any as necessary.
|
|
84
|
+
// This must be one by one in case we need to ask for permission.
|
|
85
|
+
const generators = [];
|
|
86
|
+
for (const reference of generatorReferences) {
|
|
87
|
+
const resolved = await cli.resolveCommandAndMaybeInstallNeededDeps(reference);
|
|
88
|
+
if (resolved == null) {
|
|
89
|
+
throw new Error(`Could not load generator for ${reference.name}`);
|
|
90
|
+
}
|
|
91
|
+
generators.push(resolved);
|
|
92
|
+
}
|
|
93
|
+
const options = {
|
|
94
|
+
package: pkg,
|
|
95
|
+
};
|
|
96
|
+
const results = await Promise.allSettled(generators.map(async (generator) => {
|
|
97
|
+
// TODO(kschaaf): Add try/catches around each of these operations and
|
|
98
|
+
// throw more contextual errors
|
|
99
|
+
await writeFileTree(out, await generator.generate(options, console));
|
|
100
|
+
}));
|
|
101
|
+
// Log any diagnostics collected while running the generators.
|
|
102
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
103
|
+
logDiagnostics([...analyzer.getDiagnostics()]);
|
|
104
|
+
// `allSettled` will swallow errors, so we need to filter them out of
|
|
105
|
+
// the results and throw a new error up the stack describing all the errors
|
|
106
|
+
// that happened
|
|
107
|
+
const errors = results
|
|
108
|
+
.map((r, i) => r.status === 'rejected'
|
|
109
|
+
? `Error generating '${generators[i].name}' wrapper for package '${packageRoot}': ` +
|
|
110
|
+
(r.reason.stack ?? r.reason)
|
|
111
|
+
: '')
|
|
112
|
+
.filter((e) => e)
|
|
113
|
+
.join('\n');
|
|
114
|
+
if (errors.length > 0) {
|
|
115
|
+
throw new Error(errors);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch (e) {
|
|
120
|
+
console.error(e.message ?? e);
|
|
121
|
+
return 1;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
const diagnosticsHost = {
|
|
125
|
+
getCanonicalFileName(name) {
|
|
126
|
+
return path.resolve(name);
|
|
127
|
+
},
|
|
128
|
+
getCurrentDirectory() {
|
|
129
|
+
return process.cwd();
|
|
130
|
+
},
|
|
131
|
+
getNewLine() {
|
|
132
|
+
return EOL;
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
const logDiagnostics = (diagnostics) => {
|
|
136
|
+
if (diagnostics.length > 0) {
|
|
137
|
+
console.log(ts.formatDiagnosticsWithColorAndContext(diagnostics, diagnosticsHost));
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/lib/generate/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { FileTree } from '@oicl-lit/gen-utils/lib/file-utils.js';
|
|
7
|
+
import { CommandResult } from '../../command.js';
|
|
8
|
+
import { InitCommandOptions } from '../../commands/init.js';
|
|
9
|
+
import { LitCli } from '../../lit-cli.js';
|
|
10
|
+
export declare const generateLitElementStarter: (options: InitCommandOptions) => Promise<FileTree>;
|
|
11
|
+
export declare const run: (options: InitCommandOptions, console: Console, cli: LitCli) => Promise<CommandResult>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { writeFileTree } from '@oicl-lit/gen-utils/lib/file-utils.js';
|
|
7
|
+
import { generateTsconfig } from './templates/tsconfig.json.js';
|
|
8
|
+
import { generatePackageJson } from './templates/package.json.js';
|
|
9
|
+
import { generateIndex } from './templates/demo/index.html.js';
|
|
10
|
+
import { generateGitignore } from './templates/gitignore.js';
|
|
11
|
+
import { generateElement } from './templates/lib/element.js';
|
|
12
|
+
import path from 'path';
|
|
13
|
+
export const generateLitElementStarter = async (options) => {
|
|
14
|
+
const { name, lang } = options;
|
|
15
|
+
let files = {
|
|
16
|
+
...generatePackageJson(name, lang),
|
|
17
|
+
...generateIndex(name),
|
|
18
|
+
...generateGitignore(lang),
|
|
19
|
+
...generateElement(name, lang),
|
|
20
|
+
};
|
|
21
|
+
if (lang === 'ts') {
|
|
22
|
+
files = {
|
|
23
|
+
...files,
|
|
24
|
+
...generateTsconfig(),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return files;
|
|
28
|
+
};
|
|
29
|
+
export const run = async (options, console, cli) => {
|
|
30
|
+
const files = await generateLitElementStarter(options);
|
|
31
|
+
const outPath = path.join(cli.cwd, options.out, options.name);
|
|
32
|
+
await writeFileTree(outPath, files);
|
|
33
|
+
const relativePath = path.relative(cli.cwd, outPath);
|
|
34
|
+
console.log(`Created sharable element in ${relativePath}/.`);
|
|
35
|
+
return {
|
|
36
|
+
exitCode: 0,
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/init/element-starter/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAW,aAAa,EAAC,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAI3D,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,OAA2B,EACR,EAAE;IACrB,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC;IAC7B,IAAI,KAAK,GAAG;QACV,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC;QAClC,GAAG,aAAa,CAAC,IAAI,CAAC;QACtB,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAC1B,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;KAC/B,CAAC;IACF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,KAAK,GAAG;YACN,GAAG,KAAK;YACR,GAAG,gBAAgB,EAAE;SACtB,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EACtB,OAA2B,EAC3B,OAAgB,EAChB,GAAW,EACa,EAAE;IAC1B,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,+BAA+B,YAAY,IAAI,CAAC,CAAC;IAC7D,OAAO;QACL,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { html } from '@oicl-lit/gen-utils/lib/str-utils.js';
|
|
7
|
+
export const generateIndex = (elementName) => {
|
|
8
|
+
return {
|
|
9
|
+
demo: {
|
|
10
|
+
'index.html': html `<!DOCTYPE html>
|
|
11
|
+
<html lang="en">
|
|
12
|
+
<head>
|
|
13
|
+
<title>${elementName} demo</title>
|
|
14
|
+
<script type="module" src="../lib/${elementName}.js"></script>
|
|
15
|
+
</head>
|
|
16
|
+
<body>
|
|
17
|
+
<${elementName}></${elementName}>
|
|
18
|
+
</body>
|
|
19
|
+
</html>`,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=index.html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.html.js","sourceRoot":"","sources":["../../../../../src/lib/init/element-starter/templates/demo/index.html.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAC,IAAI,EAAC,MAAM,sCAAsC,CAAC;AAE1D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAY,EAAE;IAC7D,OAAO;QACL,IAAI,EAAE;YACJ,YAAY,EAAE,IAAI,CAAA;;;aAGX,WAAW;wCACgB,WAAW;;;OAG5C,WAAW,MAAM,WAAW;;QAE3B;SACH;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { FileTree } from '@oicl-lit/gen-utils/lib/file-utils.js';
|
|
7
|
+
import { Language } from '../../../commands/init.js';
|
|
8
|
+
export declare const generateGitignore: (lang: Language) => FileTree;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
export const generateGitignore = (lang) => {
|
|
7
|
+
return {
|
|
8
|
+
'.gitignore': `node_modules${lang !== 'ts'
|
|
9
|
+
? ''
|
|
10
|
+
: `
|
|
11
|
+
lib`}`,
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=gitignore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../../../src/lib/init/element-starter/templates/gitignore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAY,EAAE;IAC5D,OAAO;QACL,YAAY,EAAE,eACZ,IAAI,KAAK,IAAI;YACX,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;IAEN,EAAE;KACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { FileTree } from '@oicl-lit/gen-utils/lib/file-utils.js';
|
|
7
|
+
import { Language } from '../../../../commands/init.js';
|
|
8
|
+
export declare const generateElement: (elementName: string, language: Language) => FileTree;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { javascript, kabobToPascalCase, } from '@oicl-lit/gen-utils/lib/str-utils.js';
|
|
7
|
+
export const generateElement = (elementName, language) => {
|
|
8
|
+
const directory = language === 'js' ? 'lib' : 'src';
|
|
9
|
+
return {
|
|
10
|
+
[directory]: {
|
|
11
|
+
[`${elementName}.${language}`]: generateTemplate(elementName, language),
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
const generateTemplate = (elementName, lang) => {
|
|
16
|
+
const className = kabobToPascalCase(elementName);
|
|
17
|
+
return javascript `import {LitElement, html, css} from 'lit';${lang === 'js'
|
|
18
|
+
? ''
|
|
19
|
+
: `
|
|
20
|
+
import {property, customElement} from 'lit/decorators.js';`}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* An example element.
|
|
24
|
+
*
|
|
25
|
+
* @fires count-changed - Indicates when the count changes
|
|
26
|
+
* @slot - This element has a slot
|
|
27
|
+
* @csspart button - The button
|
|
28
|
+
* @cssprop --${elementName}-font-size - The button's font size
|
|
29
|
+
*/${lang === 'js'
|
|
30
|
+
? ''
|
|
31
|
+
: `
|
|
32
|
+
@customElement('${elementName}')`}
|
|
33
|
+
export class ${className} extends LitElement {
|
|
34
|
+
static styles = css\`
|
|
35
|
+
:host {
|
|
36
|
+
display: block;
|
|
37
|
+
border: solid 1px gray;
|
|
38
|
+
padding: 16px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
button {
|
|
42
|
+
font-size: var(--${elementName}-font-size, 16px);
|
|
43
|
+
}
|
|
44
|
+
\`;
|
|
45
|
+
|
|
46
|
+
${lang === 'js'
|
|
47
|
+
? `static properties = {
|
|
48
|
+
/**
|
|
49
|
+
* The number of times the button has been clicked.
|
|
50
|
+
* @type {number}
|
|
51
|
+
*/
|
|
52
|
+
count: {type: Number},
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
constructor() {
|
|
56
|
+
super();
|
|
57
|
+
this.count = 0;
|
|
58
|
+
}`
|
|
59
|
+
: `/**
|
|
60
|
+
* The number of times the button has been clicked.
|
|
61
|
+
*/
|
|
62
|
+
@property({type: Number})
|
|
63
|
+
count = 0;`}
|
|
64
|
+
|
|
65
|
+
render() {
|
|
66
|
+
return html\`
|
|
67
|
+
<h1>Hello World</h1>
|
|
68
|
+
<button @click=\${this._onClick} part="button">
|
|
69
|
+
Click Count: \${this.count}
|
|
70
|
+
</button>
|
|
71
|
+
<slot></slot>
|
|
72
|
+
\`;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
${lang === 'js' ? '' : 'protected '}_onClick() {
|
|
76
|
+
this.count++;
|
|
77
|
+
const event = new Event('count-changed', {bubbles: true});
|
|
78
|
+
this.dispatchEvent(event);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
${lang === 'js'
|
|
82
|
+
? `
|
|
83
|
+
customElements.define('${elementName}', ${className});`
|
|
84
|
+
: ``}`;
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=element.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../../../src/lib/init/element-starter/templates/lib/element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,UAAU,EACV,iBAAiB,GAClB,MAAM,sCAAsC,CAAC;AAG9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,WAAmB,EACnB,QAAkB,EACR,EAAE;IACZ,MAAM,SAAS,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,OAAO;QACL,CAAC,SAAS,CAAC,EAAE;YACX,CAAC,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC,EAAE,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC;SACxE;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAE,IAAc,EAAE,EAAE;IAC/D,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjD,OAAO,UAAU,CAAA,6CACf,IAAI,KAAK,IAAI;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;2DAEN;;;;;;;;gBAQc,WAAW;KAExB,IAAI,KAAK,IAAI;QACX,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;kBACW,WAAW,IAC5B;eACc,SAAS;;;;;;;;;yBASC,WAAW;;;;IAKhC,IAAI,KAAK,IAAI;QACX,CAAC,CAAC;;;;;;;;;;;IAWJ;QACE,CAAC,CAAC;;;;aAKN;;;;;;;;;;;;IAYE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;;;;;;EAOnC,IAAI,KAAK,IAAI;QACX,CAAC,CAAC;yBACmB,WAAW,MAAM,SAAS,IAAI;QACnD,CAAC,CAAC,EACN,EAAE,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { FileTree } from '@oicl-lit/gen-utils/lib/file-utils.js';
|
|
7
|
+
import { Language } from '../../../commands/init.js';
|
|
8
|
+
export declare const generatePackageJson: (elementName: string, language: Language) => FileTree;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { litVersion } from '../../../lit-version.js';
|
|
7
|
+
export const generatePackageJson = (elementName, language) => {
|
|
8
|
+
return {
|
|
9
|
+
'package.json': `{
|
|
10
|
+
"name": "${elementName}",
|
|
11
|
+
"version": "0.0.1",
|
|
12
|
+
"description": "A Minimal Lit Element starter kit",
|
|
13
|
+
"type": "module",
|
|
14
|
+
"main": "lib/${elementName}.js",
|
|
15
|
+
"scripts": {
|
|
16
|
+
"serve": "wds --node-resolve -nwo demo"${language !== 'ts'
|
|
17
|
+
? ''
|
|
18
|
+
: `,
|
|
19
|
+
"build": "tsc",
|
|
20
|
+
"build:watch": "tsc --watch",
|
|
21
|
+
"dev": "npm run serve & npm run build:watch"`}
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"web-component",
|
|
25
|
+
"lit-element",
|
|
26
|
+
"lit"
|
|
27
|
+
],
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"lit": "^${litVersion}"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@web/dev-server": "^0.1.32"${language !== 'ts'
|
|
33
|
+
? ''
|
|
34
|
+
: `,
|
|
35
|
+
"typescript": "~5.9.0"`}
|
|
36
|
+
},
|
|
37
|
+
"exports": {
|
|
38
|
+
"./lib/${elementName}.js": {
|
|
39
|
+
"default": "./lib/${elementName}.js"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"/lib"
|
|
44
|
+
]
|
|
45
|
+
}`,
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=package.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.json.js","sourceRoot":"","sources":["../../../../src/lib/init/element-starter/templates/package.json.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAmB,EACnB,QAAkB,EACR,EAAE;IACZ,OAAO;QACL,cAAc,EAAE;aACP,WAAW;;;;iBAIP,WAAW;;6CAGtB,QAAQ,KAAK,IAAI;YACf,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;;;iDAIN;;;;;;;;eAQW,UAAU;;;kCAInB,QAAQ,KAAK,IAAI;YACf,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;2BAEN;;;aAGS,WAAW;0BACE,WAAW;;;;;;EAMnC;KACC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
export const generateTsconfig = () => {
|
|
7
|
+
return {
|
|
8
|
+
'tsconfig.json': `{
|
|
9
|
+
"compilerOptions": {
|
|
10
|
+
"target": "es2022",
|
|
11
|
+
"module": "es2022",
|
|
12
|
+
"lib": ["es2022", "DOM", "DOM.Iterable"],
|
|
13
|
+
"declaration": true,
|
|
14
|
+
"declarationMap": true,
|
|
15
|
+
"sourceMap": true,
|
|
16
|
+
"inlineSources": true,
|
|
17
|
+
"rootDir": "src",
|
|
18
|
+
"outDir": "lib",
|
|
19
|
+
"strict": true,
|
|
20
|
+
"moduleResolution": "node",
|
|
21
|
+
"allowSyntheticDefaultImports": true,
|
|
22
|
+
"experimentalDecorators": true,
|
|
23
|
+
"useDefineForClassFields": false
|
|
24
|
+
},
|
|
25
|
+
"include": ["src/**/*.ts"]
|
|
26
|
+
}`,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=tsconfig.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsconfig.json.js","sourceRoot":"","sources":["../../../../src/lib/init/element-starter/templates/tsconfig.json.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAa,EAAE;IAC7C,OAAO;QACL,eAAe,EAAE;;;;;;;;;;;;;;;;;;EAkBnB;KACC,CAAC;AACJ,CAAC,CAAC"}
|
package/lib/lit-cli.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
import { Command, ReferenceToCommand, ResolvedCommand } from './command.js';
|
|
7
|
+
import { LitConsole } from './console.js';
|
|
8
|
+
export type { Command, ResolvedCommand, ReferenceToCommand } from './command.js';
|
|
9
|
+
export interface Options {
|
|
10
|
+
cwd: string;
|
|
11
|
+
console?: LitConsole;
|
|
12
|
+
stdin?: NodeJS.ReadableStream;
|
|
13
|
+
}
|
|
14
|
+
export declare class LitCli {
|
|
15
|
+
readonly commands: Map<string, Command>;
|
|
16
|
+
readonly args: readonly string[];
|
|
17
|
+
readonly console: LitConsole;
|
|
18
|
+
/** The current working directory. */
|
|
19
|
+
readonly cwd: string;
|
|
20
|
+
private readonly stdin;
|
|
21
|
+
private skipPermissions;
|
|
22
|
+
constructor(args: string[], options: Options);
|
|
23
|
+
addCommand(command: Command): void;
|
|
24
|
+
run(): Promise<void | import("./command.js").CommandResult>;
|
|
25
|
+
getCommand(commands: Map<string, Command>, args: ReadonlyArray<string>, parentCommandNames?: Array<string>): Promise<{
|
|
26
|
+
commandName: string;
|
|
27
|
+
command: ResolvedCommand;
|
|
28
|
+
argv: string[];
|
|
29
|
+
} | {
|
|
30
|
+
invalidCommand: string;
|
|
31
|
+
} | {
|
|
32
|
+
commandNotInstalled: boolean;
|
|
33
|
+
}>;
|
|
34
|
+
resolveImportForReference(reference: ReferenceToCommand): string | undefined;
|
|
35
|
+
private loadCommandFromPath;
|
|
36
|
+
resolveCommandAsMuchAsPossible(reference: Command): Promise<Command>;
|
|
37
|
+
resolveCommandAndMaybeInstallNeededDeps(maybeReference: Command): Promise<ResolvedCommand | undefined>;
|
|
38
|
+
private installDepWithPermission;
|
|
39
|
+
private getPermissionToInstall;
|
|
40
|
+
}
|