adnbn 0.0.12 → 0.0.13

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/bin/adnbn.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import "../dist/cli/index.js";
2
+ import "../dist/cli.js";
@@ -1795,5 +1795,5 @@ is-plain-object/index.js:
1795
1795
  * Released under the MIT License.
1796
1796
  *)
1797
1797
  */
1798
- //# sourceMappingURL=index.cjs.map
1799
- //# sourceMappingURL=index.cjs.map
1798
+ //# sourceMappingURL=cli.cjs.map
1799
+ //# sourceMappingURL=cli.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/wildcard/index.js","../node_modules/webpack-merge/src/merge-with.ts","../node_modules/kind-of/index.js","../node_modules/shallow-clone/index.js","../node_modules/isobject/index.js","../node_modules/is-plain-object/index.js","../node_modules/clone-deep/index.js","../node_modules/flat/index.js","../node_modules/webpack-merge/src/utils.ts","../node_modules/webpack-merge/src/join-arrays.ts","../node_modules/webpack-merge/src/unique.ts","../node_modules/webpack-merge/src/types.ts","../node_modules/webpack-merge/src/index.ts","../src/cli/resolvers/path.ts","../src/cli/plugins/content.ts","../src/cli/parsers/entrypoint/SourceFile.ts","../src/cli/parsers/entrypoint/OptionFile.ts","../src/cli/parsers/entrypoint/index.ts","../src/cli/utils/plugin.ts","../src/cli/utils/option.ts","../src/cli/utils/entrypoint.ts","../src/cli/plugins/background.ts","../src/cli/resolvers/config.ts","../src/cli/resolvers/webpack.ts","../src/cli/builders/manifest/ManifestBase.ts","../src/cli/builders/manifest/ManifestV2.ts","../src/cli/builders/manifest/ManifestV3.ts","../src/cli/builders/manifest/index.ts","../src/cli/builders/app.ts","../package.json","../src/cli/index.ts"],"names":["target","result","_a","_b","key","CustomizeRule","merge","ret","k","v","path","VirtualModulesPlugin","readFileSync","createSourceFile","ScriptTarget","isImportDeclaration","isNamedImports","forEachChild","isEnumDeclaration","isVariableStatement","SyntaxKind","isIdentifier","isExportDeclaration","isNamedExports","_c","isExportAssignment","isPropertyAccessExpression","isPropertyAssignment","isShorthandPropertyAssignment","isComputedPropertyName","isCallExpression","isObjectLiteralExpression","_","readdirSync","statSync","webpack","options","existsSync","loadConfig","TsconfigPathsPlugin","MiniCssExtractPlugin","cac"],"mappings":"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","file":"cli.cjs","sourcesContent":["/* jshint node: true */\n'use strict';\n\nvar REGEXP_PARTS = /(\\*|\\?)/g;\n\n/**\n # wildcard\n\n Very simple wildcard matching, which is designed to provide the same\n functionality that is found in the\n [eve](https://github.com/adobe-webplatform/eve) eventing library.\n\n ## Usage\n\n It works with strings:\n\n <<< examples/strings.js\n\n Arrays:\n\n <<< examples/arrays.js\n\n Objects (matching against keys):\n\n <<< examples/objects.js\n\n ## Alternative Implementations\n\n - <https://github.com/isaacs/node-glob>\n\n Great for full file-based wildcard matching.\n\n - <https://github.com/sindresorhus/matcher>\n\n A well cared for and loved JS wildcard matcher.\n**/\n\nfunction WildcardMatcher(text, separator) {\n this.text = text = text || '';\n this.hasWild = text.indexOf('*') >= 0;\n this.separator = separator;\n this.parts = text.split(separator).map(this.classifyPart.bind(this));\n}\n\nWildcardMatcher.prototype.match = function(input) {\n var matches = true;\n var parts = this.parts;\n var ii;\n var partsCount = parts.length;\n var testParts;\n\n if (typeof input == 'string' || input instanceof String) {\n if (!this.hasWild && this.text != input) {\n matches = false;\n } else {\n testParts = (input || '').split(this.separator);\n for (ii = 0; matches && ii < partsCount; ii++) {\n if (parts[ii] === '*') {\n continue;\n } else if (ii < testParts.length) {\n matches = parts[ii] instanceof RegExp\n ? parts[ii].test(testParts[ii])\n : parts[ii] === testParts[ii];\n } else {\n matches = false;\n }\n }\n\n // If matches, then return the component parts\n matches = matches && testParts;\n }\n }\n else if (typeof input.splice == 'function') {\n matches = [];\n\n for (ii = input.length; ii--; ) {\n if (this.match(input[ii])) {\n matches[matches.length] = input[ii];\n }\n }\n }\n else if (typeof input == 'object') {\n matches = {};\n\n for (var key in input) {\n if (this.match(key)) {\n matches[key] = input[key];\n }\n }\n }\n\n return matches;\n};\n\nWildcardMatcher.prototype.classifyPart = function(part) {\n // in the event that we have been provided a part that is not just a wildcard\n // then turn this into a regular expression for matching purposes\n if (part === '*') {\n return part;\n } else if (part.indexOf('*') >= 0 || part.indexOf('?') >= 0) {\n return new RegExp(part.replace(REGEXP_PARTS, '\\.$1'));\n }\n\n return part;\n};\n\nmodule.exports = function(text, test, separator) {\n var matcher = new WildcardMatcher(text, separator || /[\\/\\.]/);\n if (typeof test != 'undefined') {\n return matcher.match(test);\n }\n\n return matcher;\n};\n",null,"var toString = Object.prototype.toString;\n\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n","/*!\n * shallow-clone <https://github.com/jonschlinkert/shallow-clone>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst valueOf = Symbol.prototype.valueOf;\nconst typeOf = require('kind-of');\n\nfunction clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n\n/**\n * Expose `clone`\n */\n\nmodule.exports = clone;\n","/*!\n * isobject <https://github.com/jonschlinkert/isobject>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n","'use strict';\n\n/**\n * Module dependenices\n */\n\nconst clone = require('shallow-clone');\nconst typeOf = require('kind-of');\nconst isPlainObject = require('is-plain-object');\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = new val.constructor();\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n/**\n * Expose `cloneDeep`\n */\n\nmodule.exports = cloneDeep;\n","module.exports = flatten\nflatten.flatten = flatten\nflatten.unflatten = unflatten\n\nfunction isBuffer (obj) {\n return obj &&\n obj.constructor &&\n (typeof obj.constructor.isBuffer === 'function') &&\n obj.constructor.isBuffer(obj)\n}\n\nfunction keyIdentity (key) {\n return key\n}\n\nfunction flatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const maxDepth = opts.maxDepth\n const transformKey = opts.transformKey || keyIdentity\n const output = {}\n\n function step (object, prev, currentDepth) {\n currentDepth = currentDepth || 1\n Object.keys(object).forEach(function (key) {\n const value = object[key]\n const isarray = opts.safe && Array.isArray(value)\n const type = Object.prototype.toString.call(value)\n const isbuffer = isBuffer(value)\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n const newKey = prev\n ? prev + delimiter + transformKey(key)\n : transformKey(key)\n\n if (!isarray && !isbuffer && isobject && Object.keys(value).length &&\n (!opts.maxDepth || currentDepth < maxDepth)) {\n return step(value, newKey, currentDepth + 1)\n }\n\n output[newKey] = value\n })\n }\n\n step(target)\n\n return output\n}\n\nfunction unflatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const overwrite = opts.overwrite || false\n const transformKey = opts.transformKey || keyIdentity\n const result = {}\n\n const isbuffer = isBuffer(target)\n if (isbuffer || Object.prototype.toString.call(target) !== '[object Object]') {\n return target\n }\n\n // safely ensure that the key is\n // an integer.\n function getkey (key) {\n const parsedKey = Number(key)\n\n return (\n isNaN(parsedKey) ||\n key.indexOf('.') !== -1 ||\n opts.object\n ) ? key\n : parsedKey\n }\n\n function addKeys (keyPrefix, recipient, target) {\n return Object.keys(target).reduce(function (result, key) {\n result[keyPrefix + delimiter + key] = target[key]\n\n return result\n }, recipient)\n }\n\n function isEmpty (val) {\n const type = Object.prototype.toString.call(val)\n const isArray = type === '[object Array]'\n const isObject = type === '[object Object]'\n\n if (!val) {\n return true\n } else if (isArray) {\n return !val.length\n } else if (isObject) {\n return !Object.keys(val).length\n }\n }\n\n target = Object.keys(target).reduce(function (result, key) {\n const type = Object.prototype.toString.call(target[key])\n const isObject = (type === '[object Object]' || type === '[object Array]')\n if (!isObject || isEmpty(target[key])) {\n result[key] = target[key]\n return result\n } else {\n return addKeys(\n key,\n result,\n flatten(target[key], opts)\n )\n }\n }, {})\n\n Object.keys(target).forEach(function (key) {\n const split = key.split(delimiter).map(transformKey)\n let key1 = getkey(split.shift())\n let key2 = getkey(split[0])\n let recipient = result\n\n while (key2 !== undefined) {\n if (key1 === '__proto__') {\n return\n }\n\n const type = Object.prototype.toString.call(recipient[key1])\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n // do not write over falsey, non-undefined values if overwrite is false\n if (!overwrite && !isobject && typeof recipient[key1] !== 'undefined') {\n return\n }\n\n if ((overwrite && !isobject) || (!overwrite && recipient[key1] == null)) {\n recipient[key1] = (\n typeof key2 === 'number' &&\n !opts.object ? [] : {}\n )\n }\n\n recipient = recipient[key1]\n if (split.length > 0) {\n key1 = getkey(split.shift())\n key2 = getkey(split[0])\n }\n }\n\n // unflatten again for 'messy objects'\n recipient[key1] = unflatten(target[key], opts)\n })\n\n return result\n}\n",null,null,null,null,null,"import path from 'path';\n\nimport {ReadonlyConfig} from \"@typing/config\";\n\nexport const getRootPath = (to: string): string => {\n return path.resolve(process.cwd(), to);\n}\n\nexport const getConfigFile = (config: ReadonlyConfig): string => {\n return path.resolve(config.inputDir, config.configFile);\n}\n\nexport const getSharedPath = (config: ReadonlyConfig): string => {\n return path.resolve(config.inputDir, config.srcDir, config.sharedDir);\n}\n\nexport const getAppsPath = (config: ReadonlyConfig): string => {\n return path.resolve(config.inputDir, config.srcDir, config.appsDir, config.app);\n}","import path from \"path\";\nimport {Configuration} from \"webpack\";\nimport VirtualModulesPlugin from \"webpack-virtual-modules\";\n\nimport {getAppsPath} from \"@cli/resolvers/path\";\nimport {Plugin} from \"@typing/plugin\";\nimport {ManifestContentScript} from \"@typing/manifest\";\n\n\nexport default (): Plugin => {\n const contentScripts: ManifestContentScript[] = [];\n\n return {\n webpack: async ({config}): Promise<Configuration> => {\n\n //\n // console.log(findContentFiles(getAppsPath(config)));\n // console.log(findContentFiles(getSharedPath(config)));\n\n const p = path.resolve(getAppsPath(config), 'src/some.ts');\n\n return {\n entry: {\n some: p,\n },\n plugins: [\n new VirtualModulesPlugin({\n [p]: 'console.log(\"Hello, World!\")'\n })\n ]\n };\n },\n manifest: ({manifest}) => {\n manifest.pushContentScript(...contentScripts);\n }\n };\n};","import {\n ArrayLiteralExpression,\n createSourceFile,\n forEachChild,\n Identifier,\n isComputedPropertyName,\n isEnumDeclaration,\n isExportAssignment,\n isExportDeclaration,\n isIdentifier,\n isImportDeclaration,\n isNamedExports,\n isNamedImports,\n isPropertyAccessExpression,\n isPropertyAssignment,\n isShorthandPropertyAssignment,\n isVariableStatement,\n Node,\n NumericLiteral,\n ObjectLiteralExpression,\n PropertyAssignment,\n ScriptTarget,\n SourceFile,\n StringLiteral,\n SyntaxKind\n} from 'typescript';\nimport {readFileSync} from 'fs';\nimport path from \"path\";\n\n\nexport interface Variable {\n name: string;\n value: any;\n exported: boolean;\n}\n\nexport type VariableMap = Map<string, Variable>;\n\nexport type ImportMap = Map<string, string>;\n\nexport type EnumMap = Map<string, Map<string, string | number>>;\n\nexport default class EntryFile {\n private sourceFile?: SourceFile;\n\n private variables?: VariableMap;\n\n private imports?: ImportMap;\n\n private enums?: EnumMap;\n\n public static make<T extends EntryFile>(this: new (file: string) => T, file: string): T {\n return new this(file);\n }\n\n constructor(protected readonly file: string) {\n }\n\n public getSourceFile(): SourceFile {\n if (this.sourceFile) {\n return this.sourceFile;\n }\n\n const sourceCode = readFileSync(this.file, 'utf8');\n\n return this.sourceFile = createSourceFile(\n this.file,\n sourceCode,\n ScriptTarget.ESNext,\n true\n );\n }\n\n public getImports(): ImportMap {\n if (this.imports) {\n return this.imports;\n }\n\n this.imports = new Map();\n\n const parse = (node: Node) => {\n if (isImportDeclaration(node) && node.moduleSpecifier) {\n const importPath = (node.moduleSpecifier as StringLiteral).text;\n\n if (node.importClause && node.importClause.namedBindings && isNamedImports(node.importClause.namedBindings)) {\n node.importClause.namedBindings.elements.forEach(el => {\n this.imports?.set(el.name.text, path.resolve(path.dirname(this.file), importPath + '.ts'));\n });\n }\n }\n\n forEachChild(node, parse);\n }\n\n parse(this.getSourceFile());\n\n return this.imports;\n }\n\n public getEnums(): EnumMap {\n if (this.enums) {\n return this.enums;\n }\n\n this.enums = new Map();\n\n const parse = (node: Node) => {\n if (isEnumDeclaration(node)) {\n const enumName = node.name.text;\n const enumProperties: Map<string, string | number> = new Map();\n\n node.members.forEach(member => {\n const key = member.name.getText();\n const value = member.initializer ? member.initializer.getText().replace(/['\"]/g, '') : key;\n\n enumProperties.set(key, value);\n });\n\n this.enums?.set(enumName, enumProperties);\n }\n\n forEachChild(node, parse);\n }\n\n parse(this.getSourceFile());\n\n return this.enums;\n }\n\n public getVariables(): VariableMap {\n if (this.variables) {\n return this.variables;\n }\n\n this.variables = new Map();\n\n const parse = (node: Node) => {\n if (isVariableStatement(node)) {\n const isExported = node.modifiers?.some(modifier => modifier.kind === SyntaxKind.ExportKeyword);\n\n node.declarationList.declarations.forEach(declaration => {\n if (isIdentifier(declaration.name) && declaration.initializer) {\n const name = declaration.name.text;\n const value = this.parseNode(declaration.initializer);\n\n this.variables?.set(name, {\n name,\n value,\n exported: isExported || false\n });\n }\n });\n }\n\n if (isExportDeclaration(node) && node.exportClause && isNamedExports(node.exportClause)) {\n node.exportClause.elements.forEach(el => {\n const name = el.name.text;\n\n if (this.variables?.has(name)) {\n const variable = this.variables?.get(name) as Variable;\n\n this.variables?.set(name, {\n name,\n value: variable.value,\n exported: true\n });\n }\n });\n }\n\n if (isExportAssignment(node)) {\n const expr = node.expression;\n if (isIdentifier(expr) && this.variables?.has(expr.text)) {\n const variable = this.variables?.get(expr.text) as Variable;\n const name = \"default\";\n\n this.variables?.set(name, {\n name,\n value: variable.value,\n exported: true\n });\n }\n }\n\n forEachChild(node, parse);\n };\n\n parse(this.getSourceFile());\n\n return this.variables;\n }\n\n protected findPropertyAccessValue(property: Node): any {\n if (isPropertyAccessExpression(property)) {\n const objectName = property.expression.getText();\n const propertyName = property.name.getText();\n\n const varItem = this.getVariables().get(objectName);\n\n if (varItem) {\n return varItem.value;\n }\n\n const enumItem = this.getEnums().get(objectName);\n\n if (enumItem) {\n return enumItem.get(propertyName);\n }\n\n const importItem = this.getImports().get(objectName);\n\n if (importItem) {\n return EntryFile.make(importItem).findPropertyAccessValue(property);\n }\n\n return `${objectName}.${propertyName}`;\n }\n\n return undefined;\n }\n\n protected parseNode(node?: Node): any {\n if (!node) {\n return undefined;\n }\n\n switch (node.kind) {\n case SyntaxKind.StringLiteral:\n return (node as StringLiteral).text;\n case SyntaxKind.TrueKeyword:\n return true;\n case SyntaxKind.FalseKeyword:\n return false;\n case SyntaxKind.NullKeyword:\n return null;\n case SyntaxKind.NumericLiteral:\n return parseFloat((node as NumericLiteral).text);\n case SyntaxKind.Identifier:\n return this.variables?.get((node as Identifier).text)?.value ?? (node as Identifier).text;\n case SyntaxKind.ArrayLiteralExpression:\n return (node as ArrayLiteralExpression).elements.map(element =>\n this.parseNode(element)\n );\n case SyntaxKind.ObjectLiteralExpression:\n return (node as ObjectLiteralExpression).properties\n .filter(\n (property): property is PropertyAssignment =>\n isPropertyAssignment(property) || isShorthandPropertyAssignment(property)\n )\n .reduce((acc, property) => {\n if (isComputedPropertyName(property.name)) {\n return acc;\n }\n\n const key = (property.name as Identifier | StringLiteral).text;\n let value = this.parseNode(property.initializer);\n\n if (typeof value === 'string' && this.variables?.has(value)) {\n value = this.variables?.get(value)?.value;\n }\n\n acc[key] = value;\n\n return acc;\n }, {} as Record<string, any>);\n case SyntaxKind.PropertyAccessExpression: {\n return this.findPropertyAccessValue(node);\n }\n default:\n return undefined;\n }\n }\n}","import {\n forEachChild,\n isCallExpression,\n isExportAssignment,\n isIdentifier,\n isObjectLiteralExpression,\n Node\n} from 'typescript';\n\nimport SourceFile from \"./SourceFile\";\n\nexport default class<T extends Record<string, unknown>> extends SourceFile {\n protected definition?: string;\n\n protected properties: string[] = [];\n\n public setDefinition(definition: string): this {\n this.definition = definition;\n\n return this;\n }\n\n public setProperties(properties: string[]): this {\n this.properties = properties;\n\n return this;\n }\n\n public getOptions(): T {\n return {...this.getOptionsFromVariables(), ...this.getOptionsFromDefinition()};\n }\n\n protected getOptionsFromVariables(): T {\n return Array.from(this.getVariables().values())\n .filter(({name, exported}) => exported && this.properties.includes(name))\n .reduce((config, {name, value}) => ({...config, [name]: value}), {} as T);\n }\n\n protected getOptionsFromDefinition(): T {\n let options = {} as T;\n\n const parse = (node: Node) => {\n if (isExportAssignment(node)) {\n const expr = node.expression;\n\n if (isCallExpression(expr) && isIdentifier(expr.expression)) {\n const functionName = expr.expression.text;\n\n if (functionName === this.definition && expr.arguments.length > 0) {\n const arg = expr.arguments[0];\n\n if (isObjectLiteralExpression(arg)) {\n options = this.parseNode(arg);\n }\n }\n }\n }\n\n forEachChild(node, parse);\n }\n\n parse(this.getSourceFile());\n\n return options;\n }\n}","import OptionFile from \"./OptionFile\";\n\nimport {BackgroundEntrypointOptions} from \"@typing/background\";\nimport {BaseEntrypointOptions} from \"@typing/base\";\n\nconst commonProperties: Array<keyof BaseEntrypointOptions> = [\n 'includeApp',\n 'excludeApp',\n 'includeBrowser',\n 'excludeBrowser',\n];\n\nexport const getBackgroundOptions = (file: string): BackgroundEntrypointOptions => {\n return OptionFile.make(file)\n .setDefinition('defineBackground')\n .setProperties([...commonProperties, 'persistent'])\n .getOptions();\n}","import _ from \"lodash\";\n\nimport {PluginHandler, PluginHandlerKeys, PluginHandlerOptions, PluginHandlerResult} from \"@typing/plugin\";\nimport {ReadonlyConfig} from \"@typing/config\";\n\nexport const resolvePluginHandler = async <O extends object, T>(handler: PluginHandler<O, T> | undefined, options: O): Promise<T | undefined> => {\n if (_.isFunction(handler)) {\n const result = handler(options);\n\n if (result instanceof Promise) {\n return await result;\n }\n\n return result;\n }\n\n return handler;\n};\n\n\nexport const processPluginHandler = async function* <K extends PluginHandlerKeys>(config: ReadonlyConfig, key: K, options: PluginHandlerOptions<K>): AsyncGenerator<PluginHandlerResult<K>, void, void> {\n const {plugins = []} = config;\n\n for await (const plugin of plugins) {\n const handler = plugin[key] as PluginHandler<PluginHandlerOptions<K>> | undefined;\n\n const result = await resolvePluginHandler(handler, options);\n\n if (result !== undefined) {\n yield result;\n }\n }\n}","import {BaseEntrypointOptions} from \"@typing/base\";\nimport {ReadonlyConfig} from \"@typing/config\";\n\nexport const isValidEntrypointOptions = (options: BaseEntrypointOptions, config: ReadonlyConfig): boolean => {\n const {browser, app} = config;\n\n if (options.includeBrowser?.includes(browser) || options.includeApp?.includes(app)) {\n return true;\n }\n\n if (options.excludeBrowser?.includes(browser) || options.excludeApp?.includes(app)) {\n return false;\n }\n\n return true;\n}","import {Dirent, readdirSync, statSync, existsSync} from 'fs';\nimport path from 'path';\n\nconst escapeRegExp = (text: string): string =>\n text.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\nexport const findEntrypointFiles = (\n directory: string,\n entrypoint: string\n): string[] => {\n const files: string[] = [];\n\n const regex = new RegExp(\n `^(?:.*\\\\.)?${escapeRegExp(entrypoint)}\\\\.(ts|tsx|js)$`\n );\n\n const finder = (dir: string): void => {\n let entries: Dirent[];\n\n try {\n entries = readdirSync(dir, {withFileTypes: true});\n } catch (e) {\n console.log('Error reading entrypoint directory:', dir);\n\n return;\n }\n\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name);\n\n if (entry.isDirectory()) {\n if (entry.name === entrypoint || entry.name.endsWith(`.${entrypoint}`)) {\n const possibleIndexFiles = ['index.ts', 'index.tsx', 'index.js'];\n\n for (const indexFile of possibleIndexFiles) {\n const indexPath = path.join(fullPath, indexFile);\n\n try {\n const stat = statSync(indexPath);\n\n if (stat.isFile()) {\n files.push(indexPath);\n }\n } catch (e) {\n //console.log('Error reading entrypoint index file:', indexPath);\n }\n }\n }\n\n finder(fullPath);\n } else if (entry.isFile()) {\n if (regex.test(entry.name)) {\n files.push(fullPath);\n }\n }\n }\n };\n\n finder(directory);\n\n return files;\n};\n\nexport const findBackgroundFiles = (directory: string): string[] => {\n return findEntrypointFiles(directory, 'background');\n}\n\nexport const findContentFiles = (directory: string): string[] => {\n return findEntrypointFiles(directory, 'content');\n}","import path from \"path\";\nimport _ from \"lodash\";\n\nimport {getBackgroundOptions} from \"../parsers/entrypoint\";\n\nimport {getAppsPath, getSharedPath} from \"../resolvers/path\";\n\nimport {processPluginHandler} from \"../utils/plugin\";\nimport {isValidEntrypointOptions} from \"../utils/option\";\nimport {findBackgroundFiles} from \"../utils/entrypoint\";\n\nimport {Plugin} from \"@typing/plugin\";\nimport {BackgroundEntrypointMap} from \"@typing/background\";\n\n\nconst backgroundFilesToEntries = (files: string[]): BackgroundEntrypointMap => {\n const entries: BackgroundEntrypointMap = new Map;\n\n for (const file of files) {\n entries.set(file, getBackgroundOptions(file));\n }\n\n return entries;\n}\n\nconst findBackgroundEntries = (dir: string): BackgroundEntrypointMap => {\n return backgroundFilesToEntries(findBackgroundFiles(dir));\n}\n\nexport interface BackgroundOptions {\n name?: string;\n}\n\nexport default (options?: BackgroundOptions): Plugin => {\n const {name = 'background'} = options || {};\n\n let hasBackground: boolean = false;\n\n return {\n webpack: async ({config, webpack}) => {\n let entries: BackgroundEntrypointMap = new Map;\n\n const appBackgroundEntries = findBackgroundEntries(getAppsPath(config));\n\n if (appBackgroundEntries.size > 0) {\n entries = new Map([...entries, ...appBackgroundEntries]);\n\n if (config.debug) {\n console.info('App background added:', appBackgroundEntries);\n }\n }\n\n if (appBackgroundEntries.size > 0 && config.mergeBackground || appBackgroundEntries.size === 0) {\n const sharedBackgroundEntries = findBackgroundEntries(getSharedPath(config));\n\n if (sharedBackgroundEntries.size > 0) {\n entries = new Map([...entries, ...sharedBackgroundEntries]);\n\n if (config.debug) {\n console.info('Shared background added:', sharedBackgroundEntries);\n }\n }\n }\n\n const pluginBackgroundFiles = await Array.fromAsync(processPluginHandler(config, 'background', {\n config,\n entries\n }));\n\n console.log('pluginBackgroundFiles', pluginBackgroundFiles);\n\n if (pluginBackgroundFiles.length > 0) {\n const pluginBackgroundEntries = backgroundFilesToEntries(pluginBackgroundFiles);\n\n entries = new Map([...entries, ...pluginBackgroundEntries]);\n\n if (config.debug) {\n console.info('Plugin background added:', pluginBackgroundEntries);\n }\n }\n\n const files = Array.from(entries)\n .filter(([_, options]) => isValidEntrypointOptions(options, config))\n .map(([file]) => file);\n\n if (files.length === 0) {\n if (config.debug) {\n console.warn('Background entries not found');\n }\n\n return {};\n }\n\n hasBackground = true;\n\n if (config.debug) {\n console.info('Background entries:', entries);\n }\n\n return {\n entry: {\n [name]: files,\n },\n optimization: {\n splitChunks: {\n chunks(chunk) {\n const {chunks} = webpack.optimization?.splitChunks || {};\n\n if (_.isFunction(chunks) && !chunks(chunk)) {\n return false;\n }\n\n return chunk.name !== name;\n },\n }\n }\n };\n },\n manifest: ({manifest, config}) => {\n if (hasBackground) {\n manifest.resetBackground({\n entry: name,\n file: path.join(config.jsDir, name + '.js'),\n });\n }\n }\n };\n};","import {existsSync} from \"fs\";\nimport {loadConfig} from \"c12\";\n\nimport content from \"@cli/plugins/content\";\nimport background from \"@cli/plugins/background\";\n\nimport {getConfigFile} from \"@cli/resolvers/path\";\n\nimport {Browser, Config, Mode, OptionalConfig, ReadonlyConfig, UserConfig,} from \"@typing/config\";\nimport {Plugin} from \"@typing/plugin\";\n\nconst getUserConfig = async (config: ReadonlyConfig): Promise<UserConfig> => {\n const configFilePath = getConfigFile(config);\n\n if (existsSync(configFilePath)) {\n const {config: userConfig} = await loadConfig<UserConfig>({configFile: configFilePath});\n\n if (config.debug) {\n console.log('Loaded user config:', configFilePath);\n }\n\n return userConfig\n } else if (config.debug) {\n console.warn('Config file not found:', configFilePath);\n }\n\n return {};\n}\n\nexport default async (config: OptionalConfig): Promise<Config> => {\n let {\n debug = false,\n configFile = 'addonbone.config.ts',\n app = 'myapp',\n browser = Browser.Chrome,\n inputDir = '.',\n outputDir = 'dist',\n srcDir = 'src',\n sharedDir = 'shared',\n appsDir = 'apps',\n jsDir = 'js',\n cssDir = 'css',\n assetsDir = 'assets',\n htmlDir = '.',\n manifestVersion = [Browser.Firefox, Browser.Safari].includes(browser) ? 2 : 3,\n mode = Mode.Development,\n analyze = false,\n plugins = [],\n mergeBackground = false,\n mergeContentScripts = false,\n concatContentScripts = true,\n } = config;\n\n let resolvedConfig: Config = {\n debug,\n mode,\n app,\n browser,\n manifestVersion,\n inputDir,\n outputDir,\n srcDir,\n sharedDir,\n appsDir,\n jsDir,\n cssDir,\n assetsDir,\n htmlDir,\n plugins,\n analyze,\n configFile,\n mergeBackground,\n mergeContentScripts,\n concatContentScripts,\n };\n\n const {plugins: userPlugins = [], ...userConfig} = await getUserConfig(resolvedConfig);\n\n const corePlugins: Plugin[] = [content(), background()];\n\n return {\n ...resolvedConfig,\n ...userConfig,\n plugins: [\n ...plugins,\n ...userPlugins,\n ...corePlugins,\n ]\n };\n}","import {Configuration} from \"webpack\";\nimport {merge} from \"webpack-merge\";\nimport path from \"path\";\n\nimport TsconfigPathsPlugin from \"tsconfig-paths-webpack-plugin\";\nimport MiniCssExtractPlugin from \"mini-css-extract-plugin\";\n\nimport manifestFactory from \"@cli/builders/manifest\";\n\nimport {ReadonlyConfig} from \"@typing/config\";\n\nimport {getRootPath} from \"./path\";\nimport {processPluginHandler} from \"@cli/utils/plugin\";\nimport {ManifestBuilder} from \"@typing/manifest\";\n\nconst getConfigFromPlugins = async (webpack: Configuration, config: ReadonlyConfig): Promise<Configuration> => {\n let mergedConfig: Configuration = {};\n\n for await (const webpackFromPlugin of processPluginHandler(config, 'webpack', {webpack, config})) {\n mergedConfig = merge(mergedConfig, webpackFromPlugin);\n }\n\n return mergedConfig;\n}\n\nconst getConfigForManifest = async (webpack: Configuration, config: ReadonlyConfig, manifest: ManifestBuilder): Promise<Configuration> => {\n await Array.fromAsync(processPluginHandler(config, 'manifest', {manifest, config}));\n\n console.log(manifest.get());\n\n return webpack;\n}\n\nexport default async (config: ReadonlyConfig): Promise<Configuration> => {\n const manifest = manifestFactory(config.browser, config.manifestVersion);\n\n let webpack: Configuration = {\n mode: config.mode,\n cache: false,\n output: {\n path: getRootPath(config.outputDir),\n filename: path.join(config.jsDir, '[name].js'),\n assetModuleFilename: path.join(config.assetsDir, '[name]-[hash:4][ext]'),\n },\n resolve: {\n extensions: [\".ts\", \".tsx\", \".js\", \".scss\"],\n plugins: [new TsconfigPathsPlugin()],\n },\n module: {\n rules: [\n {\n test: /\\.tsx?$/,\n use: \"ts-loader\",\n exclude: /node_modules/,\n },\n {\n test: /\\.(scss|css)$/,\n use: [\n MiniCssExtractPlugin.loader,\n {\n loader: \"css-loader\",\n options: {\n modules: {\n localIdentName: \"[local]\"\n },\n }\n },\n {\n loader: \"sass-loader\",\n options: {\n implementation: import(\"sass\"),\n },\n },\n ],\n },\n {\n test: /\\.(png|apng|jpe?g|gif|webp|svg])$/i,\n type: \"asset/resource\",\n },\n ],\n }\n }\n\n webpack = merge(\n webpack,\n await getConfigFromPlugins(webpack, config),\n await getConfigForManifest(webpack, config, manifest),\n );\n\n\n return webpack;\n}","import {\n CoreManifest,\n Manifest,\n ManifestBackground,\n ManifestBuilder,\n ManifestContentScript,\n ManifestVersion\n} from \"@typing/manifest\";\n\nimport {Browser} from \"@typing/config\";\n\nexport default abstract class<T extends CoreManifest> implements ManifestBuilder<T> {\n protected name: string = \"__MSG_app_name__\";\n protected shortName: string = \"__MSG_app_short_name__\";\n protected description: string = \"__MSG_app_description__\";\n protected version: string = \"0.0.0\";\n protected background?: ManifestBackground;\n protected contentScripts: Map<string, ManifestContentScript> = new Map();\n\n public abstract getManifestVersion(): ManifestVersion;\n\n protected abstract buildBackground(): Partial<T> | undefined;\n\n protected abstract buildContentScripts(): Partial<T> | undefined;\n\n protected constructor(protected readonly browser: Browser = Browser.Chrome) {\n }\n\n public setName(name: string): this {\n this.name = name;\n\n return this;\n }\n\n public setShortName(shortName: string): this {\n this.shortName = shortName;\n\n return this;\n }\n\n public setDescription(description: string): this {\n this.description = description;\n\n return this;\n }\n\n public setVersion(version: string): this {\n this.version = version;\n\n return this;\n }\n\n public resetBackground(background: ManifestBackground): this {\n this.background = background;\n\n return this;\n }\n\n public pushContentScript(...content: ManifestContentScript[]): this {\n for (const script of content) {\n this.contentScripts.set(script.entry, script);\n }\n\n return this;\n }\n\n private marge<T extends CoreManifest>(manifest: T, ...sources: Array<Partial<T> | undefined>): T {\n sources = sources.filter((source) => source !== undefined);\n\n if (sources.length === 0) {\n return manifest;\n }\n\n return Object.assign({}, manifest, ...sources);\n }\n\n public build(): T {\n let manifest: Manifest = {\n name: this.name,\n short_name: this.shortName,\n description: this.description,\n version: this.version,\n manifest_version: this.getManifestVersion(),\n };\n\n manifest = this.marge(manifest, this.buildBackground(), this.buildContentScripts());\n\n return manifest as T;\n }\n\n public get(): T {\n return this.build();\n }\n}","import ManifestBase from \"./ManifestBase\";\n\nimport {ManifestVersion} from \"@typing/manifest\";\nimport {Browser} from \"@typing/config\";\n\ntype ManifestV2 = chrome.runtime.ManifestV2;\n\nexport default class extends ManifestBase<ManifestV2> {\n\n public constructor(browser: Browser) {\n super(browser);\n }\n\n public getManifestVersion(): ManifestVersion {\n return 2;\n }\n\n protected buildBackground(): Partial<ManifestV2> | undefined {\n if (this.background) {\n const {file, persistent} = this.background;\n\n return {background: {scripts: [file], persistent}};\n }\n }\n\n protected buildContentScripts(): Partial<ManifestV2> | undefined {\n if (this.contentScripts.size > 0) {\n const contentScripts: ManifestV2['content_scripts'] = Array.from(this.contentScripts, ([_, contentScript]) => ({\n matches: contentScript.matches,\n js: [contentScript.file],\n exclude_matches: contentScript.excludeMatches,\n all_frames: contentScript.allFrames,\n run_at: contentScript.runAt,\n exclude_globs: contentScript.excludeGlobs,\n include_globs: contentScript.includeGlobs,\n }));\n\n return {content_scripts: contentScripts};\n }\n }\n}","import ManifestBase from \"./ManifestBase\";\n\nimport {ManifestVersion} from \"@typing/manifest\";\nimport {Browser} from \"@typing/config\";\n\ntype ManifestV3 = chrome.runtime.ManifestV3;\n\nexport default class extends ManifestBase<ManifestV3> {\n public constructor(browser: Browser) {\n super(browser);\n }\n\n public getManifestVersion(): ManifestVersion {\n return 3;\n }\n\n protected buildBackground(): Partial<ManifestV3> | undefined {\n if (this.background) {\n return {background: {service_worker: this.background.file}};\n }\n }\n\n protected buildContentScripts(): Partial<ManifestV3> | undefined {\n if (this.contentScripts.size > 0) {\n const contentScripts: ManifestV3['content_scripts'] = Array.from(this.contentScripts, ([_, contentScript]) => ({\n matches: contentScript.matches,\n exclude_matches: contentScript.excludeMatches,\n js: [contentScript.file],\n all_frames: contentScript.allFrames,\n run_at: contentScript.runAt,\n exclude_globs: contentScript.excludeGlobs,\n include_globs: contentScript.includeGlobs,\n world: contentScript.world,\n }));\n\n return {content_scripts: contentScripts};\n }\n }\n}","import {ManifestBuilder, ManifestMapping, ManifestVersion} from \"@typing/manifest\";\nimport ManifestV2 from './ManifestV2';\nimport ManifestV3 from './ManifestV3';\n\nimport {Browser} from \"@typing/config\";\n\nexport default <T extends ManifestVersion>(browser: Browser, manifestVersion: T): ManifestBuilder<ManifestMapping[T]> => {\n if (manifestVersion === 2) {\n return new ManifestV2(browser);\n }\n\n return new ManifestV3(browser);\n}","import webpack from 'webpack';\n\nimport {OptionalConfig} from \"@typing/config\";\nimport configResolver from \"../resolvers/config\";\nimport webpackResolver from \"../resolvers/webpack\";\n\nexport default async (config: OptionalConfig): Promise<void> => {\n const resolverConfig = await configResolver(config);\n const webpackConfig = await webpackResolver(resolverConfig);\n\n const compiler = webpack(webpackConfig);\n\n compiler.run((err, stats) => {\n if (err) {\n console.error('Webpack compilation error');\n process.exit(1);\n }\n\n console.log(stats?.toString({ colors: true }));\n });\n}","{\n \"name\": \"adnbn\",\n \"type\": \"module\",\n \"version\": \"0.0.12\",\n \"description\": \"Cross browser web extension framework with shared code base\",\n \"homepage\": \"https://github.com/addonbone/addonbone\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/addonbone/addonbone.git\"\n },\n \"keywords\": [\n \"addon\",\n \"extension\",\n \"chrome\",\n \"firefox\",\n \"edge\",\n \"opera\",\n \"safari\"\n ],\n \"author\": \"AddonBone\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/addonbone/addonbone/issues\"\n },\n \"exports\": {\n \"./core\": {\n \"types\": \"./dist/core.d.ts\",\n \"import\": \"./dist/core.js\",\n \"require\": \"./dist/core.cjs\"\n }\n },\n \"main\": \"./dist/core.js\",\n \"module\": \"./dist/core.js\",\n \"types\": \"./dist/core.d.ts\",\n \"files\": [\n \"bin\",\n \"dist\"\n ],\n \"bin\": {\n \"adnbn\": \"bin/adnbn.js\"\n },\n \"scripts\": {\n \"build\": \"tsup\"\n },\n \"devDependencies\": {\n \"@aklinker1/buildc\": \"^1.1.4\",\n \"@types/generate-json-webpack-plugin\": \"^0.3.7\",\n \"@types/lodash\": \"^4.17.14\",\n \"@types/node\": \"^22.13.1\",\n \"esbuild\": \"^0.24.2\",\n \"esbuild-node-externals\": \"^1.16.0\",\n \"esbuild-plugin-alias\": \"^0.2.1\",\n \"esbuild-plugin-d.ts\": \"^1.3.1\",\n \"esbuild-plugin-node-externals\": \"^1.0.1\",\n \"esbuild-ts-paths\": \"^1.1.3\",\n \"fs-extra\": \"^11.3.0\",\n \"rollup-plugin-dts\": \"^6.1.1\",\n \"ts-node\": \"^10.9.2\",\n \"tsup\": \"^8.3.6\",\n \"tsx\": \"^4.19.2\",\n \"vite\": \"^6.1.0\",\n \"vite-tsconfig-paths\": \"^5.1.4\"\n },\n \"dependencies\": {\n \"@esbuild-plugins/tsconfig-paths\": \"^0.1.2\",\n \"@types/chrome\": \"^0.0.299\",\n \"c12\": \"^2.0.1\",\n \"cac\": \"^6.7.14\",\n \"css-loader\": \"^7.1.2\",\n \"file-loader\": \"^6.2.0\",\n \"generate-json-webpack-plugin\": \"^2.0.0\",\n \"lodash\": \"^4.17.21\",\n \"mini-css-extract-plugin\": \"^2.9.2\",\n \"sass\": \"^1.83.4\",\n \"sass-loader\": \"^16.0.4\",\n \"ts-loader\": \"^9.5.2\",\n \"tsconfig-paths-webpack-plugin\": \"^4.2.0\",\n \"typescript\": \"^5.7.3\",\n \"utility-types\": \"^3.11.0\",\n \"webpack\": \"^5.97.1\",\n \"webpack-cli\": \"^6.0.1\",\n \"webpack-virtual-modules\": \"^0.6.2\"\n }\n}\n","import cac from 'cac';\n\nimport {Browser} from \"@typing/config\";\nimport app from \"./builders/app\";\n\nimport pkg from '../../package.json';\n\nconst cli = cac('adnbn');\n\ncli.option('--debug', 'Enable debug mode');\n\ncli\n .command('init', 'Initialize a new project')\n .action(() => {\n console.log('init is good in cli');\n });\n\ncli\n .command('[root]', 'Start dev server')\n .option('-m, --mode <mode>', 'Set env mode', {default: 'development',})\n .option('-c, --config <config>', 'Path to config file')\n .option('-a, --app <app>', 'Specify an app to run', {default: 'myapp'})\n .option('-b, --browser <browser>', 'Specify a browser')\n .option('-p, --port <port>', 'Specify a port for the dev server')\n .option('--mv2', 'Target manifest v2')\n .action((root, options) => {\n console.log(options)\n });\n\ncli\n .command('build [root]', 'Build for production')\n .option('-m, --mode <mode>', 'Set env mode', {default: 'production'})\n .option('-c, --config <config>', 'Path to config file')\n .option('-a, --app <app>', 'Specify an app to run', {default: 'myapp'})\n .option('-b, --browser <browser>', 'Specify a browser', {default: Browser.Chrome})\n .option('--mv2', 'Target manifest v2')\n .option('--analyze', 'Visualize extension bundle')\n .action(async (root, options) => {\n await app({\n mode: options.mode,\n debug: options.debug,\n app: options.app,\n browser: options.browser,\n manifestVersion: options.mv2 ? 2 : 3,\n inputDir: root,\n configFile: options.config,\n });\n });\n\ncli.version(pkg.version);\ncli.help();\ncli.parse();"]}
@@ -1783,5 +1783,5 @@ is-plain-object/index.js:
1783
1783
  * Released under the MIT License.
1784
1784
  *)
1785
1785
  */
1786
- //# sourceMappingURL=index.js.map
1787
- //# sourceMappingURL=index.js.map
1786
+ //# sourceMappingURL=cli.js.map
1787
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../node_modules/wildcard/index.js","../node_modules/webpack-merge/src/merge-with.ts","../node_modules/kind-of/index.js","../node_modules/shallow-clone/index.js","../node_modules/isobject/index.js","../node_modules/is-plain-object/index.js","../node_modules/clone-deep/index.js","../node_modules/flat/index.js","../node_modules/webpack-merge/src/utils.ts","../node_modules/webpack-merge/src/join-arrays.ts","../node_modules/webpack-merge/src/unique.ts","../node_modules/webpack-merge/src/types.ts","../node_modules/webpack-merge/src/index.ts","../src/cli/resolvers/path.ts","../src/cli/plugins/content.ts","../src/cli/parsers/entrypoint/SourceFile.ts","../src/cli/parsers/entrypoint/OptionFile.ts","../src/cli/parsers/entrypoint/index.ts","../src/cli/utils/plugin.ts","../src/cli/utils/option.ts","../src/cli/utils/entrypoint.ts","../src/cli/plugins/background.ts","../src/cli/resolvers/config.ts","../src/cli/resolvers/webpack.ts","../src/cli/builders/manifest/ManifestBase.ts","../src/cli/builders/manifest/ManifestV2.ts","../src/cli/builders/manifest/ManifestV3.ts","../src/cli/builders/manifest/index.ts","../src/cli/builders/app.ts","../package.json","../src/cli/index.ts"],"names":["target","result","_a","_b","key","CustomizeRule","merge","ret","k","v","path","_c","isExportAssignment","isIdentifier","forEachChild","webpack","_","options","existsSync"],"mappings":"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","file":"cli.js","sourcesContent":["/* jshint node: true */\n'use strict';\n\nvar REGEXP_PARTS = /(\\*|\\?)/g;\n\n/**\n # wildcard\n\n Very simple wildcard matching, which is designed to provide the same\n functionality that is found in the\n [eve](https://github.com/adobe-webplatform/eve) eventing library.\n\n ## Usage\n\n It works with strings:\n\n <<< examples/strings.js\n\n Arrays:\n\n <<< examples/arrays.js\n\n Objects (matching against keys):\n\n <<< examples/objects.js\n\n ## Alternative Implementations\n\n - <https://github.com/isaacs/node-glob>\n\n Great for full file-based wildcard matching.\n\n - <https://github.com/sindresorhus/matcher>\n\n A well cared for and loved JS wildcard matcher.\n**/\n\nfunction WildcardMatcher(text, separator) {\n this.text = text = text || '';\n this.hasWild = text.indexOf('*') >= 0;\n this.separator = separator;\n this.parts = text.split(separator).map(this.classifyPart.bind(this));\n}\n\nWildcardMatcher.prototype.match = function(input) {\n var matches = true;\n var parts = this.parts;\n var ii;\n var partsCount = parts.length;\n var testParts;\n\n if (typeof input == 'string' || input instanceof String) {\n if (!this.hasWild && this.text != input) {\n matches = false;\n } else {\n testParts = (input || '').split(this.separator);\n for (ii = 0; matches && ii < partsCount; ii++) {\n if (parts[ii] === '*') {\n continue;\n } else if (ii < testParts.length) {\n matches = parts[ii] instanceof RegExp\n ? parts[ii].test(testParts[ii])\n : parts[ii] === testParts[ii];\n } else {\n matches = false;\n }\n }\n\n // If matches, then return the component parts\n matches = matches && testParts;\n }\n }\n else if (typeof input.splice == 'function') {\n matches = [];\n\n for (ii = input.length; ii--; ) {\n if (this.match(input[ii])) {\n matches[matches.length] = input[ii];\n }\n }\n }\n else if (typeof input == 'object') {\n matches = {};\n\n for (var key in input) {\n if (this.match(key)) {\n matches[key] = input[key];\n }\n }\n }\n\n return matches;\n};\n\nWildcardMatcher.prototype.classifyPart = function(part) {\n // in the event that we have been provided a part that is not just a wildcard\n // then turn this into a regular expression for matching purposes\n if (part === '*') {\n return part;\n } else if (part.indexOf('*') >= 0 || part.indexOf('?') >= 0) {\n return new RegExp(part.replace(REGEXP_PARTS, '\\.$1'));\n }\n\n return part;\n};\n\nmodule.exports = function(text, test, separator) {\n var matcher = new WildcardMatcher(text, separator || /[\\/\\.]/);\n if (typeof test != 'undefined') {\n return matcher.match(test);\n }\n\n return matcher;\n};\n",null,"var toString = Object.prototype.toString;\n\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n","/*!\n * shallow-clone <https://github.com/jonschlinkert/shallow-clone>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst valueOf = Symbol.prototype.valueOf;\nconst typeOf = require('kind-of');\n\nfunction clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n\n/**\n * Expose `clone`\n */\n\nmodule.exports = clone;\n","/*!\n * isobject <https://github.com/jonschlinkert/isobject>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n","'use strict';\n\n/**\n * Module dependenices\n */\n\nconst clone = require('shallow-clone');\nconst typeOf = require('kind-of');\nconst isPlainObject = require('is-plain-object');\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = new val.constructor();\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n/**\n * Expose `cloneDeep`\n */\n\nmodule.exports = cloneDeep;\n","module.exports = flatten\nflatten.flatten = flatten\nflatten.unflatten = unflatten\n\nfunction isBuffer (obj) {\n return obj &&\n obj.constructor &&\n (typeof obj.constructor.isBuffer === 'function') &&\n obj.constructor.isBuffer(obj)\n}\n\nfunction keyIdentity (key) {\n return key\n}\n\nfunction flatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const maxDepth = opts.maxDepth\n const transformKey = opts.transformKey || keyIdentity\n const output = {}\n\n function step (object, prev, currentDepth) {\n currentDepth = currentDepth || 1\n Object.keys(object).forEach(function (key) {\n const value = object[key]\n const isarray = opts.safe && Array.isArray(value)\n const type = Object.prototype.toString.call(value)\n const isbuffer = isBuffer(value)\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n const newKey = prev\n ? prev + delimiter + transformKey(key)\n : transformKey(key)\n\n if (!isarray && !isbuffer && isobject && Object.keys(value).length &&\n (!opts.maxDepth || currentDepth < maxDepth)) {\n return step(value, newKey, currentDepth + 1)\n }\n\n output[newKey] = value\n })\n }\n\n step(target)\n\n return output\n}\n\nfunction unflatten (target, opts) {\n opts = opts || {}\n\n const delimiter = opts.delimiter || '.'\n const overwrite = opts.overwrite || false\n const transformKey = opts.transformKey || keyIdentity\n const result = {}\n\n const isbuffer = isBuffer(target)\n if (isbuffer || Object.prototype.toString.call(target) !== '[object Object]') {\n return target\n }\n\n // safely ensure that the key is\n // an integer.\n function getkey (key) {\n const parsedKey = Number(key)\n\n return (\n isNaN(parsedKey) ||\n key.indexOf('.') !== -1 ||\n opts.object\n ) ? key\n : parsedKey\n }\n\n function addKeys (keyPrefix, recipient, target) {\n return Object.keys(target).reduce(function (result, key) {\n result[keyPrefix + delimiter + key] = target[key]\n\n return result\n }, recipient)\n }\n\n function isEmpty (val) {\n const type = Object.prototype.toString.call(val)\n const isArray = type === '[object Array]'\n const isObject = type === '[object Object]'\n\n if (!val) {\n return true\n } else if (isArray) {\n return !val.length\n } else if (isObject) {\n return !Object.keys(val).length\n }\n }\n\n target = Object.keys(target).reduce(function (result, key) {\n const type = Object.prototype.toString.call(target[key])\n const isObject = (type === '[object Object]' || type === '[object Array]')\n if (!isObject || isEmpty(target[key])) {\n result[key] = target[key]\n return result\n } else {\n return addKeys(\n key,\n result,\n flatten(target[key], opts)\n )\n }\n }, {})\n\n Object.keys(target).forEach(function (key) {\n const split = key.split(delimiter).map(transformKey)\n let key1 = getkey(split.shift())\n let key2 = getkey(split[0])\n let recipient = result\n\n while (key2 !== undefined) {\n if (key1 === '__proto__') {\n return\n }\n\n const type = Object.prototype.toString.call(recipient[key1])\n const isobject = (\n type === '[object Object]' ||\n type === '[object Array]'\n )\n\n // do not write over falsey, non-undefined values if overwrite is false\n if (!overwrite && !isobject && typeof recipient[key1] !== 'undefined') {\n return\n }\n\n if ((overwrite && !isobject) || (!overwrite && recipient[key1] == null)) {\n recipient[key1] = (\n typeof key2 === 'number' &&\n !opts.object ? [] : {}\n )\n }\n\n recipient = recipient[key1]\n if (split.length > 0) {\n key1 = getkey(split.shift())\n key2 = getkey(split[0])\n }\n }\n\n // unflatten again for 'messy objects'\n recipient[key1] = unflatten(target[key], opts)\n })\n\n return result\n}\n",null,null,null,null,null,"import path from 'path';\n\nimport {ReadonlyConfig} from \"@typing/config\";\n\nexport const getRootPath = (to: string): string => {\n return path.resolve(process.cwd(), to);\n}\n\nexport const getConfigFile = (config: ReadonlyConfig): string => {\n return path.resolve(config.inputDir, config.configFile);\n}\n\nexport const getSharedPath = (config: ReadonlyConfig): string => {\n return path.resolve(config.inputDir, config.srcDir, config.sharedDir);\n}\n\nexport const getAppsPath = (config: ReadonlyConfig): string => {\n return path.resolve(config.inputDir, config.srcDir, config.appsDir, config.app);\n}","import path from \"path\";\nimport {Configuration} from \"webpack\";\nimport VirtualModulesPlugin from \"webpack-virtual-modules\";\n\nimport {getAppsPath} from \"@cli/resolvers/path\";\nimport {Plugin} from \"@typing/plugin\";\nimport {ManifestContentScript} from \"@typing/manifest\";\n\n\nexport default (): Plugin => {\n const contentScripts: ManifestContentScript[] = [];\n\n return {\n webpack: async ({config}): Promise<Configuration> => {\n\n //\n // console.log(findContentFiles(getAppsPath(config)));\n // console.log(findContentFiles(getSharedPath(config)));\n\n const p = path.resolve(getAppsPath(config), 'src/some.ts');\n\n return {\n entry: {\n some: p,\n },\n plugins: [\n new VirtualModulesPlugin({\n [p]: 'console.log(\"Hello, World!\")'\n })\n ]\n };\n },\n manifest: ({manifest}) => {\n manifest.pushContentScript(...contentScripts);\n }\n };\n};","import {\n ArrayLiteralExpression,\n createSourceFile,\n forEachChild,\n Identifier,\n isComputedPropertyName,\n isEnumDeclaration,\n isExportAssignment,\n isExportDeclaration,\n isIdentifier,\n isImportDeclaration,\n isNamedExports,\n isNamedImports,\n isPropertyAccessExpression,\n isPropertyAssignment,\n isShorthandPropertyAssignment,\n isVariableStatement,\n Node,\n NumericLiteral,\n ObjectLiteralExpression,\n PropertyAssignment,\n ScriptTarget,\n SourceFile,\n StringLiteral,\n SyntaxKind\n} from 'typescript';\nimport {readFileSync} from 'fs';\nimport path from \"path\";\n\n\nexport interface Variable {\n name: string;\n value: any;\n exported: boolean;\n}\n\nexport type VariableMap = Map<string, Variable>;\n\nexport type ImportMap = Map<string, string>;\n\nexport type EnumMap = Map<string, Map<string, string | number>>;\n\nexport default class EntryFile {\n private sourceFile?: SourceFile;\n\n private variables?: VariableMap;\n\n private imports?: ImportMap;\n\n private enums?: EnumMap;\n\n public static make<T extends EntryFile>(this: new (file: string) => T, file: string): T {\n return new this(file);\n }\n\n constructor(protected readonly file: string) {\n }\n\n public getSourceFile(): SourceFile {\n if (this.sourceFile) {\n return this.sourceFile;\n }\n\n const sourceCode = readFileSync(this.file, 'utf8');\n\n return this.sourceFile = createSourceFile(\n this.file,\n sourceCode,\n ScriptTarget.ESNext,\n true\n );\n }\n\n public getImports(): ImportMap {\n if (this.imports) {\n return this.imports;\n }\n\n this.imports = new Map();\n\n const parse = (node: Node) => {\n if (isImportDeclaration(node) && node.moduleSpecifier) {\n const importPath = (node.moduleSpecifier as StringLiteral).text;\n\n if (node.importClause && node.importClause.namedBindings && isNamedImports(node.importClause.namedBindings)) {\n node.importClause.namedBindings.elements.forEach(el => {\n this.imports?.set(el.name.text, path.resolve(path.dirname(this.file), importPath + '.ts'));\n });\n }\n }\n\n forEachChild(node, parse);\n }\n\n parse(this.getSourceFile());\n\n return this.imports;\n }\n\n public getEnums(): EnumMap {\n if (this.enums) {\n return this.enums;\n }\n\n this.enums = new Map();\n\n const parse = (node: Node) => {\n if (isEnumDeclaration(node)) {\n const enumName = node.name.text;\n const enumProperties: Map<string, string | number> = new Map();\n\n node.members.forEach(member => {\n const key = member.name.getText();\n const value = member.initializer ? member.initializer.getText().replace(/['\"]/g, '') : key;\n\n enumProperties.set(key, value);\n });\n\n this.enums?.set(enumName, enumProperties);\n }\n\n forEachChild(node, parse);\n }\n\n parse(this.getSourceFile());\n\n return this.enums;\n }\n\n public getVariables(): VariableMap {\n if (this.variables) {\n return this.variables;\n }\n\n this.variables = new Map();\n\n const parse = (node: Node) => {\n if (isVariableStatement(node)) {\n const isExported = node.modifiers?.some(modifier => modifier.kind === SyntaxKind.ExportKeyword);\n\n node.declarationList.declarations.forEach(declaration => {\n if (isIdentifier(declaration.name) && declaration.initializer) {\n const name = declaration.name.text;\n const value = this.parseNode(declaration.initializer);\n\n this.variables?.set(name, {\n name,\n value,\n exported: isExported || false\n });\n }\n });\n }\n\n if (isExportDeclaration(node) && node.exportClause && isNamedExports(node.exportClause)) {\n node.exportClause.elements.forEach(el => {\n const name = el.name.text;\n\n if (this.variables?.has(name)) {\n const variable = this.variables?.get(name) as Variable;\n\n this.variables?.set(name, {\n name,\n value: variable.value,\n exported: true\n });\n }\n });\n }\n\n if (isExportAssignment(node)) {\n const expr = node.expression;\n if (isIdentifier(expr) && this.variables?.has(expr.text)) {\n const variable = this.variables?.get(expr.text) as Variable;\n const name = \"default\";\n\n this.variables?.set(name, {\n name,\n value: variable.value,\n exported: true\n });\n }\n }\n\n forEachChild(node, parse);\n };\n\n parse(this.getSourceFile());\n\n return this.variables;\n }\n\n protected findPropertyAccessValue(property: Node): any {\n if (isPropertyAccessExpression(property)) {\n const objectName = property.expression.getText();\n const propertyName = property.name.getText();\n\n const varItem = this.getVariables().get(objectName);\n\n if (varItem) {\n return varItem.value;\n }\n\n const enumItem = this.getEnums().get(objectName);\n\n if (enumItem) {\n return enumItem.get(propertyName);\n }\n\n const importItem = this.getImports().get(objectName);\n\n if (importItem) {\n return EntryFile.make(importItem).findPropertyAccessValue(property);\n }\n\n return `${objectName}.${propertyName}`;\n }\n\n return undefined;\n }\n\n protected parseNode(node?: Node): any {\n if (!node) {\n return undefined;\n }\n\n switch (node.kind) {\n case SyntaxKind.StringLiteral:\n return (node as StringLiteral).text;\n case SyntaxKind.TrueKeyword:\n return true;\n case SyntaxKind.FalseKeyword:\n return false;\n case SyntaxKind.NullKeyword:\n return null;\n case SyntaxKind.NumericLiteral:\n return parseFloat((node as NumericLiteral).text);\n case SyntaxKind.Identifier:\n return this.variables?.get((node as Identifier).text)?.value ?? (node as Identifier).text;\n case SyntaxKind.ArrayLiteralExpression:\n return (node as ArrayLiteralExpression).elements.map(element =>\n this.parseNode(element)\n );\n case SyntaxKind.ObjectLiteralExpression:\n return (node as ObjectLiteralExpression).properties\n .filter(\n (property): property is PropertyAssignment =>\n isPropertyAssignment(property) || isShorthandPropertyAssignment(property)\n )\n .reduce((acc, property) => {\n if (isComputedPropertyName(property.name)) {\n return acc;\n }\n\n const key = (property.name as Identifier | StringLiteral).text;\n let value = this.parseNode(property.initializer);\n\n if (typeof value === 'string' && this.variables?.has(value)) {\n value = this.variables?.get(value)?.value;\n }\n\n acc[key] = value;\n\n return acc;\n }, {} as Record<string, any>);\n case SyntaxKind.PropertyAccessExpression: {\n return this.findPropertyAccessValue(node);\n }\n default:\n return undefined;\n }\n }\n}","import {\n forEachChild,\n isCallExpression,\n isExportAssignment,\n isIdentifier,\n isObjectLiteralExpression,\n Node\n} from 'typescript';\n\nimport SourceFile from \"./SourceFile\";\n\nexport default class<T extends Record<string, unknown>> extends SourceFile {\n protected definition?: string;\n\n protected properties: string[] = [];\n\n public setDefinition(definition: string): this {\n this.definition = definition;\n\n return this;\n }\n\n public setProperties(properties: string[]): this {\n this.properties = properties;\n\n return this;\n }\n\n public getOptions(): T {\n return {...this.getOptionsFromVariables(), ...this.getOptionsFromDefinition()};\n }\n\n protected getOptionsFromVariables(): T {\n return Array.from(this.getVariables().values())\n .filter(({name, exported}) => exported && this.properties.includes(name))\n .reduce((config, {name, value}) => ({...config, [name]: value}), {} as T);\n }\n\n protected getOptionsFromDefinition(): T {\n let options = {} as T;\n\n const parse = (node: Node) => {\n if (isExportAssignment(node)) {\n const expr = node.expression;\n\n if (isCallExpression(expr) && isIdentifier(expr.expression)) {\n const functionName = expr.expression.text;\n\n if (functionName === this.definition && expr.arguments.length > 0) {\n const arg = expr.arguments[0];\n\n if (isObjectLiteralExpression(arg)) {\n options = this.parseNode(arg);\n }\n }\n }\n }\n\n forEachChild(node, parse);\n }\n\n parse(this.getSourceFile());\n\n return options;\n }\n}","import OptionFile from \"./OptionFile\";\n\nimport {BackgroundEntrypointOptions} from \"@typing/background\";\nimport {BaseEntrypointOptions} from \"@typing/base\";\n\nconst commonProperties: Array<keyof BaseEntrypointOptions> = [\n 'includeApp',\n 'excludeApp',\n 'includeBrowser',\n 'excludeBrowser',\n];\n\nexport const getBackgroundOptions = (file: string): BackgroundEntrypointOptions => {\n return OptionFile.make(file)\n .setDefinition('defineBackground')\n .setProperties([...commonProperties, 'persistent'])\n .getOptions();\n}","import _ from \"lodash\";\n\nimport {PluginHandler, PluginHandlerKeys, PluginHandlerOptions, PluginHandlerResult} from \"@typing/plugin\";\nimport {ReadonlyConfig} from \"@typing/config\";\n\nexport const resolvePluginHandler = async <O extends object, T>(handler: PluginHandler<O, T> | undefined, options: O): Promise<T | undefined> => {\n if (_.isFunction(handler)) {\n const result = handler(options);\n\n if (result instanceof Promise) {\n return await result;\n }\n\n return result;\n }\n\n return handler;\n};\n\n\nexport const processPluginHandler = async function* <K extends PluginHandlerKeys>(config: ReadonlyConfig, key: K, options: PluginHandlerOptions<K>): AsyncGenerator<PluginHandlerResult<K>, void, void> {\n const {plugins = []} = config;\n\n for await (const plugin of plugins) {\n const handler = plugin[key] as PluginHandler<PluginHandlerOptions<K>> | undefined;\n\n const result = await resolvePluginHandler(handler, options);\n\n if (result !== undefined) {\n yield result;\n }\n }\n}","import {BaseEntrypointOptions} from \"@typing/base\";\nimport {ReadonlyConfig} from \"@typing/config\";\n\nexport const isValidEntrypointOptions = (options: BaseEntrypointOptions, config: ReadonlyConfig): boolean => {\n const {browser, app} = config;\n\n if (options.includeBrowser?.includes(browser) || options.includeApp?.includes(app)) {\n return true;\n }\n\n if (options.excludeBrowser?.includes(browser) || options.excludeApp?.includes(app)) {\n return false;\n }\n\n return true;\n}","import {Dirent, readdirSync, statSync, existsSync} from 'fs';\nimport path from 'path';\n\nconst escapeRegExp = (text: string): string =>\n text.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\nexport const findEntrypointFiles = (\n directory: string,\n entrypoint: string\n): string[] => {\n const files: string[] = [];\n\n const regex = new RegExp(\n `^(?:.*\\\\.)?${escapeRegExp(entrypoint)}\\\\.(ts|tsx|js)$`\n );\n\n const finder = (dir: string): void => {\n let entries: Dirent[];\n\n try {\n entries = readdirSync(dir, {withFileTypes: true});\n } catch (e) {\n console.log('Error reading entrypoint directory:', dir);\n\n return;\n }\n\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name);\n\n if (entry.isDirectory()) {\n if (entry.name === entrypoint || entry.name.endsWith(`.${entrypoint}`)) {\n const possibleIndexFiles = ['index.ts', 'index.tsx', 'index.js'];\n\n for (const indexFile of possibleIndexFiles) {\n const indexPath = path.join(fullPath, indexFile);\n\n try {\n const stat = statSync(indexPath);\n\n if (stat.isFile()) {\n files.push(indexPath);\n }\n } catch (e) {\n //console.log('Error reading entrypoint index file:', indexPath);\n }\n }\n }\n\n finder(fullPath);\n } else if (entry.isFile()) {\n if (regex.test(entry.name)) {\n files.push(fullPath);\n }\n }\n }\n };\n\n finder(directory);\n\n return files;\n};\n\nexport const findBackgroundFiles = (directory: string): string[] => {\n return findEntrypointFiles(directory, 'background');\n}\n\nexport const findContentFiles = (directory: string): string[] => {\n return findEntrypointFiles(directory, 'content');\n}","import path from \"path\";\nimport _ from \"lodash\";\n\nimport {getBackgroundOptions} from \"../parsers/entrypoint\";\n\nimport {getAppsPath, getSharedPath} from \"../resolvers/path\";\n\nimport {processPluginHandler} from \"../utils/plugin\";\nimport {isValidEntrypointOptions} from \"../utils/option\";\nimport {findBackgroundFiles} from \"../utils/entrypoint\";\n\nimport {Plugin} from \"@typing/plugin\";\nimport {BackgroundEntrypointMap} from \"@typing/background\";\n\n\nconst backgroundFilesToEntries = (files: string[]): BackgroundEntrypointMap => {\n const entries: BackgroundEntrypointMap = new Map;\n\n for (const file of files) {\n entries.set(file, getBackgroundOptions(file));\n }\n\n return entries;\n}\n\nconst findBackgroundEntries = (dir: string): BackgroundEntrypointMap => {\n return backgroundFilesToEntries(findBackgroundFiles(dir));\n}\n\nexport interface BackgroundOptions {\n name?: string;\n}\n\nexport default (options?: BackgroundOptions): Plugin => {\n const {name = 'background'} = options || {};\n\n let hasBackground: boolean = false;\n\n return {\n webpack: async ({config, webpack}) => {\n let entries: BackgroundEntrypointMap = new Map;\n\n const appBackgroundEntries = findBackgroundEntries(getAppsPath(config));\n\n if (appBackgroundEntries.size > 0) {\n entries = new Map([...entries, ...appBackgroundEntries]);\n\n if (config.debug) {\n console.info('App background added:', appBackgroundEntries);\n }\n }\n\n if (appBackgroundEntries.size > 0 && config.mergeBackground || appBackgroundEntries.size === 0) {\n const sharedBackgroundEntries = findBackgroundEntries(getSharedPath(config));\n\n if (sharedBackgroundEntries.size > 0) {\n entries = new Map([...entries, ...sharedBackgroundEntries]);\n\n if (config.debug) {\n console.info('Shared background added:', sharedBackgroundEntries);\n }\n }\n }\n\n const pluginBackgroundFiles = await Array.fromAsync(processPluginHandler(config, 'background', {\n config,\n entries\n }));\n\n console.log('pluginBackgroundFiles', pluginBackgroundFiles);\n\n if (pluginBackgroundFiles.length > 0) {\n const pluginBackgroundEntries = backgroundFilesToEntries(pluginBackgroundFiles);\n\n entries = new Map([...entries, ...pluginBackgroundEntries]);\n\n if (config.debug) {\n console.info('Plugin background added:', pluginBackgroundEntries);\n }\n }\n\n const files = Array.from(entries)\n .filter(([_, options]) => isValidEntrypointOptions(options, config))\n .map(([file]) => file);\n\n if (files.length === 0) {\n if (config.debug) {\n console.warn('Background entries not found');\n }\n\n return {};\n }\n\n hasBackground = true;\n\n if (config.debug) {\n console.info('Background entries:', entries);\n }\n\n return {\n entry: {\n [name]: files,\n },\n optimization: {\n splitChunks: {\n chunks(chunk) {\n const {chunks} = webpack.optimization?.splitChunks || {};\n\n if (_.isFunction(chunks) && !chunks(chunk)) {\n return false;\n }\n\n return chunk.name !== name;\n },\n }\n }\n };\n },\n manifest: ({manifest, config}) => {\n if (hasBackground) {\n manifest.resetBackground({\n entry: name,\n file: path.join(config.jsDir, name + '.js'),\n });\n }\n }\n };\n};","import {existsSync} from \"fs\";\nimport {loadConfig} from \"c12\";\n\nimport content from \"@cli/plugins/content\";\nimport background from \"@cli/plugins/background\";\n\nimport {getConfigFile} from \"@cli/resolvers/path\";\n\nimport {Browser, Config, Mode, OptionalConfig, ReadonlyConfig, UserConfig,} from \"@typing/config\";\nimport {Plugin} from \"@typing/plugin\";\n\nconst getUserConfig = async (config: ReadonlyConfig): Promise<UserConfig> => {\n const configFilePath = getConfigFile(config);\n\n if (existsSync(configFilePath)) {\n const {config: userConfig} = await loadConfig<UserConfig>({configFile: configFilePath});\n\n if (config.debug) {\n console.log('Loaded user config:', configFilePath);\n }\n\n return userConfig\n } else if (config.debug) {\n console.warn('Config file not found:', configFilePath);\n }\n\n return {};\n}\n\nexport default async (config: OptionalConfig): Promise<Config> => {\n let {\n debug = false,\n configFile = 'addonbone.config.ts',\n app = 'myapp',\n browser = Browser.Chrome,\n inputDir = '.',\n outputDir = 'dist',\n srcDir = 'src',\n sharedDir = 'shared',\n appsDir = 'apps',\n jsDir = 'js',\n cssDir = 'css',\n assetsDir = 'assets',\n htmlDir = '.',\n manifestVersion = [Browser.Firefox, Browser.Safari].includes(browser) ? 2 : 3,\n mode = Mode.Development,\n analyze = false,\n plugins = [],\n mergeBackground = false,\n mergeContentScripts = false,\n concatContentScripts = true,\n } = config;\n\n let resolvedConfig: Config = {\n debug,\n mode,\n app,\n browser,\n manifestVersion,\n inputDir,\n outputDir,\n srcDir,\n sharedDir,\n appsDir,\n jsDir,\n cssDir,\n assetsDir,\n htmlDir,\n plugins,\n analyze,\n configFile,\n mergeBackground,\n mergeContentScripts,\n concatContentScripts,\n };\n\n const {plugins: userPlugins = [], ...userConfig} = await getUserConfig(resolvedConfig);\n\n const corePlugins: Plugin[] = [content(), background()];\n\n return {\n ...resolvedConfig,\n ...userConfig,\n plugins: [\n ...plugins,\n ...userPlugins,\n ...corePlugins,\n ]\n };\n}","import {Configuration} from \"webpack\";\nimport {merge} from \"webpack-merge\";\nimport path from \"path\";\n\nimport TsconfigPathsPlugin from \"tsconfig-paths-webpack-plugin\";\nimport MiniCssExtractPlugin from \"mini-css-extract-plugin\";\n\nimport manifestFactory from \"@cli/builders/manifest\";\n\nimport {ReadonlyConfig} from \"@typing/config\";\n\nimport {getRootPath} from \"./path\";\nimport {processPluginHandler} from \"@cli/utils/plugin\";\nimport {ManifestBuilder} from \"@typing/manifest\";\n\nconst getConfigFromPlugins = async (webpack: Configuration, config: ReadonlyConfig): Promise<Configuration> => {\n let mergedConfig: Configuration = {};\n\n for await (const webpackFromPlugin of processPluginHandler(config, 'webpack', {webpack, config})) {\n mergedConfig = merge(mergedConfig, webpackFromPlugin);\n }\n\n return mergedConfig;\n}\n\nconst getConfigForManifest = async (webpack: Configuration, config: ReadonlyConfig, manifest: ManifestBuilder): Promise<Configuration> => {\n await Array.fromAsync(processPluginHandler(config, 'manifest', {manifest, config}));\n\n console.log(manifest.get());\n\n return webpack;\n}\n\nexport default async (config: ReadonlyConfig): Promise<Configuration> => {\n const manifest = manifestFactory(config.browser, config.manifestVersion);\n\n let webpack: Configuration = {\n mode: config.mode,\n cache: false,\n output: {\n path: getRootPath(config.outputDir),\n filename: path.join(config.jsDir, '[name].js'),\n assetModuleFilename: path.join(config.assetsDir, '[name]-[hash:4][ext]'),\n },\n resolve: {\n extensions: [\".ts\", \".tsx\", \".js\", \".scss\"],\n plugins: [new TsconfigPathsPlugin()],\n },\n module: {\n rules: [\n {\n test: /\\.tsx?$/,\n use: \"ts-loader\",\n exclude: /node_modules/,\n },\n {\n test: /\\.(scss|css)$/,\n use: [\n MiniCssExtractPlugin.loader,\n {\n loader: \"css-loader\",\n options: {\n modules: {\n localIdentName: \"[local]\"\n },\n }\n },\n {\n loader: \"sass-loader\",\n options: {\n implementation: import(\"sass\"),\n },\n },\n ],\n },\n {\n test: /\\.(png|apng|jpe?g|gif|webp|svg])$/i,\n type: \"asset/resource\",\n },\n ],\n }\n }\n\n webpack = merge(\n webpack,\n await getConfigFromPlugins(webpack, config),\n await getConfigForManifest(webpack, config, manifest),\n );\n\n\n return webpack;\n}","import {\n CoreManifest,\n Manifest,\n ManifestBackground,\n ManifestBuilder,\n ManifestContentScript,\n ManifestVersion\n} from \"@typing/manifest\";\n\nimport {Browser} from \"@typing/config\";\n\nexport default abstract class<T extends CoreManifest> implements ManifestBuilder<T> {\n protected name: string = \"__MSG_app_name__\";\n protected shortName: string = \"__MSG_app_short_name__\";\n protected description: string = \"__MSG_app_description__\";\n protected version: string = \"0.0.0\";\n protected background?: ManifestBackground;\n protected contentScripts: Map<string, ManifestContentScript> = new Map();\n\n public abstract getManifestVersion(): ManifestVersion;\n\n protected abstract buildBackground(): Partial<T> | undefined;\n\n protected abstract buildContentScripts(): Partial<T> | undefined;\n\n protected constructor(protected readonly browser: Browser = Browser.Chrome) {\n }\n\n public setName(name: string): this {\n this.name = name;\n\n return this;\n }\n\n public setShortName(shortName: string): this {\n this.shortName = shortName;\n\n return this;\n }\n\n public setDescription(description: string): this {\n this.description = description;\n\n return this;\n }\n\n public setVersion(version: string): this {\n this.version = version;\n\n return this;\n }\n\n public resetBackground(background: ManifestBackground): this {\n this.background = background;\n\n return this;\n }\n\n public pushContentScript(...content: ManifestContentScript[]): this {\n for (const script of content) {\n this.contentScripts.set(script.entry, script);\n }\n\n return this;\n }\n\n private marge<T extends CoreManifest>(manifest: T, ...sources: Array<Partial<T> | undefined>): T {\n sources = sources.filter((source) => source !== undefined);\n\n if (sources.length === 0) {\n return manifest;\n }\n\n return Object.assign({}, manifest, ...sources);\n }\n\n public build(): T {\n let manifest: Manifest = {\n name: this.name,\n short_name: this.shortName,\n description: this.description,\n version: this.version,\n manifest_version: this.getManifestVersion(),\n };\n\n manifest = this.marge(manifest, this.buildBackground(), this.buildContentScripts());\n\n return manifest as T;\n }\n\n public get(): T {\n return this.build();\n }\n}","import ManifestBase from \"./ManifestBase\";\n\nimport {ManifestVersion} from \"@typing/manifest\";\nimport {Browser} from \"@typing/config\";\n\ntype ManifestV2 = chrome.runtime.ManifestV2;\n\nexport default class extends ManifestBase<ManifestV2> {\n\n public constructor(browser: Browser) {\n super(browser);\n }\n\n public getManifestVersion(): ManifestVersion {\n return 2;\n }\n\n protected buildBackground(): Partial<ManifestV2> | undefined {\n if (this.background) {\n const {file, persistent} = this.background;\n\n return {background: {scripts: [file], persistent}};\n }\n }\n\n protected buildContentScripts(): Partial<ManifestV2> | undefined {\n if (this.contentScripts.size > 0) {\n const contentScripts: ManifestV2['content_scripts'] = Array.from(this.contentScripts, ([_, contentScript]) => ({\n matches: contentScript.matches,\n js: [contentScript.file],\n exclude_matches: contentScript.excludeMatches,\n all_frames: contentScript.allFrames,\n run_at: contentScript.runAt,\n exclude_globs: contentScript.excludeGlobs,\n include_globs: contentScript.includeGlobs,\n }));\n\n return {content_scripts: contentScripts};\n }\n }\n}","import ManifestBase from \"./ManifestBase\";\n\nimport {ManifestVersion} from \"@typing/manifest\";\nimport {Browser} from \"@typing/config\";\n\ntype ManifestV3 = chrome.runtime.ManifestV3;\n\nexport default class extends ManifestBase<ManifestV3> {\n public constructor(browser: Browser) {\n super(browser);\n }\n\n public getManifestVersion(): ManifestVersion {\n return 3;\n }\n\n protected buildBackground(): Partial<ManifestV3> | undefined {\n if (this.background) {\n return {background: {service_worker: this.background.file}};\n }\n }\n\n protected buildContentScripts(): Partial<ManifestV3> | undefined {\n if (this.contentScripts.size > 0) {\n const contentScripts: ManifestV3['content_scripts'] = Array.from(this.contentScripts, ([_, contentScript]) => ({\n matches: contentScript.matches,\n exclude_matches: contentScript.excludeMatches,\n js: [contentScript.file],\n all_frames: contentScript.allFrames,\n run_at: contentScript.runAt,\n exclude_globs: contentScript.excludeGlobs,\n include_globs: contentScript.includeGlobs,\n world: contentScript.world,\n }));\n\n return {content_scripts: contentScripts};\n }\n }\n}","import {ManifestBuilder, ManifestMapping, ManifestVersion} from \"@typing/manifest\";\nimport ManifestV2 from './ManifestV2';\nimport ManifestV3 from './ManifestV3';\n\nimport {Browser} from \"@typing/config\";\n\nexport default <T extends ManifestVersion>(browser: Browser, manifestVersion: T): ManifestBuilder<ManifestMapping[T]> => {\n if (manifestVersion === 2) {\n return new ManifestV2(browser);\n }\n\n return new ManifestV3(browser);\n}","import webpack from 'webpack';\n\nimport {OptionalConfig} from \"@typing/config\";\nimport configResolver from \"../resolvers/config\";\nimport webpackResolver from \"../resolvers/webpack\";\n\nexport default async (config: OptionalConfig): Promise<void> => {\n const resolverConfig = await configResolver(config);\n const webpackConfig = await webpackResolver(resolverConfig);\n\n const compiler = webpack(webpackConfig);\n\n compiler.run((err, stats) => {\n if (err) {\n console.error('Webpack compilation error');\n process.exit(1);\n }\n\n console.log(stats?.toString({ colors: true }));\n });\n}","{\n \"name\": \"adnbn\",\n \"type\": \"module\",\n \"version\": \"0.0.12\",\n \"description\": \"Cross browser web extension framework with shared code base\",\n \"homepage\": \"https://github.com/addonbone/addonbone\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/addonbone/addonbone.git\"\n },\n \"keywords\": [\n \"addon\",\n \"extension\",\n \"chrome\",\n \"firefox\",\n \"edge\",\n \"opera\",\n \"safari\"\n ],\n \"author\": \"AddonBone\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/addonbone/addonbone/issues\"\n },\n \"exports\": {\n \"./core\": {\n \"types\": \"./dist/core.d.ts\",\n \"import\": \"./dist/core.js\",\n \"require\": \"./dist/core.cjs\"\n }\n },\n \"main\": \"./dist/core.js\",\n \"module\": \"./dist/core.js\",\n \"types\": \"./dist/core.d.ts\",\n \"files\": [\n \"bin\",\n \"dist\"\n ],\n \"bin\": {\n \"adnbn\": \"bin/adnbn.js\"\n },\n \"scripts\": {\n \"build\": \"tsup\"\n },\n \"devDependencies\": {\n \"@aklinker1/buildc\": \"^1.1.4\",\n \"@types/generate-json-webpack-plugin\": \"^0.3.7\",\n \"@types/lodash\": \"^4.17.14\",\n \"@types/node\": \"^22.13.1\",\n \"esbuild\": \"^0.24.2\",\n \"esbuild-node-externals\": \"^1.16.0\",\n \"esbuild-plugin-alias\": \"^0.2.1\",\n \"esbuild-plugin-d.ts\": \"^1.3.1\",\n \"esbuild-plugin-node-externals\": \"^1.0.1\",\n \"esbuild-ts-paths\": \"^1.1.3\",\n \"fs-extra\": \"^11.3.0\",\n \"rollup-plugin-dts\": \"^6.1.1\",\n \"ts-node\": \"^10.9.2\",\n \"tsup\": \"^8.3.6\",\n \"tsx\": \"^4.19.2\",\n \"vite\": \"^6.1.0\",\n \"vite-tsconfig-paths\": \"^5.1.4\"\n },\n \"dependencies\": {\n \"@esbuild-plugins/tsconfig-paths\": \"^0.1.2\",\n \"@types/chrome\": \"^0.0.299\",\n \"c12\": \"^2.0.1\",\n \"cac\": \"^6.7.14\",\n \"css-loader\": \"^7.1.2\",\n \"file-loader\": \"^6.2.0\",\n \"generate-json-webpack-plugin\": \"^2.0.0\",\n \"lodash\": \"^4.17.21\",\n \"mini-css-extract-plugin\": \"^2.9.2\",\n \"sass\": \"^1.83.4\",\n \"sass-loader\": \"^16.0.4\",\n \"ts-loader\": \"^9.5.2\",\n \"tsconfig-paths-webpack-plugin\": \"^4.2.0\",\n \"typescript\": \"^5.7.3\",\n \"utility-types\": \"^3.11.0\",\n \"webpack\": \"^5.97.1\",\n \"webpack-cli\": \"^6.0.1\",\n \"webpack-virtual-modules\": \"^0.6.2\"\n }\n}\n","import cac from 'cac';\n\nimport {Browser} from \"@typing/config\";\nimport app from \"./builders/app\";\n\nimport pkg from '../../package.json';\n\nconst cli = cac('adnbn');\n\ncli.option('--debug', 'Enable debug mode');\n\ncli\n .command('init', 'Initialize a new project')\n .action(() => {\n console.log('init is good in cli');\n });\n\ncli\n .command('[root]', 'Start dev server')\n .option('-m, --mode <mode>', 'Set env mode', {default: 'development',})\n .option('-c, --config <config>', 'Path to config file')\n .option('-a, --app <app>', 'Specify an app to run', {default: 'myapp'})\n .option('-b, --browser <browser>', 'Specify a browser')\n .option('-p, --port <port>', 'Specify a port for the dev server')\n .option('--mv2', 'Target manifest v2')\n .action((root, options) => {\n console.log(options)\n });\n\ncli\n .command('build [root]', 'Build for production')\n .option('-m, --mode <mode>', 'Set env mode', {default: 'production'})\n .option('-c, --config <config>', 'Path to config file')\n .option('-a, --app <app>', 'Specify an app to run', {default: 'myapp'})\n .option('-b, --browser <browser>', 'Specify a browser', {default: Browser.Chrome})\n .option('--mv2', 'Target manifest v2')\n .option('--analyze', 'Visualize extension bundle')\n .action(async (root, options) => {\n await app({\n mode: options.mode,\n debug: options.debug,\n app: options.app,\n browser: options.browser,\n manifestVersion: options.mv2 ? 2 : 3,\n inputDir: root,\n configFile: options.config,\n });\n });\n\ncli.version(pkg.version);\ncli.help();\ncli.parse();"]}
@@ -14,5 +14,5 @@ var defineContentScript = (options) => {
14
14
  exports.defineBackground = defineBackground;
15
15
  exports.defineConfig = defineConfig;
16
16
  exports.defineContentScript = defineContentScript;
17
- //# sourceMappingURL=index.cjs.map
18
- //# sourceMappingURL=index.cjs.map
17
+ //# sourceMappingURL=core.cjs.map
18
+ //# sourceMappingURL=core.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/define.ts"],"names":[],"mappings":";;;AAIa,IAAA,YAAA,GAAe,CAAC,MAA+C,KAAA;AACxE,EAAO,OAAA,MAAA;AACX;AAEa,IAAA,gBAAA,GAAmB,CAAC,OAAwD,KAAA;AACrF,EAAO,OAAA,OAAA;AACX;AAEa,IAAA,mBAAA,GAAsB,CAAC,OAA8D,KAAA;AAC9F,EAAO,OAAA,OAAA;AACX","file":"core.cjs","sourcesContent":["import {ConfigDefinition} from \"@typing/config\";\nimport {BackgroundDefinition} from \"@typing/background\";\nimport {ContentScriptDefinition} from \"@typing/content\";\n\nexport const defineConfig = (config: ConfigDefinition): ConfigDefinition => {\n return config;\n}\n\nexport const defineBackground = (options: BackgroundDefinition): BackgroundDefinition => {\n return options;\n}\n\nexport const defineContentScript = (options: ContentScriptDefinition): ContentScriptDefinition => {\n return options;\n}"]}
@@ -10,5 +10,5 @@ var defineContentScript = (options) => {
10
10
  };
11
11
 
12
12
  export { defineBackground, defineConfig, defineContentScript };
13
- //# sourceMappingURL=index.js.map
14
- //# sourceMappingURL=index.js.map
13
+ //# sourceMappingURL=core.js.map
14
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/define.ts"],"names":[],"mappings":";AAIa,IAAA,YAAA,GAAe,CAAC,MAA+C,KAAA;AACxE,EAAO,OAAA,MAAA;AACX;AAEa,IAAA,gBAAA,GAAmB,CAAC,OAAwD,KAAA;AACrF,EAAO,OAAA,OAAA;AACX;AAEa,IAAA,mBAAA,GAAsB,CAAC,OAA8D,KAAA;AAC9F,EAAO,OAAA,OAAA;AACX","file":"core.js","sourcesContent":["import {ConfigDefinition} from \"@typing/config\";\nimport {BackgroundDefinition} from \"@typing/background\";\nimport {ContentScriptDefinition} from \"@typing/content\";\n\nexport const defineConfig = (config: ConfigDefinition): ConfigDefinition => {\n return config;\n}\n\nexport const defineBackground = (options: BackgroundDefinition): BackgroundDefinition => {\n return options;\n}\n\nexport const defineContentScript = (options: ContentScriptDefinition): ContentScriptDefinition => {\n return options;\n}"]}