OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library js.transformer.library_transformer; | 5 library js.transformer.library_transformer; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 | 8 |
9 import 'package:analyzer/analyzer.dart' show Directive, PartOfDirective, | 9 import 'package:analyzer/analyzer.dart' show Directive, PartOfDirective, |
10 parseCompilationUnit, parseDirectives; | 10 parseCompilationUnit, parseDirectives; |
11 import 'package:barback/barback.dart' show Asset, AssetId, Transform, | 11 import 'package:barback/barback.dart' show Asset, AssetId, Transform, |
12 Transformer; | 12 Transformer; |
13 import 'package:code_transformers/resolver.dart' show Resolver, Resolvers, | 13 import 'package:code_transformers/resolver.dart' show Resolver, Resolvers, |
14 ResolverTransformer; | 14 ResolverTransformer; |
| 15 import 'package:js/src/transformer/dart_initializer_generator.dart'; |
15 import 'package:js/src/transformer/js_initializer_generator.dart'; | 16 import 'package:js/src/transformer/js_initializer_generator.dart'; |
16 import 'package:logging/logging.dart' show Logger; | 17 import 'package:logging/logging.dart' show Logger; |
17 import 'package:path/path.dart' as path; | 18 import 'package:path/path.dart' as path; |
18 | 19 |
19 import 'js_proxy_generator.dart'; | 20 import 'js_proxy_generator.dart'; |
20 import 'scanning_visitor.dart'; | 21 import 'scanning_visitor.dart'; |
21 import 'utils.dart'; | 22 import 'utils.dart'; |
22 | 23 |
23 final _logger = new Logger('js.transformer.library_transformer'); | 24 final _logger = new Logger('js.transformer.library_transformer'); |
24 | 25 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 var newSource = proxyGenerator.generate(); | 69 var newSource = proxyGenerator.generate(); |
69 for (var assetId in newSource.keys) { | 70 for (var assetId in newSource.keys) { |
70 var source = newSource[assetId]; | 71 var source = newSource[assetId]; |
71 var asset = new Asset.fromString(assetId, source); | 72 var asset = new Asset.fromString(assetId, source); |
72 transform.addOutput(asset); | 73 transform.addOutput(asset); |
73 } | 74 } |
74 | 75 |
75 var importPath = path.joinAll(path.split(input.id.path).sublist(1)); | 76 var importPath = path.joinAll(path.split(input.id.path).sublist(1)); |
76 transform.logger.info("import path: $importPath"); | 77 transform.logger.info("import path: $importPath"); |
77 | 78 |
78 var initializerGenerator = new JsInitializerGenerator( | 79 var dartInitializerGenerator = new DartInitializerGenerator( |
79 library.name, | 80 library.name, |
80 importPath, | 81 importPath, |
81 scanningVisitor.jsElements); | 82 scanningVisitor.jsElements); |
82 var initializerId = input.id.addExtension(INITIALIZER_SUFFIX); | 83 var dartInitializerId = input.id.addExtension(DART_INITIALIZER_SUFFIX); |
83 | 84 |
84 String initializerSource = initializerGenerator.generate(); | 85 String dartInitializerSource = dartInitializerGenerator.generate(); |
85 var initializerAsset = | 86 var dartInitializerAsset = |
86 new Asset.fromString(initializerId, initializerSource); | 87 new Asset.fromString(dartInitializerId, dartInitializerSource); |
87 transform.addOutput(initializerAsset); | 88 transform.addOutput(dartInitializerAsset); |
| 89 |
| 90 var jsInitializerGenerator = new JsInitializerGenerator( |
| 91 library.name, |
| 92 importPath, |
| 93 scanningVisitor.jsElements); |
| 94 var jsInitializerId = input.id.addExtension(JS_INITIALIZER_SUFFIX); |
| 95 |
| 96 String jsInitializerSource = jsInitializerGenerator.generate(); |
| 97 var jsInitializerAsset = |
| 98 new Asset.fromString(jsInitializerId, jsInitializerSource); |
| 99 transform.addOutput(jsInitializerAsset); |
| 100 |
88 } | 101 } |
89 } | 102 } |
OLD | NEW |