findPackageClassName.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = getPackageClassName;
  6. exports.matchClassName = matchClassName;
  7. function _fs() {
  8. const data = _interopRequireDefault(require("fs"));
  9. _fs = function () {
  10. return data;
  11. };
  12. return data;
  13. }
  14. function _glob() {
  15. const data = _interopRequireDefault(require("glob"));
  16. _glob = function () {
  17. return data;
  18. };
  19. return data;
  20. }
  21. function _path() {
  22. const data = _interopRequireDefault(require("path"));
  23. _path = function () {
  24. return data;
  25. };
  26. return data;
  27. }
  28. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  29. /**
  30. * Copyright (c) Facebook, Inc. and its affiliates.
  31. *
  32. * This source code is licensed under the MIT license found in the
  33. * LICENSE file in the root directory of this source tree.
  34. *
  35. */
  36. function getPackageClassName(folder) {
  37. const files = _glob().default.sync('**/+(*.java|*.kt)', {
  38. cwd: folder
  39. });
  40. const packages = files.map(filePath => _fs().default.readFileSync(_path().default.join(folder, filePath), 'utf8')).map(matchClassName).filter(match => match); // @ts-ignore
  41. return packages.length ? packages[0][1] : null;
  42. }
  43. function matchClassName(file) {
  44. return file.match(/class\s+(\w+[^(\s]*)[\s\w():]*(\s+implements\s+|:)[\s\w():,]*[^{]*ReactPackage/);
  45. }
  46. //# sourceMappingURL=findPackageClassName.js.map